コンテンツにスキップ

関数 > アナログ入力 >

YdxAiGetStatus

機能

現在の状態を取得します。

書式

INT YdxAiGetStatus(
    INT id,
    INT* status,
    INT* sampleCount,
    INT* repeatCount
);

パラメータ

id

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

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

status

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

定義名 ステータス
00000001h YDX_STATUS_BUSY 動作中
動作が開始されると( YdxAiStart関数 が実行されると)オンになります。
動作が終了するとオフに戻ります。
00000002h YDX_STATUS_SAMPLE_NUM 監視サンプル数
データバッファのデータが、監視サンプル数以上になった場合にオンになります。
監視サンプル数は、YdxAiSetCheckSampleNum関数 で変更できます。
00000004h YDX_STATUS_START_TRIG 開始条件 成立済み
開始条件が成立するとオンになります。
リピートにより再び開始条件待ちになるとオフに戻ります。
00000008h YDX_STATUS_STOP_TRIG 停止条件 成立済み
停止条件が成立するとオンになります。
リピートにより開始条件が成立するとオフに戻ります。
00010000h YDX_STATUS_SAMPLE_CLOCK_ERR サンプリングクロック エラー発生
外部クロック使用時に、周期が早すぎる外部クロックが入力された場合にオンになります。
外部クロックの周期に問題がないか、チャタリング・ノイズが含まれていないかを確認してください。
00020000h YDX_STATUS_OVERRUN_ERR オーバランエラー発生
データバッファがFIFOバッファ形式に設定されている場合に、データバッファ容量を超えてサンプリングがおこなわれた場合にオンになります。
定期的に YdxAiGetData関数 または YdxAiGetDataVolt関数 を使用してデータを読み出して、データバッファが満杯にならないようにしてください。
00040000h YDX_STATUS_HARDWARE_ERR ハードウェアエラー発生
ユニット内部回路に異常が検出した場合にオンになります。
通常ありえませんが、もし発生した場合は、どのような状況で発生したかを弊社サポートまでご連絡ください。
00080000h YDX_STATUS_COMMUNICATE_ERR 通信エラー発生
USB通信に異常が検出された場合にオンになります。
近くにノイズ要因がないか確認してください。
確認しても問題が見当たらない場合は、どのような状況で発生したかを弊社サポートまでご連絡ください。
言語 C# VB.NET VB6.0 C++/CLI C/C++
out int Integer Long int* INT*

sampleCount

サンプル数を格納する変数へのポインタを指定します。

データバッファがFIFOバッファ形式に設定されている場合、データバッファに記憶されてまだ読み出されていないサンプル数が格納されます。
データバッファがリングバッファ形式に設定されている場合、データバッファに記憶されているサンプル数が格納されます。

言語 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*

戻り値

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

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

使用例

現在の状態を取得します。

C#

int result;
int status;
int sampleCount;
int repeatCount;
result = Ydx.AiGetStatus(id, out status, out sampleCount, out repeatCount);

VB.NET

Dim result As Integer
Dim status As Integer
Dim sampleCount1 As Integer
Dim repeatCount As Integer
result = YdxAiGetStatus(id, status, sampleCount, repeatCount)

VB6.0

Dim result As Long
Dim status As Long
Dim sampleCount1 As Long
Dim repeatCount As Long
result = YdxAiGetStatus(id, status, sampleCount, repeatCount)

C++/CLI

int result;
int status;
int sampleCount;
int repeatCount;
result = YdxAiGetStatus(id, &status, &sampleCount, &repeatCount);

C/C++

INT result;
INT status;
INT sampleCount;
INT repeatCount;
result = YdxAiGetStatus(id, &status, &sampleCount, &repeatCount);