AioGetAoTransferCount


機能

ユーザーメモリから転送されたデータ数を取得します。
この関数はAioSetAoTransferMode関数で変換データ転送方式をユーザーバッファモードに設定した場合のみ使用できます。
変換データ転送方式がデバイスバッファの場合には使用できません。

書式

Ret = AioGetAoTransferCount ( Id , AoTransferCount )

引数

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

AoTransferCount [ C, C++: long * ] [ Python: ctypes.POINTER(ctypes.c_long) ]
転送回数を格納する変数のアドレスを指定します。

戻り値

Ret [ C, C++: long ] [ Python: ctypes.c_long ]

戻り値

内容

0

正常終了

7

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

10001

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

10002

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

13680

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

20001

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

20003

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

初期値

全てのデバイスでAoTransferCount = 0

説明

この値を0にリセットするには、AioResetAoMemory関数を実行します。

リングメモリ使用時は、メモリの切れ目で転送回数が0に戻ります。
デバイス動作中での実行が可能です。
アナログ出力機能を持たないデバイスでは使用できません。

使用例

ユーザーメモリに転送されたデータ数を取得します。

C, C++

long Ret;
long AoTransferCount;
Ret = AioGetAoTransferCount ( Id , &AoTransferCount );
 

Python

Ret = ctypes.c_long()
AoTransferCount = ctypes.c_long()
Ret.value = caio.AioGetAoTransferCount ( Id , ctypes.byref(AoTransferCount) )