Main Content

トリガー イベントで操作点のスナップショットを計算

この例では、シミュレーションのトリガー スナップショットを使用して操作点を生成する方法を説明します。

モデルを開く

この例のモデルは、速度制御システムです。

モデルを開きます。

mdl = "scdspeedtrigger";
open_system(mdl)

Reference Steps ブロックが生成する基準信号は、3 つの定常状態の速度条件をステップ実行します。2500 rpm、3000 rpm、および 3500 rpm です。この例では、操作点のスナップショットを撮ることで、これらの各条件で操作点を検出します。

整定時間イベントの構成

システムが定常状態条件に達する正確な時間が常にわかっているわけではないため、定常状態条件が発生する瞬間を検出して対応するトリガー イベントを生成するようにモデルを構成できます。

この例では、Generate settling time events サブシステムにより、速度信号が定常状態の整定点に近くなる瞬間が検出されます。このブロックは、整定点近くの指定領域内に入力信号が最低限の時間当てはまると、トリガー イベントを生成します。

この例では、3 つの定常状態の速度値に近い領域を定義します。ブロックを開き、これらの範囲の上限と下限を定常状態の速度値の上下 5 rpm に指定します。これを行うには、[Settling Time Upper Bounds] パラメーターと [Settling Time Lower Bounds] パラメーターを設定します。

また、[Settling Interval] パラメーターを使用して、最小整定間隔を 5 秒に指定します。

Generate settling time events サブシステム内では次が行われます。

  • 入力信号が指定された上限と下限内にある場合、Interval Test Dynamic ブロックは true 信号を出力します。

  • Interval Test Dynamic ブロックの出力が false から true に変わると、ラッチ機構による信号が true である時間の追跡がトリガーされます。

  • 信号が指定された間隔時間の間 true になると、ラッチ機構は true 信号を出力します。

  • Interval Test Dynamic ブロックとラッチ機構の出力がどちらも true になると、出力トリガー信号が true に設定されます。

Generate settling time events サブシステムからのトリガー信号はTrigger-Based Operating Point Snapshotブロックに接続されます。トリガー信号の立ち上がりエッジまたは立ち下りエッジで操作点のスナップショットを撮るようにこのブロックを構成できます。この例では、ブロックでトリガー信号の立ち上がりエッジを使用します。

操作点の検出

操作点を計算するには、関数findopを使用してモデルを 60 秒間シミュレートします。この関数は、4 つの操作点 (トリガー スナップショット時間ごとに 1 つずつと、60 秒のシミュレーション時間に 1 つ) のベクトルを返します。

op = findop(mdl,60);

最初の操作点は、2500 rpm (261.8 rad/s) の整定条件に近くなります。

op(1)
ans = 


 Operating point for the Model scdspeedtrigger.
 (Time-Varying Components Evaluated at time t=10.63)

States: 
----------
       <strong>x</strong>   
    <strong>_______</strong>

(1.) scdspeedtrigger/PID Controller/Filter/Cont. Filter/Filter
          0
(2.) scdspeedtrigger/PID Controller/Integrator/Continuous/Integrator
      10.47
(3.) scdspeedtrigger/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar
    0.51066
(4.) scdspeedtrigger/Vehicle Dynamics/w = T//J w0 = 209 rad//s
      261.8

Inputs: None 
----------

2 つ目の操作点は、3000 rpm (314.16 rad/s) の整定条件に近くなります。

op(2)
ans = 


 Operating point for the Model scdspeedtrigger.
 (Time-Varying Components Evaluated at time t=28.3703)

States: 
----------
       <strong>x</strong>   
    <strong>_______</strong>

(1.) scdspeedtrigger/PID Controller/Filter/Cont. Filter/Filter
          0
(2.) scdspeedtrigger/PID Controller/Integrator/Continuous/Integrator
     11.915
(3.) scdspeedtrigger/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar
    0.49012
(4.) scdspeedtrigger/Vehicle Dynamics/w = T//J w0 = 209 rad//s
     314.16

Inputs: None 
----------

3 つ目の操作点は、3500 rpm (366.52 rad/s) の整定条件に近くなります。

op(3)
ans = 


 Operating point for the Model scdspeedtrigger.
 (Time-Varying Components Evaluated at time t=48.2688)

States: 
----------
       <strong>x</strong>   
    <strong>_______</strong>

(1.) scdspeedtrigger/PID Controller/Filter/Cont. Filter/Filter
          0
(2.) scdspeedtrigger/PID Controller/Integrator/Continuous/Integrator
     13.349
(3.) scdspeedtrigger/Throttle & Manifold/Intake Manifold/p0 = 0.543 bar
    0.47835
(4.) scdspeedtrigger/Vehicle Dynamics/w = T//J w0 = 209 rad//s
     366.52

Inputs: None 
----------

速度制御モデルをこれらの操作点で線形化する例については、トリガー シミュレーション イベントでの線形化を参照してください。

bdclose(mdl)

参考

関数

ブロック

関連するトピック