ユーザバッファに転送されたデータ位置、上書き回数、総転送データ数を取得します。
この関数はAioSetAiTransferMode関数で変換データ転送方式をユーザーバッファモードに設定した場合のみ使用できます。
変換データ転送方式がデバイスバッファの場合には使用できません。
Ret = AioGetAiTransferSamplingCount ( Id , AiTransferCount , LapCount , LapCarry , ScanCount , ScanCarry )
Id
[ VB: Integer ] [ VB.NET: Short ] [ C, C++: short ] [ C++/CLI: short ]
[ C#: short ] [ Delphi: Smallint ]
AioInit 関数で取得したデバイスIDを指定します。
AiTransferCount
[ VB: Long ] [ VB.NET: Integer ] [ C, C++: unsigned long * ] [ C++/CLI:
unsigned long * ] [ C#: out unsigned int ] [ Delphi: PLongint ]
転送されたデータ位置を格納する変数のアドレスを指定します。
LapCount
[ VB: ULong ] [ VB.NET: UInteger ] [ C, C++: unsigned long * ] [ C++/CLI:
unsigned long * ] [ C#: out unsigned int ] [ Delphi: PLongint ]
ラップカウントを格納する変数のアドレスを指定します。
LapCarry
[ VB: ULong ] [ VB.NET: UInteger ] [ C, C++: unsigned long * ] [ C++/CLI:
unsigned long * ] [ C#: out unsigned int ] [ Delphi: PLongint ]
ラップキャリーを格納する変数のアドレスを指定します。
ScanCount
[ VB: Long ] [ VB.NET: UInteger ] [ C, C++: unsigned long * ] [ C++/CLI:
unsigned long * ] [ C#: out unsigned int ] [ Delphi: PLongint ]
スキャンカウントを格納する変数のアドレスを指定します。
ScanCarry
[ VB: ULong ] [ VB.NET: UInteger ] [ C, C++: unsigned long * ] [ C++/CLI:
unsigned long * ] [ C#: out unsigned int ] [ Delphi: PLongint ]
スキャンキャリーを格納する変数のアドレスを指定します。
Ret [ VB: Long ] [ VB.NET: Integer ] [ C, C++: long ] [ C++/CLI: long ] [ C#: int ] [ Delphi: Longint ]
戻り値 |
内容 |
0 |
正常終了 |
7 |
スタンバイモードから復帰したため、AioResetDevice関数を実行してください |
10001 |
無効なIDが指定されました |
10002 |
ドライバを呼び出せません |
18210 |
AiTransferCountのポインタがNULLです |
18211 |
LapCountまたはLapCarryのポインタがNULLです。 |
18212 |
ScanCountまたはScanCarryのポインタがNULLです。 |
20001 |
使用しているデバイスではこの関数を使用することができません |
20003 |
他のプロセスがデバイスを使用しているため、実行できません |
全てのデバイスでAiTransferCount = LapCount = LapCarry = ScanCount = ScanCarry = 0
AioStartAiにより変換が開始されると、AiTransferCount、LapCount、LapCarry、ScanCount、ScanCarryは自動的に0にリセットされます。
メモリの切れ目で転送回数が0に戻ります。
AioSetAiMemoryType関数にて、「メモリへの上書きなし」に設定する場合は、
予定転送回数よりも大きなバッファをAioSetAiTransferData関数で確保することにより、
転送回数が0に戻ることを回避できます。
デバイス動作中での実行が可能です。
アナログ入力機能を持たないデバイスでは使用できません。
上書き回数、総転送データ数はそれぞれ64bitカウンタになっています。
上書き回数はLapCarryが上位32bit、LapCountが下位32bitとなります。
総転送データ数はScanCarryが上位32bit、ScanCountが下位32bitとなります。
AI-1204Z-PCI の場合、最適化のため128~512サンプリング毎にPC側へのデータ転送処理を行います。
そのため、クロック入力時にカウントが進まないことがありますが、サンプリングは行われております。
なお、転送完了時は、残りのデータも転送されます。
ユーザーメモリに転送されたデータ位置、上書き回数、総転送データ数を取得します。
VB |
Dim Ret As
Long |
VB.NET |
Dim Ret As
Integer |
C, C++ |
long Ret; |
C++/CLI |
long Ret; |
C# |
int Ret; |
Delphi |
Ret: Longint; |