このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
この例では,金宝app仿真软件®モデルでバリアントパラメーターのアクティブな値とアクティベーションのタイミングを変更する方法を示します。
この例では,次の方法について説明します。
バリアント条件式を使用してバリアントパラメーターのアクティブな値を変更する。
バリアントのアクティベーションのタイミングを使用してアクティブな値を決定するタイミングを変更する。
バリアントパラメーターは複数の値をもつ場合があります。バリアントパラメーターのそれぞれの値は,1つのバリアント制御式に関連付けられます。シミュレーション中に,バリアントパラメーターの値は,真正的
と評価される条件に関連付けられます。これがバリアントパラメーターのアクティブな値です。假
と評価される条件に関連付けられる値は,パラメーターの非アクティブな値です。アクティブな値の間で切り替えを行うには,バリアント制御変数の値を変更します。詳細については,バリアントパラメーターを使用した値が異なるブロックパラメーターの再利用を参照してください。
この例を開始する前に,単純なバリアントパラメーターモデルの作成を完了することを推奨します。
1.モデルを開きます。
open_system ([matlabroot' / / simul金宝appink_variants /主/例子slexVariantParameters”])
このモデルで,获得ブロックの获得パラメーターは,金宝app仿真软件。VariantVariable
オブジェクトK1
およびK2
として指定されているバリアントパラメーターです。オブジェクトはslexVariantParameterData.m
ファイルで定義されています。
2.slexVariantParameterData.m
ファイルを開きます。このファイルは,[モデル化)、[モデル設定)、[モデルプロパティ]のPostLoadFcnコールバックで読み込まれます。
このファイルで,オブジェクトK1
およびK2
は,バリアント制御式V = = 1
およびV = = 2
に関連付けられた複数の値をもちます。オブジェクトの规范パラメーターを使用して,それぞれのオブジェクトについて,値の他に,次元,データ型などの属性を指定できます。
バリアント制御変数:金宝app仿真软件。VariantControl
オブジェクトV
の値により,シミュレーション中にK1
およびK2
のどちらの値がアクティブであるかが決定されます。V = = 1
が真正的
と評価される場合,V = = 1
に関連付けられた値がアクティブに,V = = 2
に関連付けられたすべての値が非アクティブになります。K1
のアクティブな値はGain1ブロックの获得パラメーターに代入され,K2のアクティブな値はGain2ブロックの获得パラメーターに代入されます。同様に,V = = 2
が真正的
と評価される場合,V = = 1
に関連付けられたすべての値が非アクティブに,V = = 2
に関連付けられたすべての値がアクティブになります。バリアントの制御の詳細については,变量参数的变量控制を参照してください。
バリアントのアクティベーションのタイミング:バリアントのアクティベーションのタイミングは,ブロック線図の更新中,またはコードのコンパイル中に,仿金宝app真软件がバリアントパラメーター获得のアクティブな値を設定するかを決定します。アクティベーションのタイミングは,生成されたコードに,K1
およびK2
のアクティブな値のみ,またはアクティブな値と非アクティブな値の両方が含まれていなければならないかを決定します。
この例では,V
の値が1
として指定され,バリアントのアクティベーションのタイミングが更新图
として指定されています。このモデルをシミュレーションするときに,V = = 1
は真正的
として評価されます。K1
の値は3.5
に設定されており,K2
の値は4.5
に設定されています。金宝app仿真软件はブロック線図の更新中にアクティブな値を決定します。このモデルからコードを生成すると,コードにはK1
およびK2
のアクティブな値のみが含まれます。
バリアント制御変数の値により,シミュレーション中にバリアントパラメーターのアクティブな値が決定されます。アクティブな値を切り替えるには,バリアント制御変数の値を変更します。
1.金宝app仿真软件ツールストリップで[実行]をクリックします。シミュレーション中に,V = = 1
は真正的
として評価されます。値3.5
および4.5
がV = = 1
に関連付けられているため,これらの値がそれぞれK1
およびK2
に代入されます。結果として,値は获得ブロックの获得パラメーターに代入されます。
2.获得パラメーターの値を変更するには,V
の値を2
に変更し,再度モデルのシミュレーションを行います。
V.Value = 2;
シミュレーション中に,V = = 2
に関連付けられているすべての値がK1
およびK2
に代入されます。結果として,値は获得ブロックの获得パラメーターに代入されます。
バリアントのアクティベーションのタイミングは,金宝app仿真软件がバリアントパラメーターのアクティブな値を選択するタイミングを決定します。アクティベーションのタイミングは,生成されたコードに,バリアント パラメーターのアクティブな値のみ、またはアクティブな値と非アクティブな値の両方が含まれていなければならないかを決定します。詳細については、ActivationTimeを参照してください。
アクティベーションのタイミングは以下のいずれかとして指定できます。
更新图
:V
のアクティベーションのタイミングを更新图
として指定するには,MATLAB®コマンドウィンドウで次のコマンドを入力します。次に,モデルのシミュレーションを再度実行します。
V.ActivationTime =“更新图”;
金宝app仿真软件は,信号属性を伝播する前に,ブロック線図の更新中にK1
およびK2
のアクティブな値を設定します。次元やデータ型などの信号属性は,モデル全体にわたって一貫性について解析されるわけではありません。生成されたコードにはK1
およびK2
のアクティブな値のみが含まれます。
更新图表分析所有选择
:V
のアクティベーションのタイミングを更新图表分析所有选择
として指定するには,MATLABコマンドウィンドウで次のコマンドを入力します。次に,モデルのシミュレーションを再度実行します。
V.ActivationTime =更新图表分析所有选项;
金宝app仿真软件は,信号属性を伝播した後に,ブロック線図の更新中にK1
およびK2
のアクティブな値を設定します。信号属性は,アクティブな値と非アクティブな値の両方に伝播されます。次元やデータ型などの信号属性は,モデル全体にわたって一貫性について解析されます。生成されたコードにはK1
およびK2
のアクティブな値のみが含まれます。
代码编译
:V
のアクティベーションのタイミングを代码编译
として指定するには,MATLABコマンドウィンドウで次のコマンドを入力します。次に,モデルのシミュレーションを再度実行します。
V.ActivationTime =代码编译的;
金宝app仿真软件はコードのコンパイル中にアクティブな選択を設定します。信号属性は,アクティブな値と非アクティブな値の両方に伝播されます。次元やデータ型などの信号属性は,モデル全体にわたって一貫性について解析されます。生成されたコードにはK1
およびK2
のアクティブな値と非アクティブな値の両方が含まれます。値がプリプロセッサ条件#如果
および# elif
内で囲まれます。