主要内容

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

バリアントの定義,設定および有効化

バリアントの選択の表現

バリアントの選択には,モデルの2つ以上のコンポーネントのコンフィギュレーションがあります。次の例は,モデルの不同的子系统ブロック内のバリアント選択を表現する方法を示しています。設計バリアントを表現する他の方法については,金宝app仿真软件におけるバリアントの表現のオプションを参照してください。

  1. 不同的子系统ブロックをモデルに追加し,名前を付けます。

    このブロックはバリアントの選択のコンテナーとして使用します。

  2. 不同的子系统ブロックをダブルクリックします。このブロックの入力および出力が一致するように,轮廓尺寸ブロックと外港ブロックを追加します。

    メモ

    不同的子系统ブロックには,轮廓尺寸外港子系统および模型ブロックのみを追加できます。データ端子を通して制御信号を渡すことができます。

  3. 不同的子系统ブロック上のバッジを右クリックし,[ブロックパラメーター(子系统)]を選択します。

  4. [ブロックパラメーター]ダイアログボックスで,追加するバリアントサブシステムの選択ごとにボタンをクリックします。

    金宝app®により空の子系统ブロックが不同的子系统ブロック内に作成されます。新しいブロックには,含んでいる不同的子系统ブロックと同じ数の入力端子および出力端子があります

    ヒント

    (バリアントの選択で入力端子と出力端子の数が異なる場合は,バリアントの選択の入力端子と出力端子のマッピングを参照してください)。

  5. 子系统ブロックを開き,バリアントの選択を表すモデルを作成します。

  6. バリアントのプロトタイプを作成しているときに,不同的子系统ブロック内の入力または出力がない,空の子系统ブロックを作成できます。空のサブシステムによって,バリアントの完全なモデル化の必要がない,サブシステムが非アクティブな状況が再現されます。空のバリアントの選択では,バリアントのアクティブ化条件を指定するか,条件の前に記号を付けてバリアント条件をコメントアウトします。

    空のバリアントの選択がコンパイル中にアクティブである場合,金宝app仿真软件はそれを無視します。

バリアントの選択として金宝appモデルを含める

金宝app仿真软件モデルをバリアントの選択として不同的子系统ブロック内に含めることができます。

  1. バリアントの選択として含めるモデルを作成します。含んでいる不同的子系统ブロックと同じ数の入力端子と出力端子がモデルにあることを確認します。

    メモ

    モデルに含まれる入力端子と出力端子の数が異なる場合は,バリアントの選択の入力端子と出力端子のマッピングを参照してください。

  2. モデルで,バリアントの選択を含む不同的子系统ブロックを右クリックし,[ブロックパラメーター(子系统)]を選択します。

  3. [ブロックパラメーター]ダイアログボックスでボタンをクリックし,模型ブロックをバリアントの選択として追加します。

    金宝app仿真软件により関連付けられていない模型ブロックが不同的子系统ブロックに作成されます。

  4. 関連付けられていない模型ブロックをダブルクリックします。[モデル名)ボックスにモデルバリアントの選択として使用するモデル名を入力し,(好的)をクリックします。

バリアント制御の設定

バリアント制御を使用して,バリアントの選択をアクティブ化する条件を指定できます。また,最大で1つのバリアントの選択を既定として指定できます。

  1. MATLAB®コマンドプロンプトで,組み合わせたときにアクティブ化する条件を作成する制御変数を指定します。

    模式= 3;版本= 2;

  2. モデルのバリアントの選択のコンテナーである不同的子系统ブロックを右クリックし,[ブロックパラメーター(子系统)]を選択します。

  3. [ブロックパラメーター]ダイアログボックスの[バリアント制御]列で,いずれかの選択肢の横にある[(既定の設定)を選択します。

    金宝app仿真软件は,シミュレーションで1つのバリアントの選択のみがアクティブになることを検証します。[ゼロアクティブバリアント制御を許可)が選択されている場合,ゼロバリアントの選択ができます。制御条件でバリアントがアクティブにならない場合,金宝app仿真软件はシミュレーションに既定のバリアントとコード生成を使用します。

  4. 他の各選択に対してバリアント条件を指定します。空のバリアントの選択を使用している場合,その選択に対するバリアント条件を指定します。既存のアクティブ化条件の先頭に記号を付けてコメントアウトすることもできます。

  5. [適用]をクリックします。そうしない場合は変更内容は保存されません。

バリアントへの変換

金宝app仿真软件エディターでは,次のブロックを不同的子系统ブロックに変換できます。

  • 子系统ブロック

  • 模型ブロック

  • 变体模型ブロック(R2017bより前のバージョンで作成されたモデル)

  • 条件付き実行サブシステム

これを行うには,ブロックを右クリックし,コンテキストメニューで[サブシステムとモデル参照)[変換](变体子系统)をクリックします。

これらのブロックはプログラムで不同的子系统ブロックに変換することもできます。これを行うには,次のいずれかの構文を使用します。

  • 金宝appSimulink.VariantManager.convertToVariant (华东桐柏

  • 金宝appSimulink.VariantManager.convertToVariant (gcbh

以下に例を示します。

open_system(“sldemo_variant_subsystems”);金宝appSimulink.VariantManager.convertToVariant(“sldemo_variant_subsystems /控制器”);

バリアントモデルをバリアントサブシステムに変換する場合,模型ブロックのパラメーター[プリプロセッサの条件を生成)の動作が不同的子系统ブロックのパラメーター[バリアントのアクティベーションのタイミング]と異なることに注意してください。バリアントモデルの場合,このパラメーターを有効にすると,シミュレーションとブロック線図の更新でコンパイルされるのはアクティブなバリアントのみになります。バリアントサブシステムの場合,このパラメーターを有効にするとすべてのバリアントがコンパイルされるため,シミュレーションと更新が低速になる可能性があります。

バリアントモデルのバリアントサブシステムへの変換では变体コマンドラインパラメーターを使用するスクリプトの更新が必要になる可能性があります。

関連する例

詳細