AUTOSAR 配列サイズの次元バリアントの設定
AUTOSAR ソフトウェア コンポーネントは、ポートなどの AUTOSAR 要素の次元を、システム定数へのシンボリック参照を使用して柔軟に指定できます。システム定数は、ポートのデータ型の配列サイズを定義します。Simulink® でバリアント配列サイズを使用して AUTOSAR 要素をモデル化するには、以下のようにします。
AUTOSAR 要素を表すブロックを作成する。
配列サイズの値を表すには、ストレージ クラスが
[SystemConstant]
のAUTOSAR.Parameter
データ オブジェクトを追加する。AUTOSAR 要素の配列サイズを指定するには、
AUTOSAR.Parameter
データ オブジェクトを参照する。
バリアント配列サイズを使用すると、シミュレーションのコードを再生成せずにモデル シミュレーション間のシステム定数の配列サイズ値を変更できます。モデルをビルドすると、生成された C および ARXML コードにバリアント配列サイズに対応するシンボルが含まれます。
Simulink 入力端子 In1
を作成して、バリアント配列サイズで AUTOSAR 受信ポートを表すとします。
In1
の次元を指定する AUTOSAR システム定数をモデル化するには、ストレージ クラスが SystemConstant
の AUTOSAR.Parameter
データ オブジェクト SymDimA
を作成します。データ型は符号付き 32 ビットの整数型でなければなりません。
SymDimA = AUTOSAR.Parameter; SymDimA.CoderInfo.StorageClass = 'custom'; SymDimA.CoderInfo.CustomStorageClass = 'SystemConstant'; SymDimA.DataType = 'int32'; SymDimA.Min = 1; SymDimA.Max = 100; SymDimA.Value = 5;
Inport ブロック In1
のダイアログ ボックスの [信号属性] タブで、[端子の次元] フィールドにパラメーター名 SymDimA
を入力します。
シンボリック次元がモデル全体に伝播されるようにするには、モデル コンフィギュレーション オプション [シンボリック次元指定の許可] を選択しなければなりません。
モデルのコードを生成すると、システム定数の名前 SymDimA
が C および ARXML コードに表示されて、バリアント配列サイズを表します。次に生成された C コードのサンプルを示します。
/* SignalConversion generated from: '<Root>/Vector Concatenate' */ for (i = 0; i < Rte_SysCon_SymDimA; i++) { rtb_VectorConcatenate[i] = tmpIRead[i];
次にエクスポートされた ARXML 記述のサンプルを示します。
<MAX-NUMBER-OF-ELEMENTS BINDING-TIME="PRE-COMPILE-TIME"> <SYSC-REF DEST="SW-SYSTEMCONST">/varDim_pkg/dt/SystemConstants/SymDimA</SYSC-REF> </MAX-NUMBER-OF-ELEMENTS>
参考
AUTOSAR.Parameter
| シンボリック次元指定の許可