このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
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 モデルで構成するには次のようにします。
AUTOSAR ソフトウェア コンポーネント モデルを作成、または開きます。このトピックの例では、モデル例
autosar_swcの書き込み可能なコピーを使用します。2 つの In Bus Element ブロックをモデルに追加してルート入力端子として接続します。バス端子を同じ AUTOSAR 端子を共有しながら異なる要素をもつよう構成します。バス端子ブロックは AUTOSAR 端子と要素に自動的にマッピングされます。
モデル内の既存の Inport ブロックを削除します。
In Bus Element ブロックを作成します。[ブロック パラメーター] ダイアログ ボックスを開きます。[端子名] を
ReceivePortに設定し、信号名をIn1に設定します。ブロックを最初の入力信号に接続します。ブロックのコピーを作成し、2 番目の入力信号に接続します。モデル キャンバス ([ブロック パラメーター] ダイアログ ボックスではなく) で、2 番目のブロックの名前をクリックし
In1をIn2に変更します。
In Bus Element ブロック パラメーター ダイアログ ボックスに両方の信号がリストされます。

各信号を編集し [サンプル時間] をそれぞれ 1 および 2 に設定します。
2 つの Out Bus Element ブロックをモデルに追加し、ルート出力端子として接続します。バス端子を同じ AUTOSAR 端子を共有しながら異なる要素をもつよう構成します。バス端子ブロックは AUTOSAR 端子と要素に自動的にマッピングされます。
モデル内の既存の Outport ブロックを削除します。
Out Bus Element ブロックを作成します。[ブロック パラメーター] ダイアログ ボックスを開きます。端子名を
SenderPortに設定し、信号名をOut1に設定します。ブロックを最初の出力信号に接続します。ブロックのコピーを作成し、2 番目の入力信号に接続します。この場合、信号名は
Out2に自動的に設定されます。
Out Bus Element ブロック パラメーター ダイアログ ボックスに両方の信号がリストされます。
[アプリ] タブから、AUTOSAR コンポーネント デザイナー アプリを開きます。
コード マッピング エディターを使用して、レートベース関数が AUTOSAR ランナブルにマッピングされていることを確認します。
[入力端子] タブで、両方の入力バス端子の [DataAccessMode] を
[ImplicitReceive]に変更します。入力バス要素がポート
ReceiverPortにマッピングされていることを確認します。[出力端子] タブで、両方の出力バス端子の [DataAccessMode] を
[ImplicitSend]に変更します。出力バス要素がポート
SenderPortにマッピングされていることを確認します。
モデルのコードを生成すると、次のようになります。
生成された ARXML ファイル
autosar_swc_component.arxmlには、各サンプル レートについてRunnable_1sおよびRunnable_2sという名前の周期的なランナブルが記述されます。生成されたコード ファイル
autosar_swc.cでレートベース関数Runnable_1sおよびRunnable_2sが定義されます。
バス端子をバス オブジェクト型にすることによる AUTOSAR インターフェイスのモデル化
AUTOSAR インターフェイスを定義するには、バス端子をバス オブジェクト型とします。この例では、前の例で変更したものと同じ AUTOSAR ソフトウェア コンポーネント モデルを使用します。この例では autosar_swc の送信側インターフェイス Output_If をバス オブジェクトで定義される SenderInterface という名前の新しいインターフェイスで置き換えます。
変更された
autosar_swcが開いている状態で型エディターを開きます。[モデル化] タブの [設計] ギャラリーで、[型エディター] を選択します。型エディターで
Simulink.Busオブジェクトを追加し、SenderInterfaceという名前を付けます。2 つのSimulink.BusElementオブジェクトを追加し、Out1およびOut2という名前を付けます。
SenderPortブロックのダイアログ ボックスを開きます。SenderPortという名前のバスを選択します。属性のタブが表示されない場合は
をクリックします。その後、[信号] タブで、バスの [データ型] を [Bus: SenderInterface]に設定します。
新しいインターフェイスにより既存のマッピングされたインターフェイスが置き換えられているため、既存の送信側端子と送信側インターフェイスを明示的に削除しなければなりません。AUTOSAR コンポーネント デザイナー アプリを開き AUTOSAR ディクショナリを開きます。送信側端子
SenderPortおよび S-R インターフェイスOutput_Ifを選択し削除します。新しい送信側インターフェイスを生成しマッピングするには、関数
autosar.api.createを呼び出してモデル マッピングを更新するか、Ctrl+B キーを押してモデルのコードを生成します (Embedded Coder® が必要)。ここに関数autosar.api.createの呼び出しがあります。autosar.api.create('autosar_swc');オプションで、AUTOSAR ディクショナリを開き、新しい送信側端子および S-R インターフェイス定義を表示します。

参考
In Bus Element | Out Bus Element | autosar.api.create