コンテンツにスキップ

関数 > アナログ出力 >

YdxAoGetEventStatus

機能

イベント発生要因を取得します。

書式

INT YdxAoGetEventStatus(
    INT id,
    INT* factor,
    INT* sampleCount,
    INT* repeatCount,
    INT* notOutNum
);

パラメータ

id

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

言語 C# VB.NET VB6.0 C++/CLI C/C++
int Integer Long int INT

factor

イベント発生要因を格納する変数へのポインタを指定します。
ビットごとに意味を持っていて、論理和された結果が格納されます。

定義名 イベント要因
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.NET VB6.0 C++/CLI C/C++
out int Integer Long int* INT*

sampleCount

イベント発生時の出力済みサンプル回数を格納する変数へのポインタを指定します。
データバッファがFIFOバッファ形式に設定されている場合、2,147,483,647回を超えると0に戻ってカウントされます。
データバッファがリングバッファ形式に設定されている場合、リングバッファを一周するごとに0に戻ってカウントされます。

言語 C# VB.NET VB6.0 C++/CLI C/C++
out int Integer Long int* INT*

repeatCount

イベント発生時の動作済みリピート回数を格納する変数へのポインタを指定します。
2,147,483,647回を超えた場合、0に戻ってカウントされます。

言語 C# VB.NET VB6.0 C++/CLI C/C++
out int Integer Long int* INT*

notOutNum

イベント発生時の未出力サンプル数を格納する変数へのポインタを指定します。
リングバッファ形式に設定されている場合は、データを出力しても減算されません。
(データバッファにそのままデータが残る為)

言語 C# VB.NET VB6.0 C++/CLI C/C++
out int Integer Long int* INT*

戻り値

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

言語 C# VB.NET VB6.0 C++/CLI C/C++
int Integer Long int INT

使用例

イベント発生要因を読み出します。

C#

int result;
int factor;
int sampleCount;
int repeatCount;
int notOutNum;
result = Ydx.AoGetEventStatus(id, out factor, out sampleCount, out repeatCount, out notOutNum);

VB.NET

Dim result As Integer
Dim factor As Integer
Dim sampleCount As Integer
Dim repeatCount As Integer
Dim notOutNum As Integer
result = YdxAoGetEventStatus(id, factor, sampleCount, repeatCount, notOutNum)

VB6.0

Dim result As Long
Dim factor As Long
Dim sampleCount As Long
Dim repeatCount As Long
Dim notOutNum As Long
result = YdxAoGetEventStatus(id, factor, sampleCount, repeatCount, notOutNum)

C++/CLI

int result;
int factor;
int sampleCount;
int repeatCount;
int notOutNum;
result = YdxAoGetEventStatus(id, &factor, &sampleCount, &repeatCount, &notOutNum);

C/C++

INT result;
INT factor;
INT sampleCount;
INT repeatCount;
INT notOutNum;
result = YdxAoGetEventStatus(id, &factor, &sampleCount, &repeatCount, &notOutNum);

参考

  • AoEvent

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