Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Simulink バス端子の使用による AUTOSAR 端子の構成

Classic および Adaptive の AUTOSAR ソフトウェア コンポーネントでは、Inport ブロックと Outport ブロックの代わりに、ルートレベルの Simulink® バス端子を使用して AUTOSAR 端子をモデル化できます。バス端子ブロック In Bus Element および Out Bus Element によってモデル インターフェイスを単純化できます。詳細については、バスを使用したサブシステム インターフェイスとモデル インターフェイスの簡略化を参照してください。

バス端子ブロックは、AUTOSAR 通信端子、インターフェイス、およびデータ要素のグループをモデル化するのに、より直観的な方法を提供します。AUTOSAR 端子を In Bus Element ブロックおよび Out Bus Element ブロックを使用してモデル化し、かつバス オブジェクトを使用してバス端子の型を指定する場合、AUTOSAR 端子の基本的なプロパティ、インターフェイス、およびデータ要素は AUTOSAR ディクショナリを使用しないで構成されます。コンポーネント インターフェイスを管理するには、Simulink バス オブジェクトを設定します。

以下と一緒にルートレベルのバス端子を使用できます。

  • レートベース モデリング スタイルまたはエクスポート関数モデリング スタイルを使用する AUTOSAR ソフトウェア コンポーネント。

  • AUTOSAR 信号ベースの通信。

  • Classic のキューに登録されている送信側/受信側 (S-R) または Adaptive のイベントベース メッセージングなどの AUTOSAR メッセージベース通信。

AUTOSAR アーキテクチャ モデルでは、バス端子をもつ Classic Platform コンポーネント モデルをリンクし、スケジュール エディターを使用して、シミュレーションをスケジュールできます。

Simulink バス端子の設定による AUTOSAR 端子のモデル化

Simulink バス端子を AUTOSAR モデルで構成するには次のようにします。

  1. AUTOSAR ソフトウェア コンポーネント モデルを作成、または開きます。このトピックの例では、モデル例 autosar_swc の書き込み可能なコピーを使用します。

    参考として、モデル例 matlabroot/help/toolbox/autosar/examples/mAutosarSwcBusPorts.slx では、この手順の最終結果が示されます。

  2. 2 つの In Bus Element ブロックをモデルに追加してルート入力端子として接続します。バス端子を同じ AUTOSAR 端子を共有しながら異なる要素をもつよう構成します。バス端子ブロックは AUTOSAR 端子と要素に自動的にマッピングされます。

    1. モデル内の既存の Inport ブロックを削除します。

    2. In Bus Element ブロックを作成します。[block parameters] ダイアログ ボックスを開きます。[Port name]ReceivePort に設定し、信号名を In1 に設定します。

    3. ブロックを最初の入力信号に接続します。ブロックのコピーを作成し、2 番目の入力信号に接続します。モデル キャンバス ([block parameters] ダイアログ ボックスではなく) で、2 番目のブロックの名前をクリックし In1In2 に変更します。

    4. In Bus Element ブロック パラメーター ダイアログ ボックスに両方の信号がリストされます。

      各信号を編集し [サンプル時間] をそれぞれ 1 および 2 に設定します。

  3. 2 つの Out Bus Element ブロックをモデルに追加し、ルート出力端子として接続します。バス端子を同じ AUTOSAR 端子を共有しながら異なる要素をもつよう構成します。バス端子ブロックは AUTOSAR 端子と要素に自動的にマッピングされます。

    1. モデル内の既存の Outport ブロックを削除します。

    2. Out Bus Element ブロックを作成します。[block parameters] ダイアログ ボックスを開きます。[Port name]SenderPort に設定し、信号名を Out1 に設定します。

    3. ブロックを最初の出力信号に接続します。ブロックのコピーを作成し、2 番目の入力信号に接続します。この場合、信号名は Out2 に自動的に設定されます。

      Out Bus Element ブロック パラメーター ダイアログ ボックスに両方の信号がリストされます。

  4. [アプリ] タブから、AUTOSAR Component Designer アプリを開きます。

    • コード マッピング エディターを使用して、レートベース関数が AUTOSAR ランナブルに正しくマッピングされていることを確認します。

      バス端子が AUTOSAR 端子に正しくマッピングされていることを確認します。

      各端子に選択されている AUTOSAR のデータ アクセス モードを調べます。参照モデル mAutosarSwcBusPorts は、暗黙的な送受信データ アクセスを指定して、autosar_swc の元の設定を一致させます。

    • オプションで、AUTOSAR ディクショナリを開いて AUTOSAR コンポーネント端子、ランナブル、S-R インターフェイス、データ要素を表示できます。

  5. モデルのコードを生成すると、次のようになります。

    • 生成された ARXML ファイル autosar_swc_component.arxml には、各サンプル レートについて Runnable_1s および Runnable_2s という名前の周期的なランナブルが記述されます。

    • 生成されたコード ファイル autosar_swc.c でレートベース関数 Runnable_1s および Runnable_2s が定義されます。

バス端子をバス オブジェクト型にすることによる AUTOSAR インターフェイスのモデル化

AUTOSAR インターフェイスを定義するには、バス端子をバス オブジェクト型とします。この例では、前の例で変更したものと同じ AUTOSAR ソフトウェア コンポーネント モデルを使用します。この例では autosar_swc の送信側インターフェイス Output_IfSenderInterface という名前の新しいインターフェイスで置き換えます。

  1. 変更された autosar_swc が開いている状態でバス エディターを開きます。[モデル化] タブの [設計] ギャラリーで、[バス エディター] を選択します。

  2. [バス エディター] ダイアログ ボックスで Simulink.Bus オブジェクトを追加し SenderInterface という名前を付けます。2 つの Simulink.BusElement オブジェクトを追加し、Out1 および Out2 という名前を付けます。

    オプションで、ダイアログを終了する前に、後で使用するために SenderInterface バス オブジェクトを MAT ファイルに保存します。モデル例 mAutosarSwcBusPorts は、MAT ファイルを読み込みません。代わりに、PreLoadFcn モデル コールバックを使用して、SenderInterface バス オブジェクトをプログラムにより作成します。

  3. SenderPort ブロックのダイアログ ボックスを開きます。SenderPort という名前のバス オブジェクトで一時停止し、表示されるボタンをクリックします。バス オブジェクトの [データ型][Bus:SenderInterface] に設定します。

  4. 新しいインターフェイスにより既存のマッピングされたインターフェイスが置き換えられているため、既存の送信側端子と送信側インターフェイスを明示的に削除しなければなりません。AUTOSAR Component Designer アプリを開き AUTOSAR ディクショナリを開きます。送信側端子 SenderPort および S-R インターフェイス Output_If を選択し削除します。

  5. 新しい送信側インターフェイスを生成しマッピングするには、関数 autosar.api.create を呼び出してモデル マッピングを更新するか、Ctrl+B キーを押してモデルのコードを生成します (Embedded Coder® が必要)。ここに関数 autosar.api.create の呼び出しがあります。

    autosar.api.create('autosar_swc');
  6. オプションで、AUTOSAR ディクショナリを開き、新しい送信側端子および S-R インターフェイス定義を表示します。

参考として、モデル例 matlabroot/help/toolbox/autosar/examples/mAutosarSwcBusPorts.slx では、この手順の最終結果が示されます。

参考

| |

関連する例

詳細