メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Simulink での AUTOSAR Classic コンポーネントと要素のモデル化

AUTOSAR Blockset を使用して、Simulink® モデルから AUTOSAR Classic ソフトウェア コンポーネントを作成し、Simulink でのテストや AUTOSAR ランタイム環境への統合用に AUTOSAR 準拠の C コードを生成できます。

Simulink モデルから次の方法で AUTOSAR Classic ソフトウェア コンポーネントを作成できます。

Simulink から AUTOSAR へのマッピング

Simulink モデルから AUTOSAR ソフトウェア コンポーネントを作成すると、Simulink のモデル要素が AUTOSAR 要素に変換されます。次の表に、Simulink モデリング要素とそれに対応する AUTOSAR 要素とのマッピングを示します。

Simulink 要素AUTOSAR 要素
エントリポイント関数ランナブル
入力端子データ読み取りアクセスまたはインターランナブル変数
出力端子データ書き込みアクセスまたはインターランナブル変数
状態または信号線インスタンスごとのメモリ
モデル パラメーター定数メモリまたは共有パラメーター
モデル パラメーター引数ポート パラメーターまたはインスタンスごとのパラメーター
データ ストアインスタンスごとのメモリ
関数呼び出し元クライアント ポートとオペレーション
レート変換ブロックインターランナブル変数

AUTOSAR ソフトウェア コンポーネントの作成

Simulink モデルから AUTOSAR Classic ソフトウェア コンポーネントを作成するには、以下のタスクを実行します。

AUTOSAR Classic Platform の構成

Simulink モデルを AUTOSAR Classic Platform に対して構成する方法は 2 つあります。

  • Simulink モデルを開き、モデル コンフィギュレーション パラメーターの [コード生成] セクションで [システム ターゲット ファイル][autosar.tlc] に設定します。モデルを保存して次のコマンドを実行します。

    autosar.api.create(modelName,"default");

  • Simulink モデルを開き、[アプリ] タブから AUTOSAR コンポーネント デザイナー アプリをクリックします。

コンポーネントの種類の選択

AUTOSAR Classic Platform の構成後、AUTOSAR コンポーネントのクイック スタート ウィンドウからコンポーネントの種類を選択できます。AUTOSAR ソフトウェア コンポーネントは、再使用可能な AUTOSAR ソフトウェアの基本ブロックです。AUTOSAR ソフトウェア コンポーネントは AUTOSAR ランタイム環境 (RTE) に接続して、他の AUTOSAR ソフトウェア コンポーネントおよび AUTOSAR ソフトウェア アーキテクチャの基本ソフトウェア (BSW) 層のソフトウェアと通信します。Simulink では、AUTOSAR ソフトウェア コンポーネントを、コンポジション モデルから参照されるモデル ブロックなどの Simulink モデル コンポーネントで表します。

AUTOSAR Blockset で定義できるソフトウェア コンポーネントの種類は次のとおりです。

コンポーネントの種類説明
アプリケーションソフトウェア アプリケーションの部分を実装します。AUTOSAR のすべての通信メカニズムとサービスを使用できます。
センサー/アクチュエータセンサーまたはアクチュエータの物理値を表す AUTOSAR 信号を提供します。
複雑なデバイス ドライバー複雑またはリソースクリティカルなセンサー評価やアクチュエータ制御のための機能を標準の AUTOSAR BSW スタックの外部でモデル化します。
ECU の抽象化対応するハードウェア要素への参照が含まれていて、ECU の特定の I/O 機能へのアクセスを提供します。
サービス プロキシ1 つ以上のリモート ECU の代わりに内部サービスへのアクセスを提供します。

ポートとインターフェイスの定義

AUTOSAR コンポーネントは、ポートを通じて他の AUTOSAR ソフトウェア コンポーネントや BSW サービスと通信します。通信パートナーに情報を送信するポートと通信パートナーから情報を受信するポートがあります。コンポーネントが所有する各ポートは、コンポーネントの機能要件に基づいて通信インターフェイスにマッピングされます。

ソフトウェア コンポーネントはポートを通じて相互に通信できます。AUTOSAR で使用されるポートの種類は次のとおりです。

  • 要求側ポート — ソフトウェア コンポーネントが他のエンティティからデータを受信するとき、つまり要求するときに使用します。

  • 提供側ポート — ソフトウェア コンポーネントが他のエンティティにサービスを送信するとき、つまり提供するときに使用します。

ポートが提供または要求する要素やオペレーションはポート インターフェイスで指定されます。

コンポーネント ポートの AUTOSAR 通信を構成するには、AUTOSAR インターフェイスを作成し、そのインターフェイスにポートをマッピングしてから、インターフェイスの種類に応じて、ルートの入力端子と出力端子のブロックなど、必要となる Simulink 要素を AUTOSAR ポートにマッピングします。AUTOSAR Blockset で定義できるインターフェイスの種類は次のとおりです。

インターフェイスの種類説明
送信側/受信側インターフェイス

送信側/受信側インターフェイスは、ソフトウェア コンポーネントと他のソフトウェア コンポーネントの間、あるいは BSW モジュールとの間で、送信ポートと受信ポートを使用して一方向でデータを交換します。送信ポートは、1 つ以上の受信側にデータを書き込む提供側ポートです。受信ポートは、1 つ以上の送信側からデータを読み取る要求側ポートです。

送信側/受信側インターフェイスでは VariableDataPrototypesDataElements として定義します。

