ユーザーメモリに転送されたデータ数を取得します。
この関数はAioSetAiTransferMode関数で変換データ転送方式をユーザーバッファモードに設定した場合のみ使用できます。
変換データ転送方式がデバイスバッファの場合には使用できません。
Ret = AioGetAiTransferCount ( Id , AiTransferCount )
Id
[ C, C++: short ] [ Python: ctypes.c_short ]
AioInit 関数で取得したデバイスIDを指定します。
AiTransferCount
[ C, C++: long * ] [ Python: ctypes.POINTER(ctypes.c_long) ]
転送回数を格納する変数のアドレスを指定します。
Ret [ C, C++: long ] [ Python: ctypes.c_long ]
戻り値 |
内容 |
0 |
正常終了 |
7 |
スタンバイモードから復帰したため、AioResetDevice関数を実行してください |
10001 |
無効なIDが指定されました |
10002 |
ドライバを呼び出せません |
12140 |
AiTransferCountのポインタがNULLです |
20001 |
使用しているデバイスではこの関数を使用することができません |
20003 |
他のプロセスがデバイスを使用しているため、実行できません |
全てのデバイスでAiTransferCount = 0
AioStartAiにより変換が開始されると、AiTransferCountは自動的に0にリセットされます。
全転送カウントではなく、ユーザーバッファ上での転送位置になります。
ユーザーバッファ使用時、AioStartAi/AioStartAiSync
関数を実行するとバッファの先頭から変換データを格納します。
メモリの切れ目で転送回数が0に戻ります。
AioGetAiTransferLap関数と組み合わせることで、全転送回数を確認できます。
AioSetAiMemoryType関数にて、「メモリへの上書きなし」に設定する場合は、
予定転送回数よりも大きなバッファをAioSetAiTransferData関数で確保することにより、
転送回数が0に戻ることを回避できます。
デバイス動作中での実行が可能です。
アナログ入力機能を持たないデバイスでは使用できません。
AI-1204Z-PE のZ-シリーズデバイスの場合、最適化のため128~512サンプリング毎にPC側へのデータ転送処理を行います。
そのため、クロック入力時にカウントが進まないことがありますが、サンプリングは行われております。
なお、転送完了時は、残りのデータも転送されます。
ユーザーメモリに転送されたデータ数を取得します。
C, C++ |
long Ret; |
Python |
Ret = ctypes.c_long() |