AioSetAiTransferMode


機能

アナログ入力の変換データ転送方式を設定します。

書式

Ret = AioSetAiTransferMode ( Id , AiTransferMode )

引数

Id [ C, C++: short ] [ Python: ctypes.c_short ]
AioInit 関数で取得したデバイスIDを指定します。

AiTransferMode [ C, C++: short ] [ Python: ctypes.c_short ]
変換データ転送方式を以下の範囲から指定します。

0

デバイスバッファモード

1

ユーザーバッファモード

同一デバイスにて、高機能アナログ入力と高機能アナログ出力を同時に使用する場合、転送方式を統一する必要があります。

戻り値

Ret [ C, C++: long ] [ Python: ctypes.c_long ]

戻り値

内容

0

正常終了

7

スタンバイモードから復帰したため、AioResetDevice関数を実行してください

10001

無効なIDが指定されました
関数に指定するIDは、AioInitで取得したIDを使用してください。

10002

ドライバを呼び出せません
始めにAioInit関数を実行しください。

11960

AiTransferModeの値が関数の指定範囲外です

20001

使用しているデバイスではこの関数を使用することができません

20002

デバイスが動作中のため実行できません
この関数を使用するには、アナログ入力動作が停止している必要があります。

20003

他のプロセスがデバイスを使用しているため、実行できません
他のプロセスがデバイスを使用しているときは、マルチプロセス対応関数以外実行できません。

21960

AiTransferModeの値が使用しているデバイスの範囲外です

初期値

すべてのデバイスでAiTransferMode = 0

説明

アナログ入力の変換データ転送方式には、デバイスバッファモードとユーザーバッファモードの2種類が存在します。

デバイスバッファモード

変換開始後、変換データはデバイスバッファ(デバイスが持っているメモリもしくはドライバ内部のメモリ)に格納されていきます。

デバイスバッファはFIFOまたはRINGメモリとして使用することができます。(AioSetAiMemoryType

アプリケーションは、必要な時に関数を実行してデバイスバッファから変換データを取得します。(AioGetAiSamplingData

デバイスバッファモードは、サンプリング回数を単位として変換データを扱える事や、変換データを直接電圧値で取得する関数も用意されており、ユーザーバッファモードに比べて簡単に使用できます。

また、ほとんどの使用用途に対応できる機能が用意されているので、通常はデバイスバッファモードの使用をお勧めします。

ユーザーバッファモード

変換開始前に変換データを格納するアプリケーションメモリを確保し、登録しておきます。(AioSetAiTransferData

変換開始後、変換データはドライバを経由して直接アプリケーションメモリに格納されていきます。

ユーザーバッファはメモリへの上書きあり/なしを選択する事ができます。(AioSetAiMemoryType

アナログ入力機能を持たないデバイスでは使用できません。
デバイスが動作中の場合、この関数は実行できません。

デバイス別仕様

AI-1204Z-PE

設定可能なAiTransferModeは0または1です。

AI-1204Z-PCI

AI-1204Z-PCIは、API-AIO(LNX)で対応していません。

AI-1664UG-PE
AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE

設定可能なAiTransferModeは0または1です。

AIO-163202F-PE

ADA16-32/2(PCI)F

AiTransferMode = 0固定です。

AIO-160802L-LPE
ADA16-8/2(LPCI)L
ADAI16-8/2(LPCI)L
AIO-160802LI-PE

AiTransferMode = 0固定です。

AI-1616L-LPE
AD16-64(LPCI)LA
AD16-16(LPCI)L
ADI16-16(LPCI)L
AI-1616LI-PE
AI-1664LA-LPE

AiTransferMode = 0固定です。

AD12-16(PCI)EV
AD12-16U(PCI)EV
AD16-16(PCI)EV
AD16-16U(PCI)EV
AIO-121601E3-PE
AIO-121601UE3-PE
AIO-161601E3-PE
AIO-161601UE3-PE
AI-1216I2-PCI

AiTransferMode = 0固定です。

AD12-64(PCI)
AD12-16(PCI)

AiTransferMode = 0固定です。

AI-1608AY-USB
AIO-160802AY-USB
AI-1608GY-USB
AIO-160802GY-USB

AiTransferMode = 0固定です。

AIO-163202FX-USB

AiTransferMode = 0固定です。

AIO-16256256-DEMO

AiTransferMode = 0固定です。

AI-1664LAX-USB

AiTransferMode = 0固定です。

AIO-121602LN-USB
AIO-120802LN-USB

AiTransferMode = 0固定です。

AI-1608VIN-USB
AI-1608AIN-USB

AiTransferMode = 0固定です。

使用例

データ転送方式をデバイスバッファに設定します。

C, C++

long Ret;
Ret = AioSetAiTransferMode ( Id , 0 );
 

Python

Ret = ctypes.c_long()
Ret.value = caio.AioSetAiTransferMode ( Id , 0 )