モード スイッチ インターフェイスモード スイッチ インターフェイスは、ソフトウェア コンポーネントにモードを通知します。モード スイッチ インターフェイスをもつポートを ECU の境界を越えて接続することはできません。
クライアント/サーバー インターフェイス

クライアント/サーバー インターフェイスは、サーバー側で利用可能にしてクライアント側で使用するオペレーションを定義します。

サーバー ポートは、1 つ以上のクライアントで呼び出すことができるオペレーションを提供します。サーバーはクライアントから通信リクエストの着信があるまで待機し、リクエストされたサービスを実行し、リクエストに対するレスポンスを送ります。

クライアント ポートは、互換性のあるいずれかのサーバー ポートのオペレーションを呼び出す要求側ポートです。クライアントは通信を開始し、サーバーにサービスを実行するようにリクエストし、必要に応じてパラメーター セットを転送します。

クライアント/サーバー インターフェイスのオペレーションの呼び出しは、同期通信または非同期通信のいずれかにすることができます。いずれの場合も、クライアントはサーバーからのレスポンスを待機します。

不揮発性データ インターフェイス不揮発性データ インターフェイスは、不揮発性ブロック ソフトウェア コンポーネントに属していなければなりません。
パラメーター インターフェイスパラメーター インターフェイスは、定数データ、固定データ、キャリブレーション データへのパラメーター ソフトウェア コンポーネントのアクセスを有効にします。パラメーター ソフトウェア コンポーネント タイプはキャリブレーション パラメーターを含むメモリのみを表すため、パラメーター インターフェイスに接続される送信ポートと受信ポートは同じ ECU になければなりません。
トリガー インターフェイス交換するデータがない場合やトリガーの応答時間を短くする必要がある場合、ソフトウェア コンポーネントはトリガー インターフェイスを使用して別のソフトウェア コンポーネントをトリガーできます。

詳細については、AUTOSAR ポートの設定を参照してください。

ポートとインターフェイスを定義すると、Simulink モデルで AUTOSAR コンポーネントが表されます。以下のような AUTOSAR 固有の要素を追加できます。

  • ランナブル — RTE で 1 つ以上の RTEEvents からランナブルを有効にできます。RTE は他のコンポーネントとの間で、そのソフトウェア コンポーネントのポートを使用して通信できます。詳細については、AUTOSAR ランナブルの設定を参照してください。

  • インターランナブル変数 — ソフトウェア コンポーネントのインスタンスの内部にあるランナブルは、VariableDataPrototype をインターランナブル変数として定義することでデータを交換できます。インターランナブル変数に、そのソフトウェア コンポーネントの内部動作以外からアクセスすることはできません。詳細については、AUTOSAR インターランナブル変数の設定を参照してください。

AUTOSAR の要素とプロパティの設定

Simulink では、AUTOSAR ディクショナリとコード マッピング エディターを個別にまたは組み合わせて使用して、AUTOSAR ソフトウェア コンポーネントをグラフィカルに設定し、Simulink モデル要素を AUTOSAR コンポーネント要素にマッピングできます。詳細については、AUTOSAR コンポーネントの構成を参照してください。

AUTOSAR ディクショナリには、マッピングされた AUTOSAR コンポーネントとその要素、通信インターフェイス、計算方法 (CompuMethod)、ソフトウェア アドレス メソッド (SwAddrMethod)、XML オプションがツリー形式で表示されます。ツリーを使用して AUTOSAR 要素を選択し、そのプロパティを設定します。プロパティの変更内容は、エクスポートされる ARXML 記述に反映されるほか、場合によっては生成される AUTOSAR 準拠の C コードにも反映されます。詳細については、AUTOSAR の要素とプロパティの設定を参照してください。

AUTOSAR コードの構成と生成

AUTOSAR 準拠の C コードを生成し、ARXML 記述を AUTOSAR ソフトウェア コンポーネント モデルからエクスポートできます。

AUTOSAR ソフトウェア コンポーネント モデルのビルドには Embedded Coder® を使用します。Classic ソフトウェア コンポーネント モデルをビルドすると、C コードが生成され、AUTOSAR Classic Platform 仕様に準拠した ARXML 記述がエクスポートされます。

C コードと ARXML 記述を特定の AUTOSAR スキーマ バージョンに従って生成するように AUTOSAR コード生成を構成することもできます。XML オプション ソース、AUTOSAR パッケージ パス、プラットフォーム型を指定し、既定の AUTOSAR コード生成オプションを変更することもできます。スキーマ バージョンの詳細については、[スキーマ バージョンの XML ファイルの生成] (Embedded Coder) を参照してください。

  • AUTOSAR コード生成パラメーターを構成するには、Simulink モデルの [コンフィギュレーション パラメーター] ダイアログで [コード生成][AUTOSAR コード生成オプション] を選択します。

  • AUTOSAR XML エクスポート オプションを構成するには、AUTOSAR ディクショナリまたは autosar.api.getAUTOSARProperties 関数を使用します。

AUTOSAR コード生成の構成の詳細については、AUTOSAR XML Options Settingsautosar.api.getAUTOSARPropertiesAUTOSAR コード生成の構成を参照してください。

AUTOSAR Classic ソフトウェア コンポーネントを作成して C コードと ARXML 記述を生成する例については、AUTOSAR ソフトウェア コンポーネントの作成と設定を参照してください。

参考

|

トピック