Main Content

AUTOSAR.DualScaledParameter

AUTOSAR 二重スケール パラメーターの計算方法、キャリブレーション値、データ型、およびその他のプロパティの指定

AUTOSAR データの実行時キャリブレーションのために、R2018b と R2019a では、AUTOSAR コンポーネント パラメーターおよび変数へのモデル要素のグラフィカル マッピングが導入されました。コード マッピング エディターで、Simulink® モデルワークスペース パラメーターまたは内部信号、状態、またはデータストアを選択します。選択した要素を AUTOSAR コンポーネント パラメーターまたは変数にマッピングし、その AUTOSAR キャリブレーション属性を変更します。現在、ベース ワークスペース内の AUTOSAR パラメーターまたは信号オブジェクトを使用して AUTOSAR パラメーターまたは変数をモデル化している場合、コード マッピング エディター ワークフローに移行することを検討してください。詳細については、コード生成用の AUTOSAR 要素のマッピングを参照してください。

説明

このクラスは、同じ物理値の 2 つのスケール値を保存するオブジェクトを定義できるように AUTOSAR.Parameter クラスを拡張したものです。たとえば、温度測定の場合は、指定した計算方法で定義されている変換を使用して華氏のスケールと摂氏のスケールを保存できます。一方のスケール値を指定すると、AUTOSAR.DualScaledParameter は計算方法を使用してもう一方のスケール値を計算できます。

二重スケール パラメーターには次が含まれています。

  • キャリブレーション値。優先して使用する値です。

  • メイン値。Simulink で使用する実際値です。

  • 内部に格納された整数値。組み込みコードで使用される値です。

シミュレーションとコード生成の両方のモデルで AUTOSAR.DualScaledParameter オブジェクトを使用できます。コード生成の前に、計算方法を使用してパラメーターで内部値が計算されます。このオフラインの計算により、効率的なコードが生成されます。

キャリブレーション値を指定すると、パラメーターは計算方法を使用してメイン値を計算します。この方法は、1 次有理関数にすることができます。

y=ax+bcx+d

  • x はキャリブレーション値です。

  • y はメイン値です。

  • a および b は CalToMain 計算分子の係数です。

  • c および d は CalToMain 計算分母の係数です。

キャリブレーションの最小値と最大値を指定すると、メイン値の最小値と最大値が計算されます。Simulink は、パラメーター値の範囲チェックを行います。パラメーター オブジェクトの値が、指定した最小値と最大値およびデータ型に対応する範囲外であるときに警告が表示されます。

作成

以下で説明するように、関数 AUTOSAR.DualScaledParameter を使用して AUTOSAR.DualScaledParameter オブジェクトを作成します。

説明

DSParam = AUTOSAR.DualScaledParameter は既定のプロパティ値をもつ AUTOSAR.DualScaledParameter オブジェクトを返します。

ワークスペース オブジェクトを開いて、プロパティを確認および変更します。

プロパティ

[メイン属性] タブには、AUTOSAR.Parameter クラスから継承されたプロパティが表示されます。詳細については、AUTOSAR.Parameter を参照してください。

[キャリブレーション属性] タブには、二重スケール パラメーターのキャリブレーション プロパティが表示されます。

キャリブレーション値

パラメーターのキャリブレーション値。優先して使用する値です。既定値は [] (指定なし) です。有限で実数の double 値を指定します。

[キャリブレーション値] を指定する前に、[CalToMain 計算分子][CalToMain 計算分母] を指定して計算方法を定義しなければなりません。このパラメーターでは、計算方法とキャリブレーション値を使用して、Simulink で使用する実際値を計算します。

キャリブレーション最小値

キャリブレーション パラメーターの最小値。既定値は [] (指定なし) です。有限で実数の double のスカラー値を指定します。

[キャリブレーション最小値] を指定する前に、[CalToMain 計算分子][CalToMain 計算分母] を指定して計算方法を定義しなければなりません。このパラメーターでは、計算方法とキャリブレーション最小値を使用して、Simulink で使用する最小値あるいは最大値を計算します。1 次有理関数は厳密に単調で、増加または減少のどちらかです。増加する場合、キャリブレーション最小値を設定すると、メイン最小値が設定されます。減少する場合、キャリブレーション最小値を設定すると、メイン最大値が設定されます。

