最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

トリガー シミュレーション イベントでの線形化

以下の例では、線形解析ツールを使用して、特定のイベントでモデルを時間単位に線形化する方法を説明します。線形化イベントは、トリガーベース イベントでも、関数呼び出しイベントでもかまいません。具体的には、2500 rpm、3000 rpm および 3500 rpm の定常状態の操作点でモデルを線形化します。

  1. Simulink® モデルを開きます。

    sys = 'scdspeedtrigger';
    open_system(sys)

    システムが定常状態になったタイミングを特定しやすいように、Generate settling time events ブロックで整定イベントが生成されます。このブロックは、エンジン速度が 2500 rpm、3000 rpm および 3500 rpm 近くで少なくとも 5 秒間安定すると、立ち上がりエッジ トリガー信号を Operating Point Snapshot ブロックに送信します。

    モデルには既に Simulink Control Design™ ライブラリからの Trigger-Based Operating Point Snapshot ブロックが含まれています。このブロックは、Generate settling time events ブロックから立ち上がりエッジ トリガー信号を受信すると、モデルを線形化します。

  2. 60 の時間単位で定常状態の操作点を計算します。

    op = findop(sys,60);

    このコマンドは、60 の時間単位でモデルをシミュレートし、この時間間隔で発生するシミュレーション イベントごとの操作点を抽出します。

  3. 線形化するモデルの部分を定義します。

    io(1) = linio('scdspeedtrigger/Reference Steps',1,'input');
    io(2) = linio('scdspeedtrigger/rad//s to rpm',1,'output');
  4. モデルを線形化します。

    linsys = linearize(sys,op(1:3),io);
  5. 閉ループ伝達関数のボード線図を使用して、2500 rpm、3000 rpm および 3500 rpm で線形化されたモデルを比較します。

    bode(linsys);

参考

関数

ブロック

関連するトピック