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