主要内容

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

バリアントサブシステム,バリアントモデル

バリアントの選択として子系统ブロックまたは模型ブロックが含まれているテンプレートサブシステム

  • ライブラリ:
  • 金宝appSimulink / Ports &子系统

    HDL编码器/端口和子系统

  • 变体子系统,变体模型块
  • 变体子系统,变体模型块

説明

不同的子系统ブロックは,シミュレーション用にアクティブな選択を最大で1つもつことができます。不同的子系统ブロックは,变体子系统の選択肢として使用するために2つの子系统ブロックを含めるように事前構成されたテンプレートです。

不同的子系统ブロックには,バリアントシステムとして子系统ブロックと模型ブロックを混在させることができます。これには轮廓尺寸ブロック,外港ブロック,および连接端口ブロックも含むことができます。变体子系统ブロック内には、接続が描かれません。

模型ブロックを選択肢としてもつ不同的子系统ブロックは,变体模型ブロックと呼ばれます。

各バリアントシステムは,グローバルワークスペースに作成されたバリアント制御に関連付けられています。バリアント制御によってアクティブなバリアントシステムが決定されます。バリアント制御は条件式,条件式を指定する金宝app仿真软件。变体オブジェクト,または既定のバリアントにすることができます。真正的として評価されるバリアント制御が,アクティブなバリアントを決定します。

变体子系统ブロックに含まれる外港ブロックで[ソース非接続時に出力を指定)オプションを選択すると,その出力として非グラウンド値を指定できます。

メモ

外港ブロックダイアログボックスの[信号属性]セクションで正しいデータ型を指定しなければなりません。

端子

金宝app®のシミュレーションの実行中は,变体子系统ブロックの非アクティブな端子は無効になります。

入力

すべて展開する

变体子系统内に含まれる子系统ブロックまたは模型ブロックはそれぞれ,1つのバリアントシステムを表します。バリアントシステムの入力端子名が Variant Subsystem Container ブロックによって使用される入力端子名のサブセットである場合、Variant System ブロックは Variant Subsystem ブロックと異なる数の入力端子をもつことができます。

出力

すべて展開する

变体子系统内に含まれる子系统ブロックまたは模型ブロックはそれぞれ,1つのバリアントシステムを表します。バリアントシステムの出力端子名が Variant Subsystem ブロックによって使用される出力端子名のサブセットである場合、Variant System ブロックは Variant Subsystem ブロックと異なる数の出力端子をもつことができます。

パラメーター

すべて展開する

  • ——バリアント条件の評価に基づいてアクティブなバリアントを選択するには,[式]モードを使用します。バリアント条件で使用されるバリアント制御変数は,グローバルワークスペースまたはデータディクショナリで作成しなければなりません。

  • ラベル- - - - - -[ラベルモードのアクティブな選択肢)パラメーターで指定するバリアントの名前に基づいてアクティブなバリアントを選択するには,[ラベル]モードを使用します。[标签]モードでは,バリアント制御は字符串であり,いずれのワークスペースでも作成される必要はありません。

    [ラベル]モードを選択すると,バリアントバッジによって変更が示されます。

    メモ

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

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

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

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

  • sim / codegenの切り替え——シミュレーションのためのバリアントとコード生成ワークフローを自動的に切り替えるには,[sim / codegenの切り替え]モードを使用します。モデルをシミュレーションするときに(ノーマル,アクセラレータ,ラピッドアクセラレータ),仿真金宝app软件はアクティブな選択肢としてsim卡分岐を自動的に選択します。同様に,ソフトウェアインザループ(银),プロセッサインザループ(公益诉讼)シミュレーションを実行したり,コードを生成したり,エクスターナルモードを使用するときに,仿真软件は金宝app自動的にcodegen分岐を選択します。

このパラメーターを別の値に設定すると,バリアントバッジがバリアントのバッジに示すように変化します。

依存関係

[バリアントのアクティベーションのタイミング]パラメーターは,[バリアント制御モード]パラメーターを[式]または[sim / codegenの切り替え]に設定する場合のみ使用できます。

