アナログ入力の変換データ転送方式を設定します。
Ret = AioSetAiTransferMode ( Id , AiTransferMode )
Id
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
AioInit 関数で取得したデバイスIDを指定します。
AiTransferMode
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short
]
変換データ転送方式を以下の範囲から指定します。
0 |
デバイスバッファモード |
1 |
ユーザーバッファモード |
同一デバイスにて、高機能アナログ入力と高機能アナログ出力を同時に使用する場合、転送方式を統一する必要があります。
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
戻り値 |
内容 |
0 |
正常終了 |
7 |
スタンバイモードから復帰したため、AioResetDevice関数を実行してください |
10001 |
無効なIDが指定されました |
10002 |
ドライバを呼び出せません |
11960 |
AiTransferModeの値が関数の指定範囲外です |
20001 |
使用しているデバイスではこの関数を使用することができません |
20002 |
デバイスが動作中のため実行できません |
20003 |
他のプロセスがデバイスを使用しているため、実行できません |
21960 |
AiTransferModeの値が使用しているデバイスの範囲外です |
すべてのデバイスでAiTransferMode = 0
アナログ入力の変換データ転送方式には、デバイスバッファモードとユーザーバッファモードの2種類が存在します。
デバイスバッファモード 変換開始後、変換データはデバイスバッファ(デバイスが持っているメモリもしくはデバイスドライバ内部のメモリ)に格納されていきます。 デバイスバッファはFIFOまたはRINGメモリとして使用することができます。(AioSetAiMemoryType) アプリケーションは、必要な時に関数を実行してデバイスバッファから変換データを取得します。(AioGetAiSamplingData) デバイスバッファモードは、サンプリング回数を単位として変換データを扱える事や、変換データを直接電圧値で取得する関数も用意されており、ユーザーバッファモードに比べて簡単に使用できます。 また、ほとんどの使用用途に対応できる機能が用意されているので、通常はデバイスバッファモードの使用をお勧めします。 |
ユーザーバッファモード 変換開始前に変換データを格納するアプリケーションメモリを確保し、登録しておきます。(AioSetAiTransferData) 変換開始後、変換データはデバイスドライバを経由して直接アプリケーションメモリに格納されていきます。 ユーザーバッファはメモリへの上書きあり/なしを選択する事ができます。(AioSetAiMemoryType)
注意事項: 任意のタイミングで登録しているユーザバッファを解放すると例外エラーが発生することがあります。 これは、登録されているユーザバッファを、デバイスドライバが利用するためです。
登録しているユーザバッファを解放する前に、以下のいずれかの関数処理を行ってください。 ・AioExit()を実行。 デバイスを停止し、デバイスドライバが使用していたメモリ、スレッドをすべて解放。 ・AioResetDevice()を実行。 初期化を行う。 デバイスの動作は停止。 ・AioSetAiTransferMode()でユーザバッファモードを再指定し、新たに確保したアプリケーションメモリをAioSetAiTransferData()でユーザバッファ指定。 |
アナログ入力機能を持たないデバイスでは使用できません。
デバイスが動作中の場合、この関数は実行できません。
AI-1204Z-PE |
設定可能なAiTransferModeは0または1です。
|
AI-1664UG-PE AIO-163202G-PE |
設定可能なAiTransferModeは0または1です。
|
AIO-160802L-LPE |
AiTransferMode = 0固定です。 |
AI-1616L-LPE |
AiTransferMode = 0固定です。 |
AD12-16(PCI)EV |
AiTransferMode = 0固定です。 |
AD12-64(PCI) |
AiTransferMode = 0固定です。 |
AI-1608AY-USB |
AiTransferMode = 0固定です。 |
AIO-163202FX-USB |
AiTransferMode = 0固定です。 |
DEMO DEVICE |
AiTransferMode = 0固定です。 |
AI-1664LAX-USB |
AiTransferMode = 0固定です。 |
AIO-121602LN-USB |
AiTransferMode = 0固定です。 |
AI-1604VIN-USB |
AiTransferMode = 0固定です。 |
データ転送方式をデバイスバッファに設定します。
VB.NET |
Dim Ret As Integer |
C, C++ |
long Ret; |
C# |
int Ret; |
Python |
Ret = ctypes.c_long() |