メインコンテンツ

モデル コンポーネントの作成

システムの要件を集めるときに、モデル コンポーネントを特定します。完全な指定とまではいかなくても、コンポーネントのインターフェイスが属する場所の見当がつく可能性があります。モデルを柔軟なインターフェイスを使用してモデル コンポーネントに整理するには、サブシステムを作成します。

デジタル コントローラーなど一部のコンポーネントは、モデル内で単一ユニットとして実行されます。このような既知の境界をもつスタンドアロン コンポーネントについて、アトミック サブシステムを作成します。アトミック コンポーネントを事前に定義しておくと、スタンドアロン コードを生成するときに、コストの高いリファクタリングを回避できます。サブシステムをアトミックにするには、Subsystem ブロックを選択します。Simulink® ツールストリップの [Subsystem ブロック] タブで [アトミックにする] を選択します。

BasicModelingSubsystems という名前のモデルには、4 つの一般的なモデル コンポーネントが含まれています。

  • プラント — システムの数学モデル

  • コントローラー — プラントの動作を制御するアルゴリズム

  • オペレーター — コントローラーに送信されるコマンドを定義するロジック

  • 環境 — プラントに影響する外乱

mdl = "BasicModelingSubsystems";
open_system(mdl)

Model with three virtual subsystems named Plant, Operator, and Environment and one atomic subsystem named Controller

Controller という名前の Subsystem ブロックは境界線が太く、対応するサブシステムがアトミック サブシステムであることを示しています。

各 Subsystem ブロックの端子は、サブシステム内の入力ブロックと出力ブロックに対応します。たとえば、Plant という名前の Subsystem ブロックにある control という名前の端子は、サブシステム内の control というラベルの In Bus Element ブロックに対応しています。

Mechanical system with two input ports and one output port

この例では、プラントはマス-バネ-ダンパー系を表します。

コントローラーは、プラントを目標位置に移動させるのに必要な力を計算します。

Controller subsystem with a PID Controller block

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

Stateflow chart for operator logic

環境は、プラントに影響する外乱力を生成します。

Environment subsystem with disturbance represented by a Step block

モデル コンポーネントの連携によって質量の位置が決まります。

シミュレーション中、オペレーターは、2 秒間待機してから質量を 2 メートル上に移動させるようにコントローラーに伝えます。質量が目標位置をオーバーシュートすると、オペレーターは、元の位置の 1 メートル上に質量を配置するようにコントローラーに伝えます。5 秒後、環境外乱によって物理システムに定常力が適用されます。また、コントローラーが反応して目標位置で質量を安定化させます。

sim(mdl);

参考

トピック