Main Content

Atomic サブチャートを使用して冗長なセンサーの組み合わせをモデル化

このモデルは、冗長なセンサーの組み合わせをモデル化する方法を示します。Atomic サブチャートを使用すると、大きな Stateflow® チャートを、ライブラリ ファイルにある他のチャートと比較できます。

メイン チャート

次のモデルでは、チャート RedundantSensors に、2 つのリンクされた Atomic サブチャート (Sensor1Sensor2) とステート (Alarm) があります。

シミュレーションの開始時には、サブチャートSensor1はアクティブです。この Atomic サブチャートは入力u1を読み取ります。入力値が 75 と -75 の間である場合、Sensor1はこの値をyの出力として渡します。それ以外の場合、センサーは失敗し、サブチャートSensor2がアクティブになります。

同様に、Sensor2は入力u2を読み取り、値が 100 と -100 の間であることを確認します。Sensor2はこの値をyの出力値として渡します。それ以外の場合、センサーは失敗し、チャートはAlarmステートに遷移します。

ライブラリ チャート

Sensor1Sensor2の両方のロジックがライブラリ モデルで定義されます。このモデルでは、チャート SingleSensor は入力uを受け入れ、フィルター処理されたセンサー出力yを生成します。

このチャートはセンサー入力uの範囲外エラーを検出します。初期状態では、センサーはステートOKにあります。uが範囲外になると、チャートはOKからステートFailOnceに遷移します。uが範囲外にある時間が 1 秒を超えると、チャートはステートFailに遷移します。この場合、センサーは定数値 0 を出力します。このパターンにより、センサーは読み取り時に過渡スパイクを無視できます。

入力、出力、およびパラメーターのマッピング

チャート RedundantSensors には 2 つの入力 (u1u2) がありますが、Atomic サブチャートを定義するライブラリ チャートの入力は 1 つ (u)のみです。原子サブチャートが別のチャート入力にアクセスできるようにするには、各サブチャートを右クリックして[サブチャートのマッピング]を選択します。プロパティ ダイアログ ボックスの[マッピング]タブでは、次のことができます。

  • サブチャートの各シンボルにメイン チャートのどのシンボルを対応させるかを指定する。

  • サブチャートで定義されたパラメーターに値を代入する。

たとえば、サブチャート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 を返します。

関連するトピック