ユーザーメモリに転送されたデータ数を取得します。
この関数はAioSetAiTransferMode関数で変換データ転送方式をユーザーバッファモードに設定した場合のみ使用できます。
変換データ転送方式がデバイスバッファの場合には使用できません。
Ret = AioGetAiTransferCount ( Id , AiTransferCount )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
AioInit 関数で取得したデバイスIDを指定します。
AiTransferCount
[ VB.NET: Integer ] [ C, C++: long * ] [ C#: out int ] [ Python: ctypes.POINTER(ctypes.c_long)
]
転送回数を格納する変数のアドレスを指定します。
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ 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 |
最適化のため128~512サンプリング毎にPC側へのデータ転送処理を行います。 |
ユーザーメモリに転送されたデータ数を取得します。
VB.NET |
Dim Ret As Integer |
C, C++ |
long Ret; |
C# |
int Ret; |
Python |
Ret = ctypes.c_long() |