コンテンツにスキップ
関数 > アナログ出力 >

YdxAoSetEvent

機能

イベントを設定します。

書式

INT YdxAoSetEvent(
    INT id,
    INT* mask,
    HANDLE* hEvent
);

パラメータ

id

YdxOpen関数 で取得したIDを指定します。

言語 C# VB(.NET2002以降) VB6.0 C++/CLI C/C++
int Integer Long int INT

mask

イベント要因を指定します。
指定した要因となった時に、イベントを発生させる事ができます。

定義名 イベント要因
00000001h YDX_EVENT_STOP 動作終了
作が終了するとイベントを発生させます。
00000002h YDX_EVENT_SAMPLE_NUM 監視サンプル数
未出力サンプル数(データバッファにデータが残っているサンプル数)が監視サンプル数以下になるとイベントを発生させます。
視サンプル数は、YdxAoSetCheckSampleNum関数 で変更できます。
00000004h YDX_EVENT_START_TRIG 開始条件成立
始条件が成立するとイベントを発生させます。
リピートの場合、開始条件が成立するたびにイベントを発生させます。
00000008h YDX_EVENT_STOP_TRIG 停止条件成立
止条件が成立するとイベントを発生させます。
リピートの場合、停止条件が成立するたびにイベントを発生させます。
00010000h YDX_EVENT_SAMPLE_CLOCK_ERR サンプリングクロックエラー発生
外部クロック使用時に周期が早すぎる外部クロックが入力されるとイベントを発生させます。
00040000h YDX_EVENT_HARDWARE_ERR ハードウェアエラー発生
ユニット内部回路に異常が検出されるとイベントを発生させます。
00080000h YDX_EVENT_COMMUNICATE_ERR 通信エラー発生
USB通信に異常が検出されるとイベントを発生させます。
言語 C# VB(.NET2002以降) VB6.0 C++/CLI C/C++
int Integer Long int INT

hEvent

イベントオブジェクトのハンドルを指定します。

言語 C# VB(.NET2002以降) VB6.0 C++/CLI C/C++
IntPtr IntPtr Long IntPtr HANDLE

戻り値

関数が正常に終了した場合は、0(YDX_RESULT_SUCCESS)が返ります。
正常に終了しなかった場合は、0以外が返ります。
詳細は、戻り値一覧 を参照してください。

言語 C# VB(.NET2002以降) VB6.0 C++/CLI C/C++
int Integer Long int INT

備考

本関数は、アナログ出力が 動作中 には実行できません。

使用例

イベントを設定します。
イベント要因を「監視サンプル数」と「動作終了」に設定します。

C#

int result;
AutoResetEvent hEvent = new AutoResetEvent(false);
result = Ydx.AoSetEvent(id, YDX_EVENT_SAMPLE_NUM| YDX_EVENT_STOP, hEvent);

VB(.NET2002以降)

Dim result As Integer
Dim hEvent As AutoResetEvent = New AutoResetEvent(False)
result = YdxAoSetEvent(id, YDX_EVENT_SAMPLE_NUM| YDX_EVENT_STOP, hEvent)

VB6.0

Dim result As Long
Dim hEvent As Long
hEvent = CreateEvent(0, False, False, 0)
result = YdxAoSetEvent(id, YDX_EVENT_SAMPLE_NUM| YDX_EVENT_STOP, hEvent)

C++/CLI

int result;
AutoResetEvent^ hEvent = gcnew AutoResetEvent(false);
result = YdxAoSetEvent(id, YDX_EVENT_SAMPLE_NUM| YDX_EVENT_STOP, hEvent->Handle);

C/C++

INT result;
HANDLE hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
result = YdxAoSetEvent(id, YDX_EVENT_SAMPLE_NUM| YDX_EVENT_STOP, hEvent);

参考

  • AoEvent

    高機能アナログ出力のサンプルプログラムです。
    動作状態の監視をイベントでおこなっています。