AioSetAiEvent関数を使用して、どのイベント要因でメッセージ通知を行うかを設定します。
Ret = AioSetAiEvent ( Id , hWnd , AiEvent )
AiEventには、イベント要因を以下の範囲からマクロもしくは数値で指定します。
AiEventはビット単位で以下のような意味を持ち、これらを組み合わせて指定可能です。
デバイスバッファとユーザーバッファで、使用できるイベント要因は異なります。
イベント要因 |
デバイスバッファ 使用時 |
ユーザーバッファ 使用時 |
マクロ |
値 |
AD変換開始条件成立イベント |
○ |
○ |
AIE_START |
00000002H |
リピート終了イベント |
○ |
○ |
AIE_RPTEND |
00000010H |
デバイス動作終了イベント |
○ |
○ |
AIE_END |
00000020H |
指定サンプリング回数格納イベント |
○ |
× |
AIE_DATA_NUM |
00000080H |
指定転送数毎イベント |
× |
○ |
AIE_DATA_TSF |
00000100H |
オーバーフローイベント |
○ |
○ |
AIE_OFERR |
00010000H |
サンプリングクロック周期エラーイベント |
○ |
○ |
AIE_SCERR |
00020000H |
AD変換エラーイベント |
○ |
○ |
AIE_ADERR |
00040000H |
AD変換開始条件成立イベント
(マクロ:AIE_START 値:00000002H)
AD変換の開始条件が成立したときに発生するイベントです。
このイベントは、変換開始条件がソフトウェアの場合には無効になります。
リピート終了イベント
(マクロ:AIE_RPTEND 値:00000010H)
リピート動作が終了するたびにイベントを発生します。
デバイス動作終了イベント
(マクロ:AIE_END 値:00000020H)
リピートを含む、全ての動作が終了したときに発生するイベントです。
指定サンプリング回数格納イベント
(マクロ:AIE_DATA_NUM 値:00000080H)
メモリ内のサンプリング数がAioSetAiEventSamplingTimes関数で設定した値を超えたときにイベントを発生します。
メモリ形式がFIFOの場合、条件を満たすごとに何度もイベントが発生します。
RINGメモリの場合、リピート回数分のイベントが発生します。
指定サンプリング回数格納イベントを使用する場合、AioSetAiEventSamplingTimes関数でイベントを発生させるサンプリング回数を設定します。
Ret = AioSetAiEventSamplingTimes ( Id , AiSamplingTimes )
AiSamplingTimesにイベントを発生させるサンプリング回数を設定します。
メモリ形式がFIFOの場合、条件を満たすごとに何度もイベントが発生します。
RINGメモリの場合、リピート回数分のイベントが発生します。
指定転送数毎イベント
(マクロ:AIE_DATA_TSF 値:00000100H)
AioSetAiEventTransferTimes関数で設定された数のデータ転送が行われるたびに発生するイベントです。
指定転送数毎イベントを使用する場合、AioSetAiEventTransferTimes関数でイベントを発生させる転送数を設定します。
Ret = AioSetAiEventTransferTimes ( Id , AiTransferTimes )
AiTransferTimesにイベントを発生させる転送数を設定します。
オーバーフローイベント
(マクロ:AIE_OFERR 値:00010000H)
メモリがフルの状態で変換データを格納しようとしたときに発生するイベントです。
サンプリングクロック周期エラーイベント
(マクロ:AIE_SCERR 値:00020000H)
内部クロックが速すぎて変換が停止するときに発生するイベントです。
AD変換エラーイベント
(マクロ:AIE_ADERR 値:00040000H)
AD変換エラーが発生して変換が停止するときに発生するイベントです。
hWndにはアプリケーションウィンドウのハンドルを指定します。
ハンドルの指定方法は使用するアプリケーションによって異なります。
使用する言語のチュートリアルを参考にしてください。
Visual
Basic .NET
Visual C#
Visual C++ (MFC)