このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
AUTOSAR XML ファイル構造と要素情報のラウンド トリップの保存
AUTOSAR オーサリング ツール (AAT) と Simulink® との間の AUTOSAR 要素のラウンド トリップをサポートするために、ARXML インポートでは、インポートされた AUTOSAR XML ファイル構造とコンテンツが ARXML エクスポート用に保存されます。AUTOSAR コンポーネントの ARXML ファイルを Simulink® にインポートすると、インポーターで以下が保存されます。
AUTOSAR XML ファイル構造。インポートする ARXML ファイルを、エクスポート対象の ARXML ファイルと比較できます。
プロパティ、参照、およびパッケージを含む AUTOSAR 要素情報。インポーターでは、要素間の関係が保存されます。
インポート後に、AUTOSAR ディクショナリで AUTOSAR ソフトウェア コンポーネントの要素とプロパティを表示し、設定できます。AUTOSAR ディクショナリを使用して AUTOSAR 要素を設定します。プロパティの変更内容は、エクスポートされる ARXML 記述に反映されるほか、場合によっては生成される AUTOSAR 準拠の C または C++ コードにも反映されます。詳細については、AUTOSAR の要素とプロパティの設定またはAUTOSAR Adaptive の要素とプロパティの設定を参照してください。
Simulink® で作成した AUTOSAR 要素は、インポートされた XML ファイルとは異なる 1 つ以上の modelname
*.arxml
ファイルにエクスポートされます。AUTOSAR ディクショナリで XML オプションを設定して新しい要素のファイルのパッケージ化を制御します。たとえば、XML オプション [エクスポートされた XML ファイルのパッケージ化] を Single file
または Modular
に設定できます。詳細については、AUTOSAR XML オプションの設定またはAUTOSAR Adaptive XML オプションの設定を参照してください。
ARXML ファイルを Simulink® モデルからエクスポートすると、コード ジェネレーターではインポートされた XML ファイル構造、要素情報、および UUID を保持したまま変更が適用されます。エクスポートされたファイルには、インポートした同じ ARXML ファイルの更新されたバージョンと、[エクスポートされた XML ファイルのパッケージ化] を Single file
または Modular
のどちらに設定したかに基づき、1 つ以上の modelname
*.arxml
ファイルが含まれます。modelname
*.arxml
ファイルには次が含まれます。
実装の説明。
AUTOSAR インターフェイスまたはデータ関連要素を Simulink® に追加した場合は、インターフェイスとデータ説明。
Adaptive Platform の場合、AUTOSAR 実行可能ファイルとサービス インスタンスのマニフェストも含まれます。
作業フォルダーで、例の ARXML ファイル ThrottlePositionController.arxml
から Controller.slx
という名前の Simulink® モデルを作成したとします。
ar = arxml.importer('ThrottlePositionController.arxml'); createComponentAsModel(ar,'/Company/Components/Controller',... 'ModelPeriodicRunnablesAs','AtomicSubsystem');
作成されたモデルでは、CODE という名前の AUTOSAR ソフトウェア アドレス メソッド (SwAddrMethod) を追加して AUTOSAR ランナブル関数から参照します。
arProps = autosar.api.getAUTOSARProperties('Controller'); addPackageableElement(arProps,'SwAddrMethod',... '/AUTOSAR_Platform/SwAddrMethods','CODE','SectionType','Code') slMap = autosar.api.getSimulinkMapping('Controller'); mapFunction(slMap,'StepFunction','Runnable_Step','SwAddrMethod','CODE')
The function name value 'StepFunction' is obsolete and will be removed in a future release. For valid function name values, use autosar.api.getSimulinkMapping(modelName).find("Functions"). The function name value 'StepFunction' is obsolete and will be removed in a future release. For valid function name values, use autosar.api.getSimulinkMapping(modelName).find("Functions").
SwAddrMethod CODE パスとステップ関数のマッピング情報を表示します。
swAddrMethodPath = find(arProps,[],'SwAddrMethod','PathType','FullyQualified',... 'SectionType','Code')
swAddrMethodPath = 1x1 cell array
{'/AUTOSAR_Platform/SwAddrMethods/CODE'}
[arRunnableName,arRunnableSwAddrMethod] = getFunction(slMap,'StepFunction')
The function name value 'StepFunction' is obsolete and will be removed in a future release. For valid function name values, use autosar.api.getSimulinkMapping(modelName).find("Functions").
arRunnableName = 'Runnable_Step'
arRunnableSwAddrMethod = 'CODE'
AUTOSAR ディクショナリの [SwAddrMethods] ビュー、およびコード マッピング エディターの [関数] タブで変更を表示できます。
たとえば、コマンド slbuild('Controller')
を使用してモデルを作成します。モデルの [エクスポートされた XML ファイルのパッケージ化] が Modular
に設定されている場合、ビルドで次の ARXML ファイルがエクスポートされます。
ThrottlePositionController.arxml
— モデルの作成元となった ARXML ファイルの更新バージョン。変更を追跡するには、ARXML ファイルの前のバージョンを、最近エクスポートしたバージョンと比較できます。Controller_implementation.arxml
— コンポーネントの実装情報 (常に生成される)。Controller_datatype.arxml
— コンポーネント モデルへの SwAddrMethod の変更が反映されたデータ関連情報。このファイルでは、AUTOSAR パッケージ/AUTOSAR_Platform/SwAddrMethods
に SwAddrMethod コードが含まれます。