このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
AUTOSAR データ型のエクスポートの設定
AUTOSAR 規格では、基本データ型が実装データ型とアプリケーション データ型にマッピングされる、AUTOSAR データ型のアプローチを定義しています。アプリケーション データ型と実装データ型は、実際値の範囲、データ構造、物理セマンティクスなどのアプリケーションレベルの物理属性を、格納された整数の最小値と最大値やプリミティブ型の指定 (整数、論理値、実数など) などの実装レベルの属性と分離します。データ型のモデル化の詳細については、AUTOSAR データ型のモデル化を参照してください。
Simulink® で作成されたラウンドトリップのワークフローで AUTOSAR データ型がサポートされます。
AUTOSAR コンポーネントが Simulink で作成されている場合、AUTOSAR アプリケーション データ型、実装データ型および基本データ型が生成され、Simulink のデータ型に含まれている情報が保持されます。
MATLAB® 以外で作成された AUTOSAR コンポーネントが含まれるラウンドトリップ ワークフローでは、ARXML インポーターおよびエクスポーターによってデータ型の情報とインポートされた各 AUTOSAR データ型のマッピングが保持されます。
AUTOSAR データ型が Simulink で作成されている場合、データ型のエクスポートの一部を制御することができます。たとえば、アプリケーション データ型が生成されるタイミングの制御、AUTOSAR データ型マッピング セットにエクスポートされる AUTOSAR パッケージと省略名の指定、AUTOSAR 実装データ型に対する内部データ制約の ARXML エクスポートの強制実行を行えます。
アプリケーション データ型の生成の制御
AUTOSAR データ型が Simulink で生成される場合、既定では、ストレージ型をもつ固定小数点データ型と列挙データ型にのみ、アプリケーション基本データ型が生成されます。アプリケーション型を生成する既定の動作をオーバーライドする場合は、エクスポートされるそれぞれの AUTOSAR データ型に対して、実装型と基本データ型をもつアプリケーション型が生成されるように ARXML エクスポーターを構成できます。XML オプション パラメーター ImplementationDataType Reference (XMLOptions
の ImplementationDataTypeReference
プロパティ) を使用して次の値を指定できます。
Allowed
(既定の設定) — 生成された ARXML コード内で実装型の直接参照を許可します。アプリケーション データ型で AUTOSAR データ型の記述が必ずしも必要でない場合、実装データ型の参照を使用します。NotAllowed
— 生成された ARXML コード内で実装データ型の直接参照を許可しません。それぞれの AUTOSAR データ型に対してアプリケーション データ型が生成されます。
メモ
Simulink.ValueType
オブジェクトのエクスポート時には、生成された ARXML 内に実装型とアプリケーション型が常に生成されます。
MATLAB コマンド ウィンドウで ImplementationDataTypeReference
プロパティを設定するには、次のように AUTOSAR プロパティの関数呼び出し set
を使用します。
hModel = 'autosar_swc_expfcns'; addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); open_system(hModel); arProps=autosar.api.getAUTOSARProperties(hModel); set(arProps,'XmlOptions','ImplementationTypeReference','NotAllowed'); get(arProps,'XmlOptions','ImplementationTypeReference')
AUTOSAR ディクショナリで ImplementationDataTypeReference
プロパティを設定するには、[XML Options] を選択します。パラメーター [ImplementationDataType Reference] の値を設定します。[適用] をクリックします。
DataTypeMappingSet パッケージと名前の設定
Simulink で作成された AUTOSAR ソフトウェア コンポーネントについて、AUTOSAR データ型マッピング セットにエクスポートされる AUTOSAR パッケージと省略名を指定できます。エクスポートするデータ型マッピング セット パッケージを設定するには、AUTOSAR ディクショナリまたは AUTOSAR プロパティ関数 set
を使用して XMLOptions
の DataTypeMappingPackage
プロパティを設定します。
hModel = 'autosar_swc_expfcns'; addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); open_system(hModel); arProps=autosar.api.getAUTOSARProperties(hModel); set(arProps,'XmlOptions','DataTypeMappingPackage','/pkg/dt/DataTypeMappings'); get(arProps,'XmlOptions','DataTypeMappingPackage')
エクスポートされた ARXML コードでは、指定されたパッケージが使用されます。マッピング セットの既定の省略名は、コンポーネントン名 ASWC
の接頭辞が DataTypeMappingsSet
に付いた名前になります。
<DATA-TYPE-MAPPING-REFS> <DATA-TYPE-MAPPING-REF DEST="DATA-TYPE-MAPPING-SET"> /pkg/dt/DataTypeMappings/ASWCDataTypeMappingsSet</DATA-TYPE-MAPPING-REF> </DATA-TYPE-MAPPING-REFS> ... <AR-PACKAGE> <SHORT-NAME>DataTypeMappings</SHORT-NAME> <ELEMENTS> <DATA-TYPE-MAPPING-SET UUID="..."> <SHORT-NAME>ASWCDataTypeMappingsSet</SHORT-NAME> ... </DATA-TYPE-MAPPING-SET> </ELEMENTS> </AR-PACKAGE>
AUTOSAR プロパティ関数 addPackageableElement
を使用して、データ型マッピング セットの省略名を指定できます。次の例では、MATLAB コマンドを使用してカスタムのデータ型マッピング セット パッケージと名前を指定します。
% Add a new data type mapping set modelName = 'autosar_swc_expfcns'; addpath(fullfile(matlabroot,'/examples/autosarblockset/main')); open_system(modelName); propObj = autosar.api.getAUTOSARProperties(modelName); newMappingSetPath = '/myPkg/mySubpkg/MyMappingSets'; newMappingSetName = 'MappingSetName'; newMappingSet = [newMappingSetPath '/' newMappingSetName]; addPackageableElement(propObj,'DataTypeMappingSet',newMappingSetPath,newMappingSetName); % Configure the component behavior to use the new data type mapping set swc = get(propObj,'XmlOptions','ComponentQualifiedName'); ib = get(propObj,swc,'Behavior','PathType','FullyQualified'); set(propObj,ib,'DataTypeMapping',newMappingSet); % Force generation of application data types set(propObj,'XmlOptions','ImplementationTypeReference','NotAllowed'); % Build slbuild(modelName);
エクスポートされた ARXML コードでは、指定されたパッケージと名前が次のように使用されます。
<INTERNAL-BEHAVIORS> <SWC-INTERNAL-BEHAVIOR UUID="..."> <SHORT-NAME>IB</SHORT-NAME> <DATA-TYPE-MAPPING-REFS> <DATA-TYPE-MAPPING-REF DEST="DATA-TYPE-MAPPING-SET"> /myPkg/mySubpkg/MyMappingSets/MappingSetName</DATA-TYPE-MAPPING-REF> </DATA-TYPE-MAPPING-REFS> ... </SWC-INTERNAL-BEHAVIOR> </INTERNAL-BEHAVIORS>
ApplicationValueSpecification によるデータの初期化
アプリケーション データ型によって型が指定された AUTOSAR データ オブジェクトを初期化するために、AUTOSAR 規格 (R4.1 以降) では AUTOSAR のアプリケーション値指定 (ApplicationValueSpecification
) が必要です。Embedded Coder® では次のサポートを提供します。
ARXML インポーターでは、インポートされる ARXML ファイル内で検出された
ApplicationValueSpecification
を使用して、対応する Simulink モデルのデータ オブジェクトを初期化します。コード生成では、
ApplicationValueSpecification
を使用して AUTOSAR データの初期値を指定する ARXML コードをエクスポートします。
実装データ型によって型が指定された AUTOSAR パラメーターの場合、コード生成では、NumericalValueSpecification
および (列挙型については) TextValueSpecification
を使用して初期値を指定する ARXML コードがエクスポートされます。パラメーターの初期値に複数の値が指定されている場合は、生成されたコードでは ArrayValueSpecification
が使用されます。
AUTOSAR 内部データ制約のエクスポートの設定
AUTOSAR アプリケーションは、データ型に制限を実装したり、可能な値の範囲を制御するためにデータ制約を使用します。内部データ制約は実装データ型の最小値および最大値を表し、データの内部またはマシン ビューを反映しています。
既定では、コード生成は ARXML コードの AUTOSAR 実装データ型に関する内部データ制約情報をエクスポートすることはありません。実装データ型に関する内部データ制約のエクスポートを強制する場合は、XML オプションの [Internal DataConstraints Export] を選択します。
[Internal DataConstraints Export] を選択した場合、エクスポーターは AUTOSAR パッケージ内に内部データ制約を生成し、DataConstrs
という既定の名前で AUTOSAR データ型パッケージの固定された場所に配置します。必要に応じて XML オプション [Internal DataConstraints Package] を使用して、異なる AUTOSAR パッケージ名とパスを指定することもできます。
モデルにおいて AUTOSAR 内部データ制約情報のエクスポートを構成する方法は以下のとおりです。
AUTOSAR ディクショナリを開きます。[AUTOSAR] タブで [コード インターフェイス] 、 [AUTOSAR ディクショナリ] を選択します。
[XML Options] を選択します。XML オプションのビューで、[追加オプション] の下にある [Internal DataConstraints Export] を選択します。
必要に応じて、[追加パッケージ] の下にある [Internal DataConstraints Package] にパッケージ パスを入力します。
モデルをビルドして、生成されたコードを検証します。次に、ARXML コードにエクスポートされた AUTOSAR 内部データ制約の例を示します。
<AR-PACKAGE> <SHORT-NAME>IDC</SHORT-NAME> <ELEMENTS> ... <DATA-CONSTR UUID="..."> <SHORT-NAME>DC_SInt8</SHORT-NAME> <DATA-CONSTR-RULES> <DATA-CONSTR-RULE> <INTERNAL-CONSTRS> <LOWER-LIMIT INTERVAL-TYPE="CLOSED">-128</LOWER-LIMIT> <UPPER-LIMIT INTERVAL-TYPE="CLOSED">127</UPPER-LIMIT> </INTERNAL-CONSTRS> </DATA-CONSTR-RULE> </DATA-CONSTR-RULES> </DATA-CONSTR> </ELEMENTS> </AR-PACKAGE>
または、AUTOSAR XML オプション [Internal DataConstraints Export] と [Internal DataConstraints Package] をプログラムで設定できます。次に例を示します。
arProps = autosar.api.getAUTOSARProperties(hModel); set(arProps,'XmlOptions','InternalDataConstraintExport',true); set(arProps,'XmlOptions','InternalDataConstraintPackage','/pkg/misc/IDC');
詳細については、AUTOSAR XML オプションの設定を参照してください。