このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Atomic サブチャートを使用して冗長なセンサーの組み合わせをモデル化
このモデルは、冗長なセンサーの組み合わせをモデル化する方法を示します。Atomic サブチャートを使用すると、大きな Stateflow® チャートを、ライブラリ ファイルにある他のチャートと構成できます。
メイン チャート
次のモデルでは、チャート RedundantSensors に、2 つのリンクされた Atomic サブチャート (Sensor1
と Sensor2
) とステート (Alarm
) があります。
シミュレーションの開始時には、サブチャート Sensor1
はアクティブです。この Atomic サブチャートは入力 u1
を読み取ります。入力値が 75 と -75 の間である場合、Sensor1
はこの値を y
の出力として渡します。それ以外の場合、センサーは失敗し、サブチャート Sensor2
がアクティブになります。
同様に、Sensor2
は入力 u2
を読み取り、値が 100 と -100 の間であることを確認します。Sensor2
はこの値を y
の出力値として渡します。それ以外の場合、センサーは失敗し、チャートは Alarm
ステートに遷移します。
ライブラリ チャート
Sensor1
と Sensor2
の両方のロジックがライブラリ モデルで定義されます。このモデルでは、チャート SingleSensor は入力 u
を受け入れ、フィルター処理されたセンサー出力 y
を生成します。
このチャートはセンサー入力 u
の範囲外エラーを検出します。初期状態では、センサーはステート OK
にあります。u
が範囲外になると、チャートは OK
からステート FailOnce
に遷移します。u
が範囲外にある時間が 1 秒を超えると、チャートはステート Fail
に遷移します。この場合、センサーは定数値 0 を出力します。このパターンにより、センサーは読み取り時に過渡スパイクを無視できます。
入力、出力、およびパラメーターのマッピング
チャート RedundantSensors には 2 つの入力 (u1
と u2
) がありますが、Atomic サブチャートを定義するライブラリ チャートの入力は 1 つ (u
) のみです。Atomic サブチャートが別のチャート入力にアクセスできるようにするには、各サブチャートを右クリックして [サブチャートのマッピング] を選択します。プロパティ ダイアログ ボックスの [マッピング] タブでは、次のことができます。
サブチャートの各シンボルにメイン チャートのどのシンボルを対応させるかを指定する。
サブチャートで定義されたパラメーターに値を代入する。
たとえば、サブチャート Sensor1
の場合、次のようになります。
サブチャートの入力
u
は、メイン チャートの入力u1
にマッピングされます。サブチャートの出力
u
は、メイン チャートの出力y
にマッピングされます。サブチャートのパラメーター
HIGH
およびLOW
には、値として 75 および -75 が代入されます。
サブチャート Sensor2
の場合、次のようになります。
サブチャートの入力
u
は、メイン チャートの入力u2
にマッピングされます。サブチャートの出力
u
は、メイン チャートの出力y
にマッピングされます。サブチャートのパラメーター
HIGH
およびLOW
には、値として 100 および -100 が代入されます。
シミュレーション動作
最初は、チャートの両方の入力と両方の出力が 0 になっています。チャートの入力の値を変更するには、Gain ブロックをダブルクリックして、スライダーをドラッグします。
u1
の値が -75 と 75 の間であれば、出力値 y
は入力値 u1
を追跡します。u1
の値がこの範囲の外に出ると、y
の値は入力値 u2
の追跡を始めます。u2
の値が -100 ~ 100 の範囲の外にある場合、y
は値として 0 を返し、Alarm
は値として 1 を返します。