Main Content

Switch Case

switch ステートメントに類似したロジックを使用してサブシステムの実行を選択する

  • Switch Case block

ライブラリ:
Simulink / Ports & Subsystems
HDL Coder / Ports & Subsystems

説明

Switch Case ブロックは、Action Port ブロックを含む Switch Case Action Subsystem ブロックとともに、サブシステムの実行を制御する switch ロジックを実装します。Switch Case ブロックを使用する例については、選択サブシステムの実行を参照してください。

Model ex_switch_case_block

Switch Case ブロックは 1 つの入力を持ちます。ケースを選択するには、[Case 条件] パラメーターを使用して入力の値を定義します。これらのケースは、最初のケースから始めて上から下に評価されます。

各ケースは 1 つの出力端子に関連付けられており、各出力端子は 1 つの Switch Case Action Subsystem ブロックに接続されています。ケースが選択されると、そのケースに関連付けられた出力端子がそのサブシステムを実行するアクション信号を送信します。

他のすべてのケース条件が偽と判定された後、default のケースが選択されます。他のケース条件が考えられるすべての入力値を網羅していない場合でも、default ケースの提供は必須ではありません。

Switch Case ブロックのケースには、1 つの Switch Case Action Subsystem ブロックが実行された後に暗黙のブレークが含まれています。そのため、Simulink® Switch Case ブロックには、標準的な C switch ステートメントに見られるようなフォールスルー動作はありません。

制限

Switch Case ブロックでは調整可能なパラメーターはサポートされません。Case conditions の値は、通常モードまたはアクセラレータ モードでのシミュレーション中、または生成コードの実行時に調整することはできません。

端子

入力

すべて展開する

Switch Case ブロックの u1 というラベルの付いた端子への入力は以下のいずれかになります。

  • Simulink がサポートする組み込みのデータ型を持つスカラー値。ただし、Switch Case ブロックは、Boolean または固定小数点データ型をサポートせず、数値入力を打ち切って 32 ビット符号付き整数にします。

  • 列挙データ型のスカラー値。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | enumerated

出力

すべて展開する

Case 端子および default 端子からの出力は、Switch Case Action Subsystem ブロックに接続されたアクション信号です。

パラメーター

すべて展開する

MATLAB® のセル表記法を使用して、ケース値を指定します。

{1}

入力端子の値が 1 のときにアクション信号を出力する、case[1] というラベルの付いた出力端子を指定します。

ケースの割り当てを含む端子のリスト

MATLAB のセル表記法を使用して、複数のケースおよび端子を指定します。たとえば、{1,[7,9,4]} と入力すると、入力値が 1 のときに出力端子 case[1] が実行され、入力値が 79、または 4 のときに出力端子 case [7 9 4] が実行されるよう指定されます。

コロン表記法を使って、整数のケース条件の範囲を指定できます。たとえば、「{[1:5]}」と入力すると、入力値が 1234、または 5 のときに出力端子 case[1 2 3 4 5] が実行されます。

ブロックのサイズに応じて、長いケース条件リストのケースは、終了反復記号 (...) を使って Switch Case ブロック上で短縮形式で表示されます。

列挙型の名前を使用して、列挙型の各値に対するケースを含んだケース条件を指定できます。

プログラムでの使用

ブロック パラメーター: CaseConditions
: 文字ベクトル
: '{1}' | '<list of cases>'
既定の設定: '{1}'

default 出力端子の表示を制御します。

オン

default 出力端子を Switch Case ブロック上の最後のケースとして表示します。入力値が他のどのケース値にも一致しない場合に実行される default ケースを指定できるようになります。

オフ

default 出力端子を非表示にします。

プログラムでの使用

ブロック パラメーター: ShowDefaultCase
: 文字ベクトル
: 'on' | 'off'
既定の設定: 'on'

ゼロクロッシング検出を制御します。

オン

ゼロクロッシングを検出します。

オフ

ゼロクロッシングを検出しません。

プログラムでの使用

ブロック パラメーター: ZeroCross
型: 文字ベクトル
値: 'on' | 'off'
既定の設定: 'on'

ブロックの特性

データ型

double | enumerated | integer | single

直達

はい

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

はい

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入