このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
AUTOSAR ソフトウェア コンポーネントのポストビルド バリアント条件の構成
AUTOSAR ソフトウェア コンポーネントはバリアントを使用して、定義された条件に基づき、AUTOSAR インターフェイスまたは実装を実行パスで有効または無効にします。コンポーネントの変動点は 2 つ以上のバリアントからの選択を表します。ポストビルド バリアントのバインディングにより、Simulink® でモデル化された AUTOSAR バリアントを、AUTOSAR ランタイム環境 (RTE) 関数呼び出しを使用して AUTOSAR ソフトウェア コンポーネントの起動時以降に有効にするように構成できます。これで、以下が可能になります。
ポストビルド変動点を含む AUTOSAR ソフトウェア コンポーネントを ARXML ファイルからインポートする。
共有
PostBuildVariantCriterion
およびPostBuildVariantCondition
定義を ARXML ファイルからインポートする。コンポーネント モデルで AUTOSAR ポストビルド変動点をモデル化する。
PostBuildVariantCriterions
およびPostBuildVariantConditions
を定義する ARXML バリアント記述をエクスポートする。AUTOSAR 関数
Rte_PbCon
の呼び出しで C コードを生成する。
コンポーネントに AUTOSAR バリアントをモデル化する Simulink バリアント ブロックが含まれている限り、AUTOSAR コンポーネント モデルの起動時にポストビルド バリアントを作成できます。あるいは、PostBuild
条件を含む ARXML ファイルをインポートし、AUTOSAR Blockset で、定義された各 PostBuildVariantCriterion
のパラメーター オブジェクトと、バリアントのアクティベーションのタイミングが startup
である関連する Variant Source ブロックと Variant Sink ブロックを作成できます。
ポストビルド条件を作成して構成する方法の例については、次のモデルを開いてください。
openExample('mAutosarVariantSubsystem.slx')
バリアントのアクティベーションのタイミングを起動に指定するには、コンポーネント モデルでバリアント ブロックの [ブロック パラメーター] を開き、[バリアントのアクティベーションのタイミング] を [起動]
に設定します。このモデルでは、Variant Subsystem ブロックを構成します。
ポストビルド条件をモデル化するには、MATLAB 変数を作成します。このモデルでは、バリアント条件を AUTOSAR.Parameter
データ オブジェクト rainSensor
として既に定義しています。このオブジェクトを MATLAB 変数のポストビルド条件として構成します。
rainSensor = 2;
Variant Subsystem ブロック ダイアログ ボックスで、ポストビルド定数値を基にしたバリアント条件ロジックを定義します。式または式が含まれる Simulink.VariantExpression
オブジェクトを指定できます。
モデルのコードを生成して ARXML をエクスポートすると、次のようになります。
エクスポートされた ARXML には、定義したポストビルド バリアント基準および条件の
PostBuildVariantCriterion
記述とPostBuildVariantCondition
記述が含まれています。<POST-BUILD-VARIANT-CONDITIONS> <POST-BUILD-VARIANT-CONDITION> <MATCHING-CRITERION-REF DEST="POST-BUILD-VARIANT-CRITERION"> /vss_pkg/vss_dt/PostBuildCriterions/rainSensor </MATCHING-CRITERION-REF> <VALUE>1</VALUE> </POST-BUILD-VARIANT-CONDITION> </POST-BUILD-VARIANT-CONDITIONS>
AUTOSAR ディクショナリの [XML オプション] を使用して、
PostBuildVariantCriterions
および関連するValueSets
をパッケージとして生成できます。生成された AUTOSAR C コードには、バリアントのバインディングのポストビルド条件を解決するための関数
Rte_PbCon
の呼び出しが含まれています。void Runnable_Step(void) { ... /* Outputs for Atomic SubSystem: '<Root>/Variant Subsystem' */ if (Rte_PbCon_mAutosarVariantSubsystem_c0()) { ... } else if (Rte_PbCon_mAutosarVariantSubsystem_c1()) { ... } /* End of Outputs for SubSystem: '<Root>/Variant Subsystem' */ ... }
ソフトウェアインザループ (SIL) シミュレーションでは、モデルのビルドによって、ポストビルド条件の解決に使用される関数
Rte_PbCon
のスタブ実装がスタブ フォルダーに生成されます。
参考
AUTOSAR.Parameter
| Variant Sink | Variant Source | Variant Subsystem, Variant Model, Variant Assembly Subsystem