主要内容

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

バリアントブロックのアクティブなバリアントの選択肢を制御する方法

この例では,インラインバリアントブロックおよび变体子系统ブロックのアクティブな選択肢をマスクワークスペースまたはモデルワークスペースから制御するさまざまな方法を示します。バリアントブロックの詳細については,バリアントとは,およびどのような場合にそれを使用するかを参照してください。

モデル

この例では4つの仿真软金宝app件®モデルが緑色で強調表示され,1つのモデルが赤色で強調表示されています。緑色のモデルは,バリアントブロックのアクティブな選択肢を制御するための推奨方法を表しています。これらの方法では,バリアント制御変数のスコープを制限したり,名前の競合を回避したり,变体ブロック間での変数の所有権を明確にすることができます。異なるスコープの変数に対して同じ名前を使用することもできます。

open_system ([matlabroot' / / simul金宝appink_variants /主/例子slexVariantSubsystemCtrlFromMaskandModelWks”])

推奨方法における制限

  • [バリアント制御モード]パラメーターが表达式に設定され,[バリアントのアクティベーションのタイミング]パラメーターが更新图に設定されている場合にのみ機能します。

  • 金宝app仿真软件。变体オブジェクトまたは金宝app仿真软件。参数をバリアント制御変数として使用することはサポートされません。

  • モデル引数変数をバリアント制御変数として使用することはサポートされません。

  • バリアント制御変数は40文字を超えてはなりません。

  • マスクワークスペースから生じるバリアント制御変数はSLMASKで始めてはなりません。

方法1:マスクパラメーターをバリアント制御変数として使用

この節では,マスクパラメーターを使用して变体子系统ブロックおよびインラインバリアントブロックのアクティブなバリアントの選択肢を制御する方法を説明します。

マスクパラメーターを使用した变体子系统ブロックのアクティブな選択肢の制御

变体子系统ブロックVSS1をもつモデルについて考えます。VSS1サブシステムで,可能なバリアントが2つ(x2とx3)指定されます。x2の制御式はB = = 1で,x3の制御式はB = = 2です。変数Bはマスクパラメーターです。Bのプロパティを表示するには,以下を行います。

1.VSS1サブシステムを右クリックします。

2.[マスク][マスクの編集)を選択します。[パラメーターとダイアログ]ペインの[パラメーター]の下の[プロンプト]列では,マスクダイアログボックスに表示されるパラメーターのラベルを指定し,[名前]列ではマスクパラメーターの名前を指定します。この例では,[プロンプト]进入选择として指定され,[名前]Bとして指定されています。

3.マスクダイアログボックスを開くには,VSS1サブシステムをダブルクリックします。シミュレーション中,ここで指定した値のインデックスは基となる変数Bにマッピングされ,ブロックに関連付けられたバリアント条件式を評価するために使用されます。この例では,(输入选择)の既定値は2です。このモデルをシミュレーションするときに,バリアント条件B = = 2真正的として評価されます。x2サブシステムが非アクティブになり,x3サブシステムがアクティブになります。

4.アクティブな選択肢を変更するには,マスクダイアログボックスで値1を指定して,モデルを再度シミュレーションします。シミュレーション中,Bの値は1に設定され,バリアント条件B = = 1真正的として評価されます。x2サブシステムがアクティブになり,x3サブシステムが非アクティブになります。

マスクパラメーターを使用したインラインバリアントブロックのアクティブな選択肢の制御

マスク子系统ブロック魔法石,第1章をもつモデルについて考えます。魔法石,第1章サブシステムはマスクパラメーター风投を持ち,これは基となる变异源ブロックVsrcでバリアント制御変数として使用されています。1番目の入力端子は制御式VC = = 1に関連付けられ2番目の入力端子は制御式VC = = 2に関連付けられています。风投のプロパティを表示するには,以下を行います。

1.魔法石,第1章サブシステムを右クリックします。

2.[マスクの編集)を選択します。[パラメーターとダイアログ]ペインの[パラメーター]の下の[プロンプト]列では,マスクダイアログボックスに表示されるパラメーターのラベルを指定し,[名前]列ではマスクパラメーターの名前を指定します。この例では,[プロンプト]选择信号として指定され,[名前]风投として指定されています。

3.マスクダイアログボックスを開くには(魔法石,第1章サブシステムをダブルクリックします。シミュレーション中,ここで選択した値のインデックスは基となる変数风投にマッピングされ,Vsrcブロックに関連付けられたバリアント条件式を評価するために使用されます。この例では,(选择信号)の既定値は正弦波です。このモデルをシミュレーションするとき,正弦波のインデックスである2风投にマッピングされます。バリアント条件VC = = 2真正的として評価されます。その結果,VC = = 1に関連付けられているVsrcブロックの1番目の入力端子は非アクティブになり,VC = = 2に関連付けられている2番目の入力端子がアクティブになります。

4.アクティブな選択肢を変更するには,マスクダイアログボックスで値常数を選択して,モデルを再度シミュレーションします。シミュレーション中,风投の値は1に設定され,バリアント条件VC = = 1真正的として評価されます。Vsrcブロックの1番目の入力端子がアクティブになり,2番目の入力端子が非アクティブになります。

方法2:マスク初期化変数をバリアント制御変数として使用

この節では,マスク初期化変数を使用して变体子系统ブロックのアクティブなバリアントの選択肢を制御する方法を説明します。この方法は,インラインバリアントブロックのアクティブなバリアントの選択肢を制御する場合にも使用できます。

变体子系统ブロックVSS2をもつモデルについて考えます。1。VSS2サブシステムでは,x2の制御式は= = 1で,x3の制御式は= = 2です。制御式で使用されている変数一个は,マスクワークスペースの[初期化]タブで定義される通常のMATLAB®変数です。一个のプロパティを表示するには,以下を行います。

一。VSS2サブシステムを右クリックします。

b。[マスク][マスクの編集)を選択します。[初期化]タブの(初期化コマンド]では,一个の値が1に設定されています。

シミュレーション中,この値はブロックに関連付けられたバリアント条件式を評価するために使用されます。このモデルをシミュレーションするときに,バリアント条件= = 1真正的として評価されます。x2サブシステムがアクティブになり,x3サブシステムが非アクティブになります。

3.アクティブな選択肢を変更するには,[初期化]タブで一个の値を2として指定してから,モデルを再度シミュレーションします。シミュレーション中に,= = 2真正的として評価されます。x2サブシステムがアクティブになり,x3サブシステムが非アクティブになります。

方法3:モデルワークスペース変数を变体子系统ブロックのバリアント制御変数として使用

この節では,モデルワークスペース変数を使用して变体子系统ブロックのアクティブなバリアントの選択肢を制御する方法を説明します。この方法は,インラインバリアントブロックのアクティブなバリアントの選択肢を制御する場合にも使用できます。

变体子系统ブロックVSS3をもつモデルについて考えます。1。VSS3サブシステムでは,x2の制御式はC = = 1で,x3の制御式はC = = 2です。条件式で使用されている変数Cは,モデルワークスペースで定義される通常のMATLAB®変数です。Cのプロパティを表示するには,以下を行います。

一个。[モデル化)タブで[モデルエクスプローラー]をクリックします。

b。[モデルの階層構造)ペインで[モデルワークスペース]をクリックします。Cの値が1に設定されます。

シミュレーション中,この値はブロックに関連付けられたバリアント条件式を評価するために使用されます。このモデルをシミュレーションするときに,バリアント条件C = = 1真正的として評価されます。x2サブシステムがアクティブになり,x3サブシステムが非アクティブになります。アクティブな選択肢を変更するには,Cの値を2として指定してから,モデルを再度シミュレーションします。シミュレーション中,バリアント条件C = = 2真正的として評価されます。x2サブシステムがアクティブになり,x3サブシステムが非アクティブになります。

方法4:マスク初期化スクリプトを使用した变体子系统ブロックのアクティブな選択肢の制御

この方法は,变体子系统のアクティブなバリアントの選択肢の制御には推奨されません。ただし,サブシステムの[バリアント制御モード]标签モードに設定されている場合,この方法を使用できます。詳細については,バリアントサブシステムのマスクを参照してください。

参考

マスクパラメーターを使用してロックされたカスタムライブラリのバリアントサブシステムのアクティブな選択肢を制御