ドキュメンテーション

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

Variant Sink

バリアントを使用した複数の出力間での経路設定

  • ライブラリ:
  • Simulink / Signal Routing

説明

Variant Sink ブロックには、1 つの入力端子と 1 つ以上の出力端子があります。最大で 1 つのバリアントの選択がアクティブになるように、出力端子に接続されたブロックとしてバリアントの選択を定義できます。

各出力端子はバリアント制御に関連付けられています。true に評価されるバリアント制御によって、アクティブになる出力端子が決まります。

シミュレーション中、Simulink® はアクティブな選択を Variant Sink ブロックの入力端子に直接接続し、非アクティブな選択を無視します。

端子

入力

すべて展開する

入力信号。スカラー、ベクトル、または行列として指定され、アクティブな出力端子に接続されます。

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

出力

すべて展開する

最初のバリアントからの出力信号です。true に評価されるバリアント制御によって、アクティブになる出力端子が決まります。

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

N 番目のバリアントからの出力信号true に評価されるバリアント制御によって、アクティブになる出力端子が決まります。

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

パラメーター

すべて展開する

バリアント条件の評価に基づいてアクティブなバリアントを選択するには、[式] モードを使用するか、[Label] モードを選択します。[バリアント制御モード][ラベル] を選択すると、[ラベル モードのアクティブな選択肢] オプションが有効になります。[Label] モードでは、グローバル ワークスペースでバリアント制御を作成する必要はありません。[Label] モードでは、バリアント制御は評価されない string であり、[ラベル モードのアクティブな選択肢] パラメーターによってシミュレーションで使用される選択肢が決定されます。[ラベル モードのアクティブな選択肢] オプションからアクティブなバリアントの選択肢を選択できます。

[ラベル] オプションを選択すると、バリアント バッジによって変更が示されます。

メモ

[ラベル モードのアクティブな選択肢] パラメーターをマスクにプロモートすると、[バリアント制御モード] は無効になります。

  • [ラベル モードのアクティブな選択肢] パラメーターをマスクにプロモートするときに、ブロックが [Expression] モードである場合、[マスク] ダイアログ ボックスからプロモートされた [ラベル モードのアクティブな選択肢] パラメーターを変更することで、[バリアント制御モード][Label] に変更できます。

  • [ラベル モードのアクティブな選択肢] パラメーターをマスクにプロモートするときに、ブロックが [Label ] モードである場合、[バリアント制御モード][Expression] モードに変更することはできません。

パラメーターのマスクへのプロモートの詳細については、マスクへのパラメーターのプロモートを参照してください。

Variant Sink ブロックの上流で 1 つのバリアントの選択に接続されている入力端子の数この値は読み取り専用です。

端子を追加するには をクリックし、既存の端子を削除するには をクリックします。

グローバル ワークスペースで利用可能なバリアント制御が表示されます。バリアント制御は、boolean の条件式または boolean の条件式を表す Simulink.Variant オブジェクトのいずれかです。お使いのモデルのコードを生成する場合、制御変数を MATLAB® 変数として定義しなければなりません。

非数値のバリアント制御値を入力するには、列挙型データを使用します。列挙型データの使用の詳細については、Simulink モデルでの列挙型データの使用を参照してください。

バリアントの名前を加えるには、新しい行にある [バリアント制御式] のセルをダブルクリックして、バリアント制御式を入力します。バリアント制御名を編集したら、[適用] をクリックします。変更を適用せずにバリアント制御を追加または削除する場合、バリアント制御名に対する前の編集内容は失われます。

プログラムでの使用

ブロック パラメーター: VariantControls
型: 文字ベクトルの cell 配列
値: バリアントの選択に関連付けられたバリアント制御
既定の設定: 'Variant'

Simulink.Variant オブジェクトのバリアント制御に関する [条件] が表示されます。Simulink.Variant パラメーターのダイアログ ボックスまたはグローバル ワークスペース内のバリアント条件を作成または変更します。

詳細については、プログラムによるバリアント制御の作成およびSimulink.Variantを参照してください。

[バリアント制御モード][ラベル] を選択すると、[ラベル モードのアクティブな選択肢] オプションが有効になります。[ラベル モードのアクティブな選択肢] オプションからアクティブなバリアントの選択肢を選択できます。Variant Sink ブロックのバッジを右クリックして [ラベル モードのアクティブな選択肢] を選択することもできます。

[ラベル モードのアクティブな選択肢] ドロップダウン リストには、グローバル ワークスペースまたはデータ ディクショナリで現在定義されているすべてのバリアント制御が表示されます。有効な MATLAB 識別子を使用してバリアント制御を指定します。詳細については、Simulink.Variantを参照してください。

メモ

[ラベル モードのアクティブな選択肢] オプションは、[式] モードでは使用できません。

依存関係

このパラメーターを有効にするには、[ラベル] モードを選択します。

プログラムでの使用

ブロック パラメーター: LabelModeActivechoice
型: 文字ベクトル
値: バリアント制御式で指定
既定の設定: Choice_1

アクティブなバリアントの選択がない状態で (バリアント ブロックを含む) モデルをシミュレートするには、[ゼロ アクティブ バリアント制御を許可] オプションを選択します。このオプションが選択され、アクティブなバリアントの選択がない場合、Simulink は Variant Sink ブロックの入力ストリームおよび出力ストリームに接続されているすべてのブロックを無効にします。削除されたブロックはブロック線図の更新やシミュレーションで無視されます。

このオプションを選択しない場合、アクティブなバリアントの選択がないと、Simulink でエラーが発生します。

このオプションを選択すると、バリアント バッジによって変更が示されます。

依存関係

[バリアント制御モード][式] オプションが選択されています。

プログラムでの使用

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

このオプションを選択すると、Simulink は Variant Sink ブロック端子の各バリアント制御 (条件式) に注釈を付けます。

プログラムでの使用

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

このオプションを選択すると、Simulink はブロック線図またはシミュレーションの更新中にバリアントのすべての選択を解析します。この解析は、Simulink において、シミュレーションおよびコード生成中のすべてのバリアント ブランチの一貫性を維持するのに役立ちます。Simulink は、アクティブな領域と非アクティブな領域の出力を内部の VariantMerge ブロックに送ります。

このオプションを選択すると、ERT ベースのターゲットによってプリプロセッサの条件 (#if) がコード内で生成されます。

このオプションを選択すると、バリアント バッジによって変更が示されます。

詳細については、Represent Variant Source and Sink Blocks in Generated Code (Embedded Coder)を参照してください。

依存関係

  • [バリアント制御モード][式] オプションが選択されています。

  • チェック ボックスは、ERT ターゲットのみを生成するときに使用できます。

プログラムでの使用

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

ブロックの特性

データ型

Boolean | bus | double | enumerated | fixed point | integer | single | string

直接フィードスルー

いいえ

多次元信号

いいえ

可変サイズの信号

いいえ

ゼロクロッシング検出

いいえ

拡張機能

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

固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。

R2016a で導入