ドキュメンテーション

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

Action Port

if および switch 制御フロー文が使用する Action サブシステムの実現

ライブラリ

Ports & Subsystems

説明

Action Port ブロックは、if および switch 制御フロー ステートメントで使用される 「Action Subsystem」を実装します。If Action Subsystem および Switch Case Action Subsystem ブロックは、それぞれ Action Port ブロックを含みます。

サブシステムを Action Subsystem に変換

Action Port ブロックを使用して、制御端子 (イネーブル端子、トリガー端子、関数呼び出し端子など) をもたないサブシステムを Action Subsystem に変換します。

  1. 変換するサブシステムを開きます。

  2. If Action Subsystem または Switch Case Action Subsystem ブロックを、Ports & Subsystems ライブラリからサブシステムにドラッグします。

  3. Action Subsystem を開き、Action Port ブロックをコピーします。

  4. サブシステムのレベルまで上に移動し、Action Port ブロックを貼り付けます。

  5. モデルにドラッグした Action Subsystem を削除します。

モデル内のサブシステム アイコンに、Action 端子が表示されます。ここで得られた Action Subsystem はアトミックで、If または Switch Case ブロックの条件付き出力に応じて実行されます。この図には、If ブロックに接続された Action Subsystem を使用する if-else 制御フロー文が表示されます。

If または Switch Case ブロックを Action Subsystem に接続すると、駆動ブロックの出力端子に合わせてサブシステム アイコンの Action 端子のラベルが (if{ }else{ }elseif{ }case{ }default{ }) に変わります。

    メモ:    Action Subsystem のすべてのブロックは、If または Switch Case ブロックを駆動するのと同じレートで実行するか、サンプル時間を -1 (継承) に設定しなければなりません。

サポートするデータ型

Action Port ブロックにはデータの入出力はありません。

パラメーターとダイアログ ボックス

実行再開時の状態

Action Port ブロックのサブシステムが再び有効になるときの内部状態の処理方法を指定します。

設定

既定の設定: [保持]

[保持]

サブシステムが再度有効になるとき、Action サブシステムの状態には前の値が保持されます。if-else または switch 制御フロー文の他のメンバー Action サブシステムを呼び出す場合でも、状態の値には前の呼び出しで使用した値が保持されます。

[リセット]

サブシステムが再度有効になったときに、Action サブシステムの状態を初期値に再度初期化します。

サブシステムの再有効化は、サブシステムが呼び出されて、前回値が false であった呼び出し条件が true のときに発生します。次の例では、Action サブシステム A と B の両方の Action Port ブロックの [実行を再開時の状態] パラメーターが [リセット] に設定されています。

case[1] が true の場合は、Action サブシステム A が呼び出されます。この結果は、既定の条件が false であることを意味します。その後既定の条件に対して B が呼び出されると、B の状態はリセットされます。同じように、Action サブシステム A の状態は Action サブシステム B が呼び出された直後に A が呼び出されたときにリセットされます。

ある case の Action サブシステムに対する呼び出しが繰り返されても、状態はリセットされません。A が呼び出された直後に再び A が呼び出された場合、A の状態はリセットされません。これは、条件 case[1] の条件は前回値が false ではなかったためです。B についても同じことが言えます。

コマンド ライン情報

パラメーター: InitializeStates
タイプ: 文字列
値: 'held' | 'reset' |
既定の設定: 'held'

可変サイズの信号のサイズを伝播

可変サイズの信号をいつ伝播するかを指定します。

設定

既定の設定: [実行の再開時のみ]

[実行の再開時のみ]

Action Port ブロックを含むサブシステムを再度有効にするときにのみ、可変サイズの信号が伝播されます。

[実行中]

各タイム ステップで可変サイズの信号が伝播されます。

コマンド ライン情報

パラメーター: PropagateVarSize
タイプ: 文字列
値: 'Only when execution is resumed' | 'During execution'
既定の設定: 'Only when execution is resumed'

特性

サンプル時間

If または Switch Case ブロックの接続ブロックから継承

参考

Action Port ブロックの使用例については、IfIf Action SubsystemSwitch Case、および Switch Case Action Subsystem を参照してください。

この情報は役に立ちましたか?