このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
この例では,インラインバリアントブロックおよび变体子系统ブロックのアクティブな選択肢をマスクワークスペースまたはモデルワークスペースから制御するさまざまな方法を示します。バリアントブロックの詳細については,バリアントとは,およびどのような場合にそれを使用するかを参照してください。
この例では4つの仿真软金宝app件®モデルが緑色で強調表示され,1つのモデルが赤色で強調表示されています。緑色のモデルは,バリアントブロックのアクティブな選択肢を制御するための推奨方法を表しています。これらの方法では,バリアント制御変数のスコープを制限したり,名前の競合を回避したり,变体ブロック間での変数の所有権を明確にすることができます。異なるスコープの変数に対して同じ名前を使用することもできます。
open_system ([matlabroot' / / simul金宝appink_variants /主/例子slexVariantSubsystemCtrlFromMaskandModelWks”])
[バリアント制御モード]パラメーターが表达式
に設定され,[バリアントのアクティベーションのタイミング]パラメーターが更新图
に設定されている場合にのみ機能します。
金宝app仿真软件。变体
オブジェクトまたは金宝app仿真软件。参数
をバリアント制御変数として使用することはサポートされません。
モデル引数変数をバリアント制御変数として使用することはサポートされません。
バリアント制御変数は40文字を超えてはなりません。
マスクワークスペースから生じるバリアント制御変数はSLMASK
で始めてはなりません。
この節では,マスクパラメーターを使用して变体子系统ブロックおよびインラインバリアントブロックのアクティブなバリアントの選択肢を制御する方法を説明します。
マスクパラメーターを使用した变体子系统ブロックのアクティブな選択肢の制御
变体子系统ブロック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番目の入力端子が非アクティブになります。
この節では,マスク初期化変数を使用して变体子系统ブロックのアクティブなバリアントの選択肢を制御する方法を説明します。この方法は,インラインバリアントブロックのアクティブなバリアントの選択肢を制御する場合にも使用できます。
变体子系统ブロックVSS2をもつモデルについて考えます。1。VSS2サブシステムでは,x2の制御式は= = 1
で,x3の制御式は= = 2
です。制御式で使用されている変数一个
は,マスクワークスペースの[初期化]タブで定義される通常のMATLAB®変数です。一个
のプロパティを表示するには,以下を行います。
一。VSS2サブシステムを右クリックします。
b。[マスク]、[マスクの編集)を選択します。[初期化]タブの(初期化コマンド]では,一个
の値が1
に設定されています。
シミュレーション中,この値はブロックに関連付けられたバリアント条件式を評価するために使用されます。このモデルをシミュレーションするときに,バリアント条件= = 1
は真正的
として評価されます。x2サブシステムがアクティブになり,x3サブシステムが非アクティブになります。
3.アクティブな選択肢を変更するには,[初期化]タブで一个
の値を2
として指定してから,モデルを再度シミュレーションします。シミュレーション中に,= = 2
は真正的
として評価されます。x2サブシステムがアクティブになり,x3サブシステムが非アクティブになります。
この節では,モデルワークスペース変数を使用して变体子系统ブロックのアクティブなバリアントの選択肢を制御する方法を説明します。この方法は,インラインバリアントブロックのアクティブなバリアントの選択肢を制御する場合にも使用できます。
变体子系统ブロック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サブシステムが非アクティブになります。
この方法は,变体子系统のアクティブなバリアントの選択肢の制御には推奨されません。ただし,サブシステムの[バリアント制御モード]が标签
モードに設定されている場合,この方法を使用できます。詳細については,バリアントサブシステムのマスクを参照してください。