AUTOSAR 規格に準拠したモデルの開発
AUTOSAR 準拠の C コードを生成し、AUTOSAR XML (ARXML) 記述を Simulink® モデルからエクスポートします。
AUTOSAR Blockset ソフトウェアは、オープンで標準化された車戴ソフトウェア アーキテクチャ AUTomotive Open System ARchitecture (AUTOSAR) をサポートしています。AUTOSAR のコンポーネントは、自動車メーカー、サプライヤーおよびツール開発者によって共同開発されました。Simulink で AUTOSAR コンポーネントを開発するには、次の一般的なワークフローに従います。
AUTOSAR コンポーネントの Simulink 表現を作成します。
AUTOSAR 構成を調整し、アルゴリズム モデル コンテンツを作成することによりコンポーネントを開発します。
Simulink でのテストまたは AUTOSAR ランタイム環境への統合のための ARXML 記述とアルゴリズム C コードまたは C++ コードを生成します。(AUTOSAR コード生成には Simulink Coder™ および Embedded Coder® が必要です。)
AUTOSAR コード生成用のモデルの準備
AUTOSAR 準拠の C コードの生成手順と AUTOSAR モデルからの ARXML 記述のエクスポート手順を確認するには、モデルを開いて AUTOSAR コード生成用に準備します。
AUTOSAR コードと記述の生成に使用するモデルを開きます。コード生成用に設定されていないモデルや一部のみ設定されたモデルでもかまいません。この例では AUTOSAR のモデル例 autosar_swc
を使用します。
open_system('autosar_swc.slx');
モデルを AUTOSAR コード生成用に準備するには、Embedded Coder クイック スタートを使用します。[アプリ] タブから、AUTOSAR コンポーネント デザイナー アプリを開きます。[AUTOSAR] タブで [クイック スタート] をクリックします。
クイック スタートの手順に従います。[出力] ウィンドウで、出力オプション [AUTOSAR に準拠する C コード] を選択します。
クイック スタート ソフトウェアにより、次の手順に従って AUTOSAR ソフトウェア コンポーネント モデルが設定されます。
モデルのコード生成設定が構成されます。AUTOSAR ターゲットがまだ選択されていない場合は、モデル コンフィギュレーション パラメーターの [システム ターゲット ファイル] が
autosar.tlc
に設定され、[スキーマ バージョンの XML ファイルの生成] が既定のスキーマの値に設定されます。AUTOSAR マッピングが存在しない場合、モデルのマッピングされた AUTOSAR ソフトウェア コンポーネントが作成されます。
モデルのビルドが実行されます。
最後のウィンドウで [終了] をクリックすると、AUTOSAR コードのパースペクティブでモデルが開きます。コード パースペクティブには、モデルに加え、モデルのすぐ下にコード マッピング エディターが表示されます。
AUTOSAR ソフトウェア コンポーネントの Simulink 表現の開発
AUTOSAR ソフトウェア コンポーネント モデルを Simulink で作成した後、コード マッピング エディターと AUTOSAR ディクショナリを使用して AUTOSAR コンポーネントをさらに詳細に開発します。詳細については、AUTOSAR コンポーネントの構成 (AUTOSAR Blockset)を参照してください。
コード マッピング エディターには、Simulink モデルのエントリポイント関数、入力端子、出力端子、データ転送などの要素が各タブに表形式で表示されます。このエディターを使用して、Simulink モデルのパースペクティブで Simulink モデル要素を AUTOSAR コンポーネント要素にマッピングします。AUTOSAR コンポーネントの要素は AUTOSAR 規格で定義されており、ランナブル エンティティ、ポート、インターランナブル変数 (IRV) などが含まれます。
コード マッピング エディターで、モデル要素を選択すると、モデル内で強調表示され、編集アイコン が表示されます。要素の追加の AUTOSAR プロパティを表示するには、アイコンをクリックします。ここで、モデル入力端子の AUTOSAR プロパティが表示されます。
コード マッピング エディターの各タブで、モデルの要素を選択し、それらの AUTOSAR マッピングや属性を変更することができます。変更内容は、生成される ARXML 記述と C コードに反映されます。この例で AUTOSAR モデル例 autosar_swc
を使用する場合、マッピングされた Simulink 入力端子 In1_1s
の通信属性を変更します。AUTOSAR プロパティの表示で、AliveTimeout
属性を 60 から 30 に変更し、HandleNeverReceived
をクリアから選択に変更し、InitValue
を 0 から 1 に変更します。
マッピングされた AUTOSAR ソフトウェア コンポーネントの AUTOSAR プロパティを設定するには、AUTOSAR ディクショナリを開きます。コード マッピング エディターで、AUTOSAR ディクショナリ ボタン (左端のボタン) をクリックします。コード マッピング エディターで最後に選択してマッピングした Simulink 要素に対応する AUTOSAR のビューで AUTOSAR ディクショナリが開きます。Simulink 入力端子を選択してマッピングした場合、[ReceiverPorts] ビューでディクショナリが開き、入力端子をマッピングした AUTOSAR ポートが表示されます。
AUTOSAR ディクショナリには、マッピングされた AUTOSAR コンポーネントとその要素、通信インターフェイス、計算方法、ソフトウェアのアドレス メソッド、XML オプションがツリー形式で表示されます。このディクショナリを使用して、AUTOSAR コンポーネントのパースペクティブで AUTOSAR の要素とプロパティを設定します。
[ReceiverPorts] ビューで、コード マッピング エディターで Simulink 入力端子をマッピングした AUTOSAR 受信ポートを選択します。AUTOSAR 要素に追加の非表示の属性がある場合は、要素を選択すると表示されます。それぞれの AUTOSAR 要素のビューで、AUTOSAR 要素の追加や名前の変更、表示されたプロパティの変更を行うことができます。変更内容は、生成される ARXML 記述と C コードに反映されます。
この例で AUTOSAR モデル例 autosar_swc
を使用する場合、AUTOSAR 受信ポートの名前を ReceivePort
から RequirePort
に変更してください。編集を開始するには、[Name] 値フィールドをクリックします。
C コードと ARXML 記述の生成
Simulink Coder および Embedded Coder ソフトウェアをお持ちの場合、AUTOSAR モデルをビルドできます。AUTOSAR モデルをビルドすると、AUTOSAR 準拠の C コードが生成され、ARXML 記述がエクスポートされます。モデル ウィンドウで、Ctrl+B キーを押します。
ビルドが完了すると、コード生成レポートが開きます。レポートを確認します。コード マッピング エディターと AUTOSAR ディクショナリでの変更内容が C コードと ARXML 記述に反映されていることを確認します。たとえば、[検索] フィールドを使用して、変更を加えて名前を変更した AUTOSAR 受信ポートの名前を検索します。
生成された C コードでは、AUTOSAR ランタイム環境 API の読み取り呼び出しに、AUTOSAR 受信ポート名がエンコードされます。
生成された AUTOSAR 受信ポートの ARXML 記述では、ポートの通信属性 AliveTimeout
、HandleNeverReceived
、InitValue
に変更後のポート名と変更後の値が使用されます。
関連するリンク
コード生成 (AUTOSAR Blockset)
AUTOSAR コンポーネントの構成 (AUTOSAR Blockset)