Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

内部状態表現をもつブロックの処理

操作点オブジェクトでの内部状態をもつブロックの除外

線形化と制御設計に使用する操作点オブジェクトには、次のような、内部状態表現をもつ Simulink® ブロックを含めることができません。

たとえば、次の Simulink モデルについて定常状態の操作点を計算する場合、結果として得られる操作点オブジェクトには Backlash ブロックの状態が "含まれません"。これらの状態には内部表現があるからです。この操作点オブジェクトを使用して Simulink モデルを初期化する場合、Backlash ブロックの初期条件は操作点と適合しない可能性があります。

定常状態の操作点探索に対応した、初期状態をもつブロックの設定

内部状態をもつブロックが原因で、定常状態の操作点探索 (平衡化) に問題が発生する可能性があります。"直達がない" 場合、現時点でのブロックへの入力によって、現時点のブロックの出力が決まりません。

Memory ブロック、Transport Delay ブロックまたは Variable Transport Delay ブロックに関してこの問題を修正するには、操作点の探索や定常状態でのモデルの線形化を行う前に [ブロック パラメーター] ダイアログ ボックスで [線形化中に入力を直達する] オプションを選択します。この設定により、こうしたブロックは、操作点探索に際してゲイン 1 をもつかのように動作するようになります。

たとえば、次のモデルには Transport Delay ブロックが含まれています。この場合は、Transport Delay の出力が常にゼロとなるため、最適化を使用して定常状態の操作点を検出できません。基準信号が 1 なので、Plant ブロックの出力を 1 にして定常状態にするには、Plant ブロックへの入力をゼロ以外の値にしなければなりません。

操作点探索を行う前に、[ブロック パラメーター] ダイアログ ボックスで [線形化中に入力を直達する] オプションを選択します。この設定により、PID Controller ブロックが非ゼロの値を Plant ブロックに渡すことができるようになります。

直達オプションはコマンド ラインで設定することもできます。

ブロック直達を指定するコマンド
Memoryset_param(blockname,'LinearizeMemory','on')
Transport Delay または Variable Transport Delayset_param(blockname,'TransDelayFeedthrough','on')

内部状態をもつ他のブロックの場合、操作点を計算する前に、ブロックの出力が状態微分または目的の出力レベルに影響を与えるかどうかを調べます。ブロックがこれらの微係数または出力レベルに影響を与える場合は、Configurable subsystem を使用してそれらを置き換えることを検討してください。

関連するトピック