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 ランナブルを設定するには次を行います。
AUTOSAR コード生成向けに構成されたモデルを開きます。この例では、モデル例
autosar_swc
の書き込み可能なコピーを使用します。モデル内で、一連のオペレーションを実装しているルートレベル Simulink サブシステムまたは関数を作成または特定します。サブシステムまたは関数では C コードでエントリポイント関数を生成しなければなりません。
autosar_swc
では、サブシステム SS1 はレートベースのモデル ステップ関数Runnable_1s
を生成します。Simulink エントリ ポイント関数をマッピングする AUTOSAR ランナブルを作成または特定します。AUTOSAR ディクショナリを開きます。[AtomicComponents] を展開し、コンポーネントを展開し、[ランナブル] ビューを選択します。新しい AUTOSAR ランナブルを作成する必要がある場合はプラス記号をクリックします。モデル
autosar_swc
には周期的なランナブルRunnable_1s
が含まれています。このランナブルが存在する行を選択して名前やシンボルなどのプロパティを設定します。指定した AUTOSAR ランナブルのシンボル名は ARXML 記述および C コードにエクスポートされます。AUTOSAR サーバーのランナブルの場合、ランナブル プロパティ
canBeInvokedConcurrently
を設定し、同時実行の制約を適用するかどうかを指定します。非サーバーのランナブルの場合、canBeInvokedConcurrently
をfalse
に設定しておきます。詳細については、AUTOSAR サーバー ランナブルの同時実行制約を参照してください。ランナブルを有効にするイベントを設定します。選択したランナブルの [イベント] ペインに移動します。イベントを作成する必要がある場合は [イベントの追加] をクリックします。イベント名を入力し、イベント タイプを設定します。
イベントを設定する手順はイベントのタイプによって異なります。イベントがデータ受信 (送信側/受信側) やクライアント要求 (クライアント/サーバー) など、通信インターフェイスに依存する場合、イベントを設定する前に通信インターフェイスを最初に設定しなければなりません。
モデル
autosar_swc
では、周期的なランナブルRunnable_1s
はEvent_1s
という名前の[TimingEvent]
によって有効になります。Simulink エントリポイント関数を AUTOSAR ランナブルにマッピングします。コード マッピング エディターを開き [関数] タブを選択します。
autosar_swc
モデルについて、1 秒のサンプル時間をもつ周期関数を選択して、AUTOSAR ランナブルRunnable_1s
にマッピングします。
ARXML 記述および C コード内の AUTOSAR ランナブルとイベント構成の結果を確認するには、モデルをビルドします。
AUTOSAR ソフトウェア コンポーネント モデルに複数のランナブルが含まれる場合、ランナブルの実行順序を設定できます。詳細については、AUTOSAR ランナブルの実行順序の設定を参照してください。
関連する例
- AUTOSAR ランナブルの実行順序の設定
- Simulink への AUTOSAR XML 記述のインポート
- AUTOSAR ランナブルのモデル化パターン
- AUTOSAR ソフトウェア コンポーネントのモデル化
- AUTOSAR コード生成の構成