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) のみです。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 を返します。

関連するトピック