デバイスメモリ(ソフトウェアメモリ)から指定サンプリング分のデータを読み込みます。
この関数はAioSetAiTransferMode関数で変換データ転送方式をデバイスバッファモードに設定した場合のみ使用できます。
変換データ転送方式がユーザーバッファの場合には使用できません。
Ret = AioGetAiSamplingData ( Id , AiSamplingTimes , AiData )
Id
[ C, C++: short ] [ Python: ctypes.c_short ]
AioInit 関数で取得したデバイスIDを指定します。
AiSamplingTimes
[ C, C++: long * ] [ Python: ctypes.POINTER(ctypes.c_long) ]
取得するデータのサンプリング回数を格納した変数のアドレスを指定します。
関数実行後、実際に読み込まれたサンプリング数を返します。
AiData
[ C, C++: long * ] [ Python: ctypes.POINTER(ctypes.c_long) ]
変換データを格納する配列のアドレスを指定します。変換データはバイナリ値で格納されます。
12ビット分解能のデバイス |
0~4095 |
16ビット分解能のデバイス |
0~65535 |
Ret [ C, C++: long ] [ Python: ctypes.c_long ]
戻り値 |
内容 |
0 |
正常終了 |
7 |
スタンバイモードから復帰したため、AioResetDevice関数を実行してください |
10001 |
無効なIDが指定されました |
10002 |
ドライバを呼び出せません |
11580 |
AiSamplingTimesのポインタがNULLです |
11581 |
AiDataのポインタがNULLです |
11582 |
AiSamplingTimesの値が関数の指定範囲外です |
20001 |
使用しているデバイスではこの関数を使用することができません |
20003 |
他のプロセスがデバイスを使用しているため、実行できません |
21580 |
変換されたデータ数を超えるデータを取得しようとしました。 |
21584 |
FIFOが空です |
21585 |
メモリサイズを超えるデータを取得しようとしました、AiSamplingTimesを最大値に変更してデータを取得します |
AioStartAiで使用したチャネル分のデータを格納します。
メモリ形式により使用方法が異なります。
・FIFOメモリの場合
常に古いデータから読み込みを行います。
一度読み込んだデータを再度読み込むことはできません。
デバイスが動作中に使用可能です。
・RINGメモリの場合
最新のデータから、指定したサンプリング数のデータを取得します。
同じデータを繰り返し取得することができます。
デバイス動作中には使用できません。
この関数と簡易関数とを併用する場合は、「簡易関数と連続関数の混合使用について」の注意事項を参照ください。
アナログ入力機能を持たないデバイスでは使用できません。
1000サンプリング分のデータを読み込みます。
C, C++ |
long
Ret; |
Python |
Ret
= ctypes.c_long() |
AioSetAiMemoryType AioGetAiMemoryType