モデル コンポーネントの作成
システムの要件を集めるときに、モデル コンポーネントを特定します。完全な指定とまではいかなくても、コンポーネントのインターフェイスが属する場所の見当がつく可能性があります。モデルを柔軟なインターフェイスを使用してモデル コンポーネントに整理するには、サブシステムを作成します。
デジタル コントローラーなど一部のコンポーネントは、モデル内で単一ユニットとして実行されます。このような既知の境界をもつスタンドアロン コンポーネントについて、アトミック サブシステムを作成します。アトミック コンポーネントを事前に定義しておくと、スタンドアロン コードを生成するときに、コストの高いリファクタリングを回避できます。サブシステムをアトミックにするには、Subsystem ブロックを選択します。Simulink® ツールストリップの [Subsystem ブロック] タブで [アトミックにする] を選択します。
BasicModelingSubsystems という名前のモデルには、4 つの一般的なモデル コンポーネントが含まれています。
プラント — システムの数学モデル
コントローラー — プラントの動作を制御するアルゴリズム
オペレーター — コントローラーに送信されるコマンドを定義するロジック
環境 — プラントに影響する外乱
mdl = "BasicModelingSubsystems";
open_system(mdl)
Controller という名前の Subsystem ブロックは境界線が太く、対応するサブシステムがアトミック サブシステムであることを示しています。
各 Subsystem ブロックの端子は、サブシステム内の入力ブロックと出力ブロックに対応します。たとえば、Plant という名前の Subsystem ブロックにある control という名前の端子は、サブシステム内の control というラベルの In Bus Element ブロックに対応しています。

この例では、プラントはマス-バネ-ダンパー系を表します。
コントローラーは、プラントを目標位置に移動させるのに必要な力を計算します。

オペレーターは、質量の目標位置を決定し、関連する手続き論理を Stateflow® チャートを使用して実装します。

環境は、プラントに影響する外乱力を生成します。
![]()
モデル コンポーネントの連携によって質量の位置が決まります。
シミュレーション中、オペレーターは、2 秒間待機してから質量を 2 メートル上に移動させるようにコントローラーに伝えます。質量が目標位置をオーバーシュートすると、オペレーターは、元の位置の 1 メートル上に質量を配置するようにコントローラーに伝えます。5 秒後、環境外乱によって物理システムに定常力が適用されます。また、コントローラーが反応して目標位置で質量を安定化させます。
sim(mdl);
