Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

If Action Subsystem

If ブロックで実行が有効化されるサブシステム

  • If Action Subsystem block

ライブラリ:
Simulink / Ports & Subsystems

説明

If Action Subsystem ブロックは、実行が If ブロックで制御されるサブシステムを作成するときの開始点として事前構成されている Subsystem ブロックです。If ブロックは論理式を評価し、その評価結果に応じてアクション信号を出力します。サブシステムの実行は、サブシステム内に配置された Action Port ブロックで制御されます。

Simulink®If Action Subsystem ブロックに設定された優先順位を無視します。代わりに、サブシステムの実行を開始する If ブロックに優先順位を設定します。

If Action Subsystem ブロックからの信号のマージ

この例では、If ブロックで制御される信号をマージする方法を説明します。If ブロックは一連のサブシステムから If Action Subsystem ブロックの実行を選択します。If ブロックが選択するサブシステムに関係なく、Merge ブロックを使用して単一の信号を作成できます。モデルを開くには、ex_if_block を参照してください。

If Action Subsystem ブロック内のすべてのブロックは駆動側の If ブロックと同じレートで実行されなければなりません。この要件は、各ブロックのサンプル時間パラメーターを継承 (-1) または If ブロックのサンプル時間と同じ値のいずれかに設定することで満たすことができます。

固定小数点データ型のサポート

If ブロックは、固定小数点データ型を直接的にはサポートしません。ただし、この制限を解決するために、Compare To Constant ブロックを使用することができます。

固定小数点データ型をもたない以下の浮動小数点モデルを検討してください。モデルを開くには、ex_if_block_floating_point を参照してください。

このモデルでは、If Action Subsystem ブロックは既定の構成を使用します。次の表にリストされているパラメーターを除いて、シミュレーション パラメーターは既定値に設定されます。

[コンフィギュレーション パラメーター] ペイン

パラメーター

設定

ソルバー

開始時間

0.0

 

終了時間

1.0

 

タイプ

Fixed-step

 

ソルバー

discrete (no continuous states)

 

固定ステップサイズ

0.1

ブロック パラメーターは、次の表にリストされているパラメーターを除いて、既定値に設定されます。

ブロック

パラメーター

設定

Repeating Sequence Stair

出力値のベクトル

[-2 -1 1 2].'

Repeating Sequence Stair1

出力値のベクトル

[0 0 0 0 1 1 1 1].'

If

入力数

2

 

If 式

(u1 > 0) | (u2 > 0.5)

 

else 条件の表示

オン

Constant

定数値

-4

Constant1

定数値

4

Scope

座標軸数

3

 

時間範囲

1

このモデルの場合、入力 u10 より大きいか、入力 u20.5 より大きいときに、出力は 4 になります。そうでない場合、出力は -4 です。Scope ブロックは、入力 u1u2 を使用して Merge ブロックからの出力を表示します。

次のブロック線図を固定小数点データ型のモデルとして実装できます。モデルを開くには、ex_if_block_fixed_point を参照してください。

Repeating Sequence Stair ブロックは固定小数点データ型を出力します。

Compare To Constant ブロックは、[If 式] の 2 つの部分を実現します。これらは、モデルの浮動小数点バージョンの If ブロックで使用される (u1 > 0)(u2 > 0.5) です。OR 演算、(u1|u2) は、If ブロック内で実現されています。固定小数点モデルに対して、式はこのモデルに示すように If ブロックの外側で部分的に実現されなければなりません。

固定小数点モデルのブロックとシミュレーション パラメーターは、浮動小数点モデルと同様ですが、次の追加点があります。

ブロック

パラメーター

設定

Compare To Constant

演算子

>

 

定数値

0

 

出力データ型モード

Boolean

 

ゼロクロッシング検出を有効にする

off

Compare To Constant1

演算子

>

 

定数値

0.5

 

出力データ型モード

Boolean

 

ゼロクロッシング検出を有効にする

off

If

入力数

2

 

If 式

u1|u2

端子

入力

すべて展開する

Inport ブロックをサブシステム ブロック内に配置することで、ブロックへの外部入力端子が追加されます。端子ラベルは Inport ブロックの名前と一致します。

ローカル環境から信号を取得するには、Inport ブロックを使用します。

データ型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

Action Port ブロックをサブシステム ブロック内に配置することで、ブロックに外部入力端子が追加され、ブロックが If Action Subsystem に変更されます。

Switch Case ブロックから Switch Case Action Subsystem ブロックへの一点鎖線は "アクション" 信号を表します。アクション信号は、Switch Case Action Subsystem ブロックのアクション端子に接続されている制御信号です。アクション信号のメッセージによってサブシステムの実行が開始されます。

データ型: action

出力

すべて展開する

Outport ブロックをサブシステム ブロック内に配置することで、ブロックの出力端子が追加されます。サブシステム ブロック上の端子ラベルは Outport ブロックの名前です。

信号をローカル環境に送信するには、Outport ブロックを使用します。

データ型: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus

ブロックの特性

データ型

Booleana | busa | doublea | enumerateda | fixed pointa | halfa | integera | singlea | stringa

直達

いいえ

多次元信号

はいa

可変サイズの信号

はいa

ゼロクロッシング検出

いいえ

a 実際のデータ型または機能のサポートは、ブロックの実装に依存します。

拡張機能

バージョン履歴

R2006a より前に導入