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

YdxAoGetStatus

機能

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

書式

INT YdxAoGetStatus(
    INT id,
    INT* status,
    INT* sampleCount,
    INT* repeatCount,
    INT* notOutNum
);

パラメータ

id

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

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

status

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

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

sampleCount

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

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

repeatCount

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

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

notOutNum

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

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

戻り値

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

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

使用例

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

C#

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

VB(.NET2002以降)

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

VB6.0

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

C++/CLI

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

C/C++

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