主要内容

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

プログラムによるバリアント制御の作成

バリアント制御の作成およびエクスポート

制御変数を作成し,バリアント条件を定義し,制御変数をエクスポートします。

  1. グローバルワークスペースまたはデータディクショナリに制御変数を作成します。

    燃料= 2;工作= 1;
  2. 制御変数を使用し,金宝app仿真软件。变体オブジェクトを使用して制御条件を定義します。

    LinearController 金宝app=仿真软件。变体(“燃料= = 2 & &工作= = 1);

    メモ

    各シミュレーションの前に,バリアント条件を表す金宝app仿真软件。变体オブジェクトを定義します。

  3. 変数をグローバルワークスペースに保存した場合,エクスポートする制御変数を選択します。右クリックし(名前を付けて保存)をクリックして,垫ファイル名を指定します。

バリアント条件の再利用

一般的なバリアント条件をモデル間で再利用するには,金宝app仿真软件。变体オブジェクトを使用してバリアント制御条件を指定します。

金宝app仿真软件。变体オブジェクトを再利用することにより,条件式を定義する制御変数の値を変更することでバリアント条件を反映して動的にモデルの階層構造を変更します。

モデル例AutoSSVarは,金宝app仿真软件。变体オブジェクトを使用したバリアント制御条件の定義方法を示しています。

メモ

AUTOSARワークフローのバリアント制御条件を定義するには,金宝app仿真软件。变体オブジェクトを使用しなければなりません。

バリアント制御としての列挙型

列挙型を使用し,バリアント制御値として使う整数に意味のある名前を与えます。

  1. MATLAB®エディターで,列挙型の値を意味のある名前にマップするクラスを定義します。

    classdefsldemo_mrv_CONTROLLER_TYPE <仿金宝app真软件。IntEnumType枚举非线性二阶(1)结束结束
    < Simulink. classdef sldemo_mrv_B金宝appUILD_TYPE < Simulink. classdefIntEnumType枚举PROTOTYPE (1) PRODUCTION (2) end end
  2. これらのクラスに対して金宝app仿真软件。变体オブジェクトをグローバルワークスペース内に定義します。

    VE_NONLINEAR_CONTROLLER = 金宝appSimulink.Variant……(“E_CTRL = = sldemo_mrv_CONTROLLER_TYPE.NONLINEAR”)VE_SECOND_ORDER_CONTROLLER金宝app = Simulink.Variant……(“E_CTRL = = sldemo_mrv_CONTROLLER_TYPE.SECOND_ORDER”)VE_PROTOTYPE金宝app = Simulink.Variant……(“E_CURRENT_BUILD = = sldemo_mrv_BUILD_TYPE.PROTOTYPE”)VE_PRODUCTION金宝app = Simulink.Variant……(“E_CURRENT_BUILD = = sldemo_mrv_BUILD_TYPE.PRODUCTION”)

    列挙型を使用すると,整数ではなく値の名前が使用されるので,生成されたコードがわかりやすくなります。

関連する例

詳細