AioGetAiStatus


機能

アナログ入力ステータスを取得します。

書式

Ret = AioGetAiStatus ( Id , AiStatus )

引数

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
AioInit 関数で取得したデバイスIDを指定します。

AiStatus [ VB.NET: Integer ] [ C, C++: long * ] [ C#: out int ] [ Python: ctypes.POINTER(ctypes.c_long) ]
ステータスを格納する変数のアドレスを指定します。
AiStatusはビット単位で以下のような意味を持ちます。

ステータス

マクロ

デバイス動作中

AIS_BUSY

00000001H

開始トリガ待ち

AIS_START_TRG

00000002H

指定サンプリング回数格納

AIS_DATA_NUM

00000010H

オーバーフロー

AIS_OFERR

00010000H

サンプリングクロック周期エラー

AIS_SCERR

00020000H

AD変換エラー

AIS_AIERR

00040000H

ドライバスペックエラー

AIS_DRVERR

00080000H

戻り値

Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]

戻り値

内容

0

正常終了

7

スタンバイモードから復帰したため、AioResetDevice関数を実行してください

10001

無効なIDが指定されました
関数に指定するIDは、AioInitで取得したIDを使用してください。

10002

ドライバを呼び出せません
始めにAioInit関数を実行しください。

11500

AiStatusのポインタがNULLです
パラメータには変数のアドレスを指定してください。

20001

使用しているデバイスではこの関数を使用することができません

20003

他のプロセスがデバイスを使用しているため、実行できません
他のプロセスがデバイスを使用しているときは、マルチプロセス対応関数以外実行できません。

初期値

全てのデバイスでAiStatus = 0

説明

サンプリングクロック周期エラー、AD変換エラーにより変換は停止します。
メモリ形式がFIFOの場合、オーバーフローにより変換が停止します。
メモリ形式がRINGの場合、オーバーフローが発生しても変換は停止しません。
アナログ入力機能を持たないデバイスでは使用できません。
デバイス動作中での実行が可能です。
変換開始条件に、イベントコントローラ出力を指定している場合、開始トリガ待ちステータスは、通知されません。

使用例

アナログ入力ステータスを取得します。

VB.NET

Dim Ret As Integer
Dim AiStatus As Integer
Ret = AioGetAiStatus ( Id , AiStatus )
 

C, C++

long Ret;
long AiStatus;
Ret = AioGetAiStatus ( Id , &AiStatus );
 

C#

int Ret;
int AiStatus;
Ret = aio.GetAiStatus ( Id , out AiStatus );
 

Python

Ret = ctypes.c_long()
AiStatus = ctypes.c_long()
Ret.value = caio.AioGetAiStatus ( Id , ctypes.byref(AiStatus) )
 

関連項目

AioResetAiStatus