このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Async Interrupt
下流のサブシステムまたは Task Sync ブロックを実行する Versa Module Eurocard (VME) 割り込みサービス ルーチン (ISR) を生成
ライブラリ:
Simulink Coder /
Asynchronous /
Interrupt Templates
説明
Async Interrupt ブロックは RTOS 例 (VxWorks®) で指定した VME 割り込みレベルごとに以下のいずれかを呼び出す割り込みサービス ルーチン (ISR) を生成します。
Function Call Subsystem
Task Sync ブロック
関数呼び出し入力イベント用に構成された Stateflow® チャート
メモ
シミュレーションとコード生成用に Interrupt Templates ブロック ライブラリ (Async Interrupt と Task Sync) 内のブロックを使用します。これらのブロックは、ターゲット環境でカスタム ブロックを開発するのに役立つ開始点の例を提供します。
前提条件と制限
このブロックは 1 ~ 7 個の VME 割り込みをサポートしています。
このブロックでは次の RTOS (VxWorks) システム呼び出しを使用します。
sysIntEnable
sysIntDisable
intConnect
intLock
intUnlock
tickGet
パフォーマンスについて
割り込みレベルで大規模なサブシステムが実行されると、システム内で優先度が同じか、低い割り込みの割り込み応答時間に大きく影響します。一般的に、ISR はできるだけ短くすることを推奨します。少数のブロックが含まれる Function-Call Subsystem だけを Async Interrupt ブロックに接続します。
大きなサブシステムの場合は Task Sync ブロックを使用して Function-Call Subsystem の実行を RTOS タスクに同期させることを推奨します。Async Interrupt ブロックと Function-Call Subsystem の間に Task Sync ブロックを配置します。Async Interrupt ブロックは Task Sync ブロックを ISR として使用します。ISR は、同期セマフォをタスクにリリースし (関数 semGive
を実行し)、割り込みレベルからすぐに返されます。RTOS 例 (VxWorks) は、タスクをスケジュールし、実行します。Task Sync ブロックの説明を参照してください。
例
端子
入力
出力
パラメーター
バージョン履歴
R2006a で導入