パラメーター値が最小値よりも小さいか、最小値がパラメーターのデータ型の範囲外である場合、Simulink で警告が生成されます。このような場合は、ブロック線図を更新したり、シミュレーションを開始したりすると、Simulink でエラーが生成されます。

キャリブレーション最大値

キャリブレーション パラメーターが取り得る最大値。既定値は [] (指定なし) です。有限で実数の double のスカラー値を指定します。

[キャリブレーション最大値] を指定する前に、[CalToMain 計算分子][CalToMain 計算分母] を指定して計算方法を定義しなければなりません。このパラメーターでは、計算方法とキャリブレーション最大値を使用して、Simulink で使用する対応する最大値あるいは最小値を計算します。1 次有理関数は厳密に単調で、増加または減少のどちらかです。増加する場合、キャリブレーション最大値を設定すると、メイン最大値が設定されます。減少する場合、キャリブレーション最大値を設定すると、メイン最小値が設定されます。

パラメーター値が最小値よりも小さいか、最小値がパラメーターのデータ型の範囲外である場合、Simulink で警告が生成されます。このような場合は、ブロック線図を更新したり、シミュレーションを開始したりすると、Simulink でエラーが生成されます。

CalToMain 計算分子

線形 1 次方程式の分子係数 a および b を指定します。

y=ax+bcx+d

既定値は [] (指定なし) です。a および b の有限で実数の double のスカラー値を指定します。たとえば、[1 1] または逆数スケーリングの場合は 1 のようにします。

[CalToMain 計算分子] は一度適用すると変更できません。

CalToMain 計算分母

線形 1 次方程式の分母係数 c および c を指定します。

y=ax+bcx+d

既定値は [] (指定なし) です。c および d の有限で実数の double のスカラー値を指定します。たとえば、[1 1] です。

[CalToMain 計算分母] は一度適用すると変更できません。

キャリブレーション名

キャリブレーション パラメーターの名前を指定します。既定値は '' です。テキスト値を指定します (たとえば、'T1')。

キャリブレーション単位

このキャリブレーション値の測定単位を指定します。このフィールドは、このパラメーターの説明を記述するためのものです。既定値は '' です。テキスト値を指定します (たとえば、'Seconds')。

コンフィギュレーションの有効性

Simulink は、コンフィギュレーションが有効かどうかを示します。既定値は true です。Simulink でコンフィギュレーションの問題が検出されると、このフィールドは false に設定され、[診断メッセージ] フィールドに情報が示されます。このフィールドは設定できません。

診断メッセージ

無効なパラメーター設定を指定すると、Simulink ではこのフィールドにメッセージが表示されます。診断情報を使用して、無効なコンフィギュレーションの問題を修正することができます。このフィールドは設定できません。

次の表に、キャリブレーション プロパティのコマンド ライン情報を示します。

名前

アクセス

説明

CalibrationValue

RW

このパラメーターのキャリブレーション値。[キャリブレーション値] を参照してください。

CalibrationMin

RW

このパラメーターのキャリブレーション最小値。[キャリブレーション最小値] を参照してください。

CalibrationMax

RW

このパラメーターのキャリブレーション最大値。[キャリブレーション最大値] を参照してください。

CalToMainCompuNumerator

RW

計算方法の分子係数。[CalToMain 計算分子] を参照してください。

CalToMainCompuNumerator は一度適用すると変更できません。

CalToMainCompuDenominator

RW

計算方法の分母係数。[CalToMain 計算分母] を参照してください。

CalToMainCompuDenominator は一度適用すると変更できません。

CalibrationName

RW

キャリブレーション パラメーターの名前。[キャリブレーション名] を参照してください。

CalibrationDocUnits

RW

このキャリブレーション パラメーターの値の測定単位。[キャリブレーション単位] を参照してください。

IsConfigurationValid

RO

コンフィギュレーションの有効性に関する情報。[コンフィギュレーションの有効性] を参照してください。

