Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

非同期イベント

非同期のサポート

通常、"周期的な" 割り込みソース (ハードウェア タイマーなど) からコードを生成する予定のモデルに時間を指定します。周期的なクロック シングルレート モデルのブロックは、タイマー割り込みレート (モデルの基本レート) で実行されます。周期的なクロック マルチレート モデルのブロックは、基本レートまたはそのレートの倍数で実行されます。

また、多くのシステムは、システムの周期的なタイミング ソースに対して "非同期" となるイベントに対応して、ブロックの実行をサポートしなければなりません。たとえば、周辺装置は、割り込みを生成して、入力操作の完了の信号を送信します。システムは、たとえば割り込み機器からデータを取得して、このような割り込みを与えなければなりません。

このトピックでは、ブロックを使用して、ハードウェアで生成された割り込みの点検、タイマーの保守、非同期の読み取り/書き込み操作、RTOS (リアルタイム オペレーティング システム) での非同期タスクの発生など、非同期イベントの処理に使用するコードをモデル化および生成する方法について説明します。ブロックのターゲットは RTOS 例ですが、コンテンツのソース コード解析と他の情報を使用して、別のターゲット RTOS の非同期イベント処理をサポートするブロックを作成することもできます。

リアルタイム オペレーティング システムの呼び出しのブロック ライブラリ

モデルでリアルタイム オペレーティング システム (RTOS) の非同期のサポートを実装するには、vxlib1 または Interrupt Templates ブロック ライブラリ内のブロックを使用します。どちらのライブラリにも、Async Interrupt ブロックおよび Task Sync ブロックが含まれます。割り込みレベル コードを生成するには Async Interrupt ブロックを使用します。Function Call Subsystem を呼び出す RTOS タスクを発生させるには、Task Sync ブロックを使用します。

ブロック ライブラリ vxlib1 には、Protected RT ブロックおよび Unprotected RT ブロックも含まれます。これらは、データ転送中のデータ整合性を確保する、または確定的なデータ転送を確保するために事前構成された Rate Transition ブロックのバージョンです。

2 つのライブラリに含まれるブロックは、特定の RTOS をサポートするために、サンプルとしてそのまま使用することも、変更を加えて使用することもできます。vxlib1 ライブラリのブロックは、VxWorks® RTOS を操作するために事前構成されています。

vxlib1 ブロック ライブラリを開くには、MATLAB® コマンド プロンプトで「vxlib1」と入力します。

1

非同期サポートの実装の詳細

目的関連情報
割り込みサービス ルーチン (ISR) を生成する。Generate Interrupt Service Routines
RTOS の非同期サポートを実装するために、Async Interrupt ブロックと Task Sync ブロックをカスタマイズする。カスタマイズされた非同期ライブラリの作成
非同期コンテキストで、事前構成された Rate Transition ブロックを使用する。Rate Transitions ブロックと Asynchronous ブロック
マルチタスク レートベース モデルのレート変換を処理する。時間ベースのスケジューリングとコード生成
VxWorks RTOS に対するシステム呼び出しを理解する。Wind River® Web サイトの VxWorks システム ドキュメンテーションを参照してください。

関連するトピック


1 VxWorks is a registered trademark of Wind River Systems, Inc.