主要内容

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

バリアントパラメーターのアクティブな値とアクティベーションのタイミングの変更

この例では,金宝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.5V = = 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内で囲まれます。

参考