DiagnosticMessage

RO

コンフィギュレーションが無効な場合の問題の修正に役立つ診断情報。[診断メッセージ] を参照してください。

すべて折りたたむ

値を時間と周波数の両方として保存する AUTOSAR.DualScaledParameter オブジェクトを作成します。

T1Rec = AUTOSAR.DualScaledParameter;

計算方法を設定します。

T1Rec.CalToMainCompuNumerator = [1];  
T1Rec.CalToMainCompuDenominator = [1 0];

この計算方法では、使用する値の逆数を Simulink で使用する値として指定します。

使用する値を設定します。

T1Rec.CalibrationValue = 1/7
T1Rec = 

  DualScaledParameter with properties:

             CalibrationValue: 0.1429
               CalibrationMin: []
               CalibrationMax: []
      CalToMainCompuNumerator: 1
    CalToMainCompuDenominator: [1 0]
              CalibrationName: ''
          CalibrationDocUnits: ''
         IsConfigurationValid: 1
            DiagnosticMessage: ''
                        Value: 7
                    CoderInfo: [1×1 Simulink.CoderInfo]
                  Description: ''
                     DataType: 'auto'
                          Min: []
                          Max: []
                         Unit: ''
                   Complexity: 'real'
                   Dimensions: [1 1]

AUTOSAR.DualScaledParameter により、Simulink で使用する値 T1Rec.Value が計算されます。T1Rec.CalibrationValue1/7 であるため、T1Rec.Value7 になります。

この値に名前を付け、単位を指定します。

T1Rec.CalibrationName = 'T1';
T1Rec.CalibrationDocUnits = 'Seconds';

キャリブレーションの最小値と最大値を設定します。

T1Rec.CalibrationMin = 0.001;
T1Rec.CalibrationMax = 1;

この許容範囲外の値を指定すると、Simulink で警告が生成されます。

Simulink で使用する単位を指定します。

T1Rec.Unit = 'Hz';

AUTOSAR.DualScaledParameter のダイアログ ボックスを開きます。

open T1Rec

[キャリブレーション属性] タブに、指定したキャリブレーション値と計算方法が表示されます。

ダイアログ ボックスで [メイン属性] タブをクリックします。

このタブには、Simulink で使用される値に関する情報が表示されます。

二重スケール パラメーターを作成します。コード生成時にエクスポートされる ARXML コードに二重スケール パラメーターを含めるようにストレージ クラスを構成します。

二重スケール パラメーターを作成します。

T1Rec = AUTOSAR.DualScaledParameter;
T1Rec.CalToMainCompuNumerator = [1];  
T1Rec.CalToMainCompuDenominator = [1 0];
T1Rec.CalibrationValue = 1/7;
T1Rec.CalibrationName = 'T1';
T1Rec.CalibrationDocUnits = 'Seconds';
T1Rec.CalibrationMin = 0.001;
T1Rec.CalibrationMax = 1
T1Rec = 

  DualScaledParameter with properties:

             CalibrationValue: 0.1429
               CalibrationMin: 1.0000e-03
               CalibrationMax: 1
      CalToMainCompuNumerator: 1
    CalToMainCompuDenominator: [1 0]
              CalibrationName: 'T1'
          CalibrationDocUnits: 'Seconds'
         IsConfigurationValid: 1
            DiagnosticMessage: ''
                        Value: 7
                    CoderInfo: [1×1 Simulink.CoderInfo]
                  Description: ''
                     DataType: 'auto'
                          Min: 1
                          Max: 1000
                         Unit: ''
                   Complexity: 'real'
                   Dimensions: [1 1]

生成される ARXML コードにパラメーターを含めるようにパラメーターのストレージ クラスを設定します。

T1Rec.CoderInfo.StorageClass = 'Custom';
T1Rec.CoderInfo.CustomStorageClass = 'InternalCalPrm';

これで、パラメーターを Simulink モデルで使用できます。AUTOSAR 用にモデルを構成すると、そのモデルのコードを生成するときに、二重スケール パラメーターに関する情報を含む ARXML コードがコード ジェネレーターで生成されます。

バージョン履歴

R2013b で導入