サブシステムの作成
モデルサイズが大きくなり,複雑さが増しても,複数のブロックをサブシステムとしてグループ化することでモデルを読みやすくすることができます。サブシステムは,1の子系统ブロックにグル,プ化する一連のブロックです。
サブシステムを使用すると,次のことができます。
階層的なブロック線図を作成し,サブシステムを構成するブロックを子系统ブロックの層とは別の層に配置する。
機能的に関連したブロックを1に集約する。
モデルウィンドウに表示されるブロック数の削減に利用する。
入力と出力を使用して▪▪ンタ▪▪フェ▪▪スを作成する。
サブシステムのコピ,を作成すると,そのコピ,は元のサブシステムには依存しません。1つのモデル全体で,またはモデル間でサブシステムのコンテンツを再利用するには,参照サブシステム,参照モデル,またはカスタムライブラリのブロックにリンクされているサブシステムを検討してください。詳細にいては,モデルコンポネントのタプの選択を参照してください。
サブシステムのタ@ @プ
サブシステムはバ,チャルまたは非バ,チャルのど,らでも構いません。“バ,チャルサブシステム”はモデルにグラフィカルな階層を提供します。“非バ,チャルサブシステム”はグラフィカルな階層を提供し,モデル内のユニットとして実行されます。
ヒント
コントローラーおよびその他のスタンドアロンコンポーネントに対して,非バーチャルサブシステムまたは参照モデルを使用して,関連するブロックを囲むハード境界を定義します。ハード境界を事前に定義することで,コンポーネント用のコードを生成するときに,コストのかかるリファクタリングを行わずに済みます。
金宝app®は非バ,チャルサブシステムを次のような種類に分類します。
サブシステムのタ@ @プ | 説明 |
---|---|
原子子系统 | 単一ユニットとして実行されるサブシステム。 |
启用子系统 | 外部入力によって実行が▪▪ネ▪▪ブルになるサブシステム。 |
触发子系统 | 外部入力により実行がトリガ,されるサブシステム。 |
函数调用子系统 | 外部関数呼び出し入力により実行が制御されるサブシステム。 |
启用和触发子系统 | 実行が外部入力によって有効化され,トリガ,されるサブシステム。 |
消息触发子系统および消息轮询子系统 | メッセ,ジ入力により実行がトリガ,されるサブシステム。 |
复位子系统 | 外部トリガ,でブロックの状態がリセットされるサブシステム。 |
If动作子系统 | 如果ブロックで実行が有効化されるサブシステム。 |
开关案例动作子系统 | 开关情况ブロックで実行が制御されるサブシステム。 |
While迭代器子系统 | シミュレションタムステップ中に論理条件がtrueの間,実行を繰り返すサブシステム。 |
对于迭代器子系统 | シミュレションタムステップ中に指定された反復回数だけ実行を繰り返すサブシステム。 |
每个子系统 | 入力信号の各要素またはサブ配列で実行を繰り返し,結果を連結するサブシステム。 |
サブシステムの作成
以下の方法でサブシステムを作成できます。
金宝appSimulinkエディタ,で,ダブルクリックし,サブシステムタ。その後,対応するブロックをメニュ,から選択する。
金宝app仿真软件エディターで,作成するサブシステムの外枠に選択ボックスをドラッグしてから,サブシステムタイプを選択する。
子系统ブロックをラ▪▪ブラリブラウザ▪▪からドラッグする。
モデルから子系统ブロックをコピ,して貼り付ける。
選択ボックスからサブシステムを作成するときに,その選択は空であることも,モデルの1つの領域に複数のブロックが含まれていることもあります。
操作バから,作成するサブシステムのタプを選択します。
入力端子および出力端子に対応するブロックが選択に含まれている場合,新しいサブシステムにはそれらのブロックのコピーが含まれます。新しいサブシステムには,制御端子に対応するブロックのコピ,が含まれません。
サブシステムのタ@ @プは作成後に変更できます。
サブシステムを1のユニットとして実行するようにするには,子系统ブロックをクリックします。[子系统ブロック]タブで(原子子系统)を選択します。
サブシステムを条件付きで実行するようにするには,制御端子に対応するブロックを追加します。
サブシステムを無条件で実行するようにするには,制御端子に対応するブロックを削除します。
メモ
サブシステムの使用が不要になった場合は,サブシステムをその内容で置き換えることができます。詳細にいては,サブシステムの内容の展開を参照してください。
サブシステムへの端子の追加
子系统ブロック上の端子はサブシステム内のブロックに対応します。
たとえば,この子系统ブロックには2の入力端子と1の出力端子があります。
サブシステムには2の轮廓尺寸ブロック三机一体
およびIn2
と1の外港ブロック着干活
が含まれています。これらは,子系统ブロックの端子に対応します。
子系统ブロックに端子を自動で追加するには,以下を行います。
子系统ブロックの端をクリックしてから,作成する端子のタ。
線を子系统ブロックの端までドラッグします。
対応する端子のブロックがサブシステム内に追加されます。
ヒント
自動端子作成の後は,すぐに編集できるように子系统ブロックの端子ラベルが有効になります。サブシステムの端子ラベルの編集を参照してください。
端子を手動で追加するには,子系统ブロックをダブルクリックしてサブシステムを開き,対応するブロックをサブシステムに追加します。
端子のタ@ @プ | 対応するブロック |
---|---|
信号端子、入力 | 轮廓尺寸ブロック |
信号端子、出力 | 外港ブロック |
バス端子,入力 | 总线元件ブロック |
バス端子,出力 | 输出总线元件ブロック |
制御端子、有効 | 启用ブロック |
制御端子,トリガ | 触发ブロック |
制御端子,関数呼び出し | [トリガタプ]が[関数呼び出し] に設定された触发ブロック |
制御端子,リセット | 重置ブロック |
制御端子,アクション | 行动的港口ブロック |
接続端子 | 连接端口(Simscape)ブロック |
子系统ブロックでの端子の場所を変更するには,子系统ブロックの任意の側にある新しい場所に端子をドラッグします。
既定では,金宝appSimulinkは子系统ブロックの端子にラベルを付けます。金宝appSimulinkがサブシステムの端子にラベルを付ける方法を指定するには,以下を行います。
子系统ブロックを選択します。
金宝appSimulinkルストリップの[書式設定]タブで,[端子ラベル]メニュからラベル付けオプションを1選択します。詳細にいては,端子ラベルを表示を参照してくださ。
サブシステムの端子ラベルの編集
以下のタ@ @プのサブシステムブロックでは端子ラベルを直接編集できます。
通常のサブシステム
マスクをもサブシステム
バリアントサブシステム
チャ,トサブシステム
現在のモデルのサブシステムブロックで端子ラベルを編集するには,次のようにします。
端子ラベルにカ,ソルを合わせます。対話型の“端子ラベルキュ”(端子ラベルを囲む青色のボックス)が表示されます。キュ,をクリックします。
あるいは,端子を選択してF2キ,を押します。キュ,が編集モ,ドになります。
自動端子作成を使用して子系统ブロックに新しい端子を作成した場合も,すぐに編集できるように端子ラベルキュ,が有効になります。
端子ラベルキューの上に,編集中の端子ラベルの情報(端子ブロック名,信号名,バス端子,または接続端子)を示す“端子セレクタ,キュ,”が表示されます。信号端子の場合,端子ブロック名と端子信号名の両方を端子ラベルから編集できます。それぞれの値に切り替えるには,セレクターキューで対応するアイコンをクリックするか,キーボードショートカットCtrl + 1,2を使用します。
端子ラベルキュ,で値を入力し,输入キ,またはEscキ,を押すか,クリックします。
端子ラベルが編集されると,金宝app仿真软件では,サブシステム内の関連する端子や信号の名前が自動的に更新されます。
ヒント
サブシステムブロックで端子ラベルを連続して編集するには,次のようにします。
ブロックの端子を選択します。
端子ラベルを編集し,输入キ,を押します。このアクションにより,キ,ボ,ドによる端子の選択が有効になります。
上矢印キ,または下矢印キ,を使用して隣接する端子を選択し,F2キ,を押してすぐに編集できます。
次の表に,サブシステムブロックで定義される端子ラベルのタ。
端子ラベルのタ@ @プ アクション なし 編集はサポ,トされません。 端子ア@ @コン 端子の[ア电子邮箱コン表示]パラメ,タ,に応じてサブシステムの要素の名前を更新します。
たとえば,端子の[ア电子邮箱コン表示]パラメ,タ,の値が
[信号名]
である場合,端子ブロックのア。メモ
このタイプの端子ラベルについて,編集後に端子ラベルに表示される情報は,セレクターキューを使用してラベルに対して最終的に実行された編集によって異なります。
最初の時点で端子ラベルに端子ブロック名が表示されていて,最終的に信号名に対する編集が行われた場合,基になる端子ブロックの[ア电子邮箱コン表示]パラメ,タ,が自動的に
[信号名]
に更新されます。そのため,編集後の端子ラベルには既定では信号名が表示されます。最初の時点で端子ラベルに端子信号名が表示されていて,最終的に端子ブロック名に対する編集が行われた場合,基になる端子ブロックの[ア电子邮箱コン表示]パラメ,タ,が自動的に
[端子番号]
に更新されます。そのため,編集後の端子ラベルには既定ではブロック名が表示されます。
端子ブロック名 サブシステム内の端子のブロック名を更新します。このタイプの端子ラベルについては,端子セレクターキューを使用して端子ブロック名のみを編集できます。 信号名 端子にリンクされている信号の名前を更新します。
メモ
金宝appSimulinkでは,图表ブロックに対しては端子セレクタ,キュ,は表示されません。
マスクア@ @コンがある子系统ブロックの端子ラベルの編集はサポ,トされていません。
端子ラベルからの端子番号の編集はサポ,トされていません。ただし,端子ブロック名および信号名は端子ラベルキュ,を使用して編集できます。
端子ラベルからの伝播信号の名前の編集はサポ,トされていません。ただし,端子ブロック名および内部信号名は端子ラベルキュ,を使用して編集できます。キュ,をクリックした時点では,内部信号に名前がないため,端子信号名のフィ,ルドは空になります。
次のすべての条件に当てはまる場合,サブシステムの端子ラベルに伝播信号の名前が表示されます。
基になる端子ブロックの[ア电子邮箱コン表示]パラメ,タ,の値が
[信号名]
である。サブシステム内の内部信号が接続されているが名前がない。
伝播信号に名前がある。
サブシステムの設定
他のすべてのブロックと同じ方法で子系统ブロックの名前の変更やブロックの変更を行うことができます。たとえば,次のようなことができます。
ブロックマスクを適用してサブシステムのコンテンツを非表示にし,独自のアイコンとパラメーターダイアログボックスをもつ原子ブロックとして表示されるようにします。詳細にいては,マスクの基礎を参照してください。
ブロックのコールバックを使用して,エラーの処理,サブシステム内のブロックまたは線の削除,サブシステムを閉じるなど,サブシステムのモデリングアクションに応じてアクションを実行します。コルバックなどのブロックプロパティの詳細にいては,ブロックプロパティの指定を参照してください。
サブシステムのアクセス制限
子系统ブロックの[読み取り/書き込みアクセス許可]パラメ,タ,によって,サブシステムに許可されているアクセスのレベルが制御されます。
メモ
読み取りまたは書き込みアクセスを制限しても,アクセス制限の変更を防ぐことはできません。独自情報を非表示にするには,保護モデルの使用を検討してください。詳細にいては,保護モデルの機能の確認を参照してください。
サブシステムがカスタムラaapl . exeブラリに格納されている場合,親ラaapl . exeブラリブロックで[読み取り/書き込みアクセス許可]パラメ、タ、を使用して、ブロックのリンクされた、ンスタンスのアクセスを制御することができます。ライブラリリンクがそのまま保持されている限り,モデル内での使用を引き続き許可しながら,アクセス制限によってユーザーによるサブシステムコンテンツの表示または変更を防ぐことができます。詳細にいては,リンク付きブロックを参照してください。
参考
金宝appSimulink.BlockDiagram.copyContentsToSubsystem