このパラメーターは,ブロック線図の更新またはコードのコンパイル中に仿金宝app真软件が不同的子系统ブロックのアクティブな選択肢を設定するかどうかを決定します。また,このパラメーターはERTターゲット用に生成されたコードに含める変動性も決定します。すべてのバリアントの選択肢を含める場合、生成されたコードでは選択肢が C のプリプロセッサの条件ステートメント (#if と #endif) で囲まれます。

このパラメーターを別の値に設定すると,バリアントバッジがバリアントのバッジに示すように変化します。

[バリアントのアクティベーションのタイミング]パラメーターは,次のように設定できます。

  • ブロック線図の更新——金宝app模型は,信号属性を伝播する前に,ブロック線図の更新中にアクティブな選択肢を設定します。非アクティブな選択肢は信号属性の伝播の前に削除されるため,生成されたコードにはアクティブな選択肢のみが含まれます。

  • ブロック線図の更新時にすべての選択肢を解析——金宝app模型は,信号属性の伝播後にアクティブな選択肢を設定します。信号属性は,アクティブな選択肢と非アクティブな選択肢の両方に伝播されます。すべての選択肢は、シミュレーションの結果とコード生成のすべてのバリアント ブランチの一貫性を維持するために解析されます。非アクティブな選択肢は、ブロック線図の更新の最後に、モデルの開始が発生する前に削除されます。生成されたコードには、アクティブな選択肢のみが含まれます。このワークフローは、シミュレーションとコード生成とで同じままです。

  • コードのコンパイル——シミュレーションの場合,ワークフローは[ブロック線図の更新時にすべての選択肢を解析]と同じです。ただし,非アクティブな選択肢はコード生成中に削除されません。生成されたコードにはアクティブな選択肢と非アクティブな選択肢が含まれ,選択肢はCプリプロセッサ条件付きステートメントの#如果# endifで囲まれます。

次の図は,このパラメーターで指定するさまざまな値でのバリアントのアクティベーションのタイミングを示します。

詳細については,表示生成代码中的变体源和接收块(嵌入式编码)を参照してください。

依存関係

  • [バリアント制御モード][式]に設定すると,このパラメーターを[ブロック線図の更新)[ブロック線図の更新時にすべての選択肢を解析],または[コードのコンパイル]に設定できます。

  • [バリアント制御モード][sim / codegenの切り替え]に設定すると,このパラメーターを[ブロック線図の更新)または[ブロック線図の更新時にすべての選択肢を解析]のいずれかに設定できます。[コードのコンパイル]オプションは使用できなくなります。

プログラムでの使用

ブロックパラメーター:VariantActivationTime
型:文字ベクトル
値:[ブロック線図の更新)|[ブロック線図の更新時にすべての選択肢を解析]|[コードのコンパイル]
既定の設定:[ブロック線図の更新)

テーブルには,变体子系统に含まれる各バリアントシステムの行があります。バリアントシステムが存在しない場合,テーブルは空になります。

[バリアントの選択]テーブルの左にあるボタンを使用して,テーブルの要素を変更できます。

目的... クリックするボタン
新しいサブシステムの選択を作成して追加:テーブルに新しいサブシステムバリアントの選択を配置し,变体子系统ブロック線図に子系统ブロックを作成します。
新しいモデルバリアントの選択を作成して追加します:テーブルに新しいモデルバリアントの選択を配置し,变体子系统ブロックに模型ブロックを作成します。
選択されている变体オブジェクトを作成/編集:グローバルワークスペースに金宝app仿真软件。变体オブジェクトを作成し,金宝app仿真软件。变体オブジェクトのパラメーターダイアログボックスを開いてバリアントの[条件]を指定します。
選択されているバリアントの選択ブロックを開きます[バリアントの選択]テーブルで選択された行のサブシステムのブロック線図を開きます。
变体子系统の内容のダイアログ情報を更新:バリアントシステムおよびグローバルワークスペースのバリアント制御の値に応じて[バリアントの選択]テーブルを更新します。

この読み取り専用フィールドはバリアントシステム名に基づいています。サブシステムバリアントの選択を追加するには,をクリックします。モデルバリアントの選択を追加するには,をクリックします。

バリアントの名前を加えるには,新しい行にある[バリアント制御]のセルをダブルクリックして,バリアント制御式を入力します。

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

プログラムでの使用

構造体フィールド:变体パラメーター構造体の読み取り専用变体。的名字フィールドによって表現されます
型:文字ベクトル
値:バリアントの選択に関連付けられたバリアント制御
既定の設定:“变异”

この読み取り専用フィールドは,グローバルワークスペースの関連付けられたバリアント制御の条件に基づいています。金宝app仿真软件。变体パラメーターのダイアログボックスまたはグローバルワークスペース内のバリアント条件を作成または変更します。

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

[ラベルモードのアクティブな選択肢)オプションの場合,バリアント制御は布尔の条件式または金宝app仿真软件。变体オブジェクトでなくてもかまいません。記号で始まるバリアント制御は無視されます。

メモ

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

依存関係

このパラメーターを有効にするには,[バリアント制御モード]パラメーターの[ラベル]オプションを選択します。

プログラムでの使用

パラメーター:LabelModeActivechoice
型:文字ベクトル
値:ラベルモードのアクティブな選択肢が指定されない場合,値は空です。ラベルモードのアクティブな選択肢が指定される場合、値はラベル モードのアクティブな選択肢の名前です。
既定の設定:''

アクティブなバリアントの選択がない状態で(バリアントシステムを含む)モデルをシミュレートするには,[ゼロアクティブバリアント制御を許可)オプションを選択します。このオプションを選択し,アクティブなバリアントの選択がない場合,金宝app仿真软件子系统は变体ブロックの入力ストリームおよび出力ストリームに接続されているすべてのブロックを無効にします。無効にされたブロックはブロック線図の更新やシミュレーションで無視されます。

このオプションを選択しない場合,アクティブなバリアントの選択がないと,金宝app仿真软件でエラーが発生します。

依存関係

  • バリアントの(既定の)オプションは選択されていません。

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

プログラムでの使用

パラメーター:AllowZeroVariantControls
型:文字ベクトル
値:“关闭”|“上”
既定の設定:“关闭”

このオプションを選択した場合,金宝app仿真软件子系统は变体ブロックの外部のブロックに基になるブロックのバリアント条件を伝播します。シミュレーション中に,アクティブな選択に接続された子系统の外部のコンポーネントがアクティブになり,非アクティブな選択に接続されたコンポーネントが非アクティブになります。

このオプションを選択すると,变体子系统の外部のコンポーネントが变体子系统ブロック内のブロックのアクティブな状態と非アクティブな状態を確実に認識します。詳細については,变体子系统の適応インターフェイスを参照してください。

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

プログラムでの使用

パラメーター:PropagateVariantConditions
型:文字ベクトル
値:“关闭”|“上”
既定の設定:“关闭”

ブロックの特性

データ型

布尔一个|公共汽车一个|一个|枚举一个|不动点一个|一半一个|整数一个|一个|字符串一个

直接フィードスルー

いいえ

多次元信号

限定的一个

可変サイズの信号

限定的一个

ゼロクロッシング検出

いいえ

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

拡張機能

R2010bで導入