Main Content

AUTOSAR ランナブルとイベントの設定

AUTOSAR ソフトウェア コンポーネントの内部動作は一連のランナブル エンティティ (Runnable) によって実装されます。ランナブルはランタイム環境 (RTE) で開始可能なコンポーネントによって提供されるオペレーションのシーケンスです。コンポーネントでは各ランナブルを有効にするイベントを設定します (タイミング イベント、データ受信、クライアント要求、モードの変更、コンポーネントの起動またはシャットダウン、トリガーなど)。

Simulink® では次のタイプの AUTOSAR イベントを設定できます。

イベント タイプワークフロー
DataReceivedEvent送信側/受信側 (S-R) 通信Programmatically Configure AUTOSAR Runnables and Events
DataReceiveErrorEvent送信側/受信側 (S-R) 通信DataReceiveErrorEvent のための AUTOSAR 受信ポートの設定
ExternalTriggerOccurredEvent外部トリガー イベント通信AUTOSAR 外部トリガー イベント通信の受信側の設定
InitEvent初期化ランナブルの有効化AUTOSAR 初期化ランナブル (R4.1) の設定
ModeSwitchEventモード スイッチ (M-S) 通信AUTOSAR モード スイッチ通信の設定
OperationInvokedEventクライアント/サーバー (C-S) 通信AUTOSAR クライアント/サーバー通信の構成
TimingEventランナブルの周期的な有効化Programmatically Configure AUTOSAR Runnables and Events

Simulink で AUTOSAR ランナブルを設定するには次を行います。

  1. AUTOSAR コード生成向けに構成されたモデルを開きます。この例では、モデル例 autosar_swc の書き込み可能なコピーを使用します。

  2. モデル内で、一連のオペレーションを実装しているルートレベル Simulink サブシステムまたは関数を作成または特定します。サブシステムまたは関数では C コードでエントリポイント関数を生成しなければなりません。autosar_swc では、サブシステム SS1 はレートベースのモデル ステップ関数 Runnable_1s を生成します。

  3. Simulink エントリ ポイント関数をマッピングする AUTOSAR ランナブルを作成または特定します。AUTOSAR ディクショナリを開きます。[AtomicComponents] を展開し、コンポーネントを展開し、[ランナブル] ビューを選択します。新しい AUTOSAR ランナブルを作成する必要がある場合はプラス記号をクリックします。モデル autosar_swc には周期的なランナブル Runnable_1s が含まれています。

  4. このランナブルが存在する行を選択して名前やシンボルなどのプロパティを設定します。指定した AUTOSAR ランナブルのシンボル名は ARXML 記述および C コードにエクスポートされます。AUTOSAR サーバーのランナブルの場合、ランナブル プロパティ canBeInvokedConcurrently を設定し、同時実行の制約を適用するかどうかを指定します。非サーバーのランナブルの場合、canBeInvokedConcurrentlyfalse に設定しておきます。詳細については、AUTOSAR サーバー ランナブルの同時実行制約を参照してください。

  5. ランナブルを有効にするイベントを設定します。選択したランナブルの [イベント] ペインに移動します。イベントを作成する必要がある場合は [イベントの追加] をクリックします。イベント名を入力し、イベント タイプを設定します。

    イベントを設定する手順はイベントのタイプによって異なります。イベントがデータ受信 (送信側/受信側) やクライアント要求 (クライアント/サーバー) など、通信インターフェイスに依存する場合、イベントを設定する前に通信インターフェイスを最初に設定しなければなりません。

    モデル autosar_swc では、周期的なランナブル Runnable_1sEvent_1s という名前の [TimingEvent] によって有効になります。

  6. Simulink エントリポイント関数を AUTOSAR ランナブルにマッピングします。コード マッピング エディターを開き [関数] タブを選択します。autosar_swc モデルについて、1 秒のサンプル時間をもつ周期関数を選択して、AUTOSAR ランナブル Runnable_1s にマッピングします。

ARXML 記述および C コード内の AUTOSAR ランナブルとイベント構成の結果を確認するには、モデルをビルドします。

AUTOSAR ソフトウェア コンポーネント モデルに複数のランナブルが含まれる場合、ランナブルの実行順序を設定できます。詳細については、AUTOSAR ランナブルの実行順序の設定を参照してください。

関連する例

詳細