イベントベースのスケジューリング
モデルには、以下のような非同期イベントを処理するコードを生成するブロックを含めることができます。
ハードウェアで生成された割り込み
経過時間タイマー
非同期の読み込みおよび書き込み操作
リアルタイム オペレーティング システム (RTOS) によって発生した非同期タスク
シミュレーションの場合、非同期イベント データを Function-Call Subsystem にインポートできます。
ブロック
Asynchronous Task Specification | 非同期タスクの優先順位を指定します。このタスクは、非同期割り込みによってトリガーされる参照モデルによって表現されます。 |
Async Interrupt | 下流のサブシステムまたは Task Sync ブロックを実行する Versa Module Eurocard (VME) 割り込みサービス ルーチン (ISR) を生成 |
Idle Task | フリーラン タスクの作成 |
Task Sync | 下流の Function-Call Subsystem または Stateflow チャートのコードを、RTOS 例 (VxWorks) のタスクを発生させることによって実行する |
トピック
- 非同期イベント
システムの周期的なタイミング ソースに対して "非同期" となるイベントに対応して、ブロックの実行をサポートするモデルを設計します。
- Rate Transitions ブロックと Asynchronous ブロック
Rate Transition ブロックを使用して非同期のブロックとのデータ転送を処理します。
- 割り込みサービス ルーチンの生成
特定の VME 割り込みレベルに関連付けられている割り込みサービス ルーチン (ISR) を生成します。
- RTOS タスクの例の発生と同期
マルチタスク リアルタイム オペレーティング システム (VxWorks®) 上で非同期イベントをシミュレーションしてコードを生成します。
- RTOS の非同期イベントを参照モデルの入力として渡す
参照モデルに入力として渡される非同期イベントをトリガーするモデルのコードを生成します。
- 非同期タスクにおけるタイマー
コード ジェネレーターを使用して非同期タスクのコンテキストで実行されるブロックでは、絶対時間と経過時間のタイミング データを管理します。
- カスタマイズされた非同期ライブラリの作成
vxlib1 ライブラリ ブロックをテンプレートとして使用する非同期イベントの処理をサポートするカスタム ブロックを作成します。
- シミュレーションのための非同期イベント データのインポート
非同期イベント データを Function-Call Subsystem にインポートします。
- 外部コード ベースにエクスポートするコンポーネント ソース コードの生成
モデル コンポーネントから生成する C/C++ ソース コードを、Simulink® 環境外で作成されたコードと統合する。
- Simulink Function ブロックとコードの生成
Simulink Function ブロックから再利用可能なコードを生成する。
- 非同期サポートの確認事項
非同期イベント サポートの制限。