このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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 ファイルの構造と要素の情報を保持したまま変更が適用されます。エクスポートされたファイルには、インポートした同じ 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,"Periodic","Runnable_Step","SwAddrMethod","CODE")
SwAddrMethod CODE パスと周期関数のマッピング情報を表示します。
swAddrMethodPath = find(arProps,[],"SwAddrMethod","PathType","FullyQualified",... "SectionType","Code")
swAddrMethodPath = 1×1 cell array
{'/AUTOSAR_Platform/SwAddrMethods/CODE'}
[arRunnableName,arRunnableSwAddrMethod] = getFunction(slMap,"Periodic")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にSwAddrMethodCODEが含まれます。