AioGetAiTransferMode


機能

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

書式

Ret = AioGetAiTransferMode ( 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#: out short ] [ Python: ctypes.POINTER(ctypes.c_short) ]
変換データ転送方式を格納する変数のアドレスを指定します。

0

デバイスバッファモード

1

ユーザーバッファモード

戻り値

Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]

戻り値

内容

0

正常終了

7

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

10001

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

10002

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

11970

AiTransferModeのポインタがNULLです
パラメータには変数のアドレスを指定してください。

20001

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

20002

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

20003

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

初期値

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

説明

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

デバイス別仕様

AI-1204Z-PE
AI-1204Z-PCI

AiTransferMode=0または1が返ります。

 

ユーザバッファモードの場合、任意のタイミングで登録したユーザバッファを解放すると例外エラーが発生することがあります。

以下のいずれかの関数処理を行ったあと、ユーザバッファを解放してください。

・AioExit()を実行。 デバイスを停止し、デバイスドライバが使用していたメモリ、スレッドをすべて解放。

・AioResetDevice()を実行。 初期化を行う。 デバイスの動作は停止。

・AioSetAiTransferMode()でユーザバッファモードを再指定し、新たなユーザバッファをAioSetAiTransferData()で指定。

AI-1664UG-PE

AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE
AIO-163202F-PE
ADA16-32/2(PCI)F

AiTransferMode=0または1が返ります。

 

ユーザバッファモードの場合、任意のタイミングで登録したユーザバッファを解放すると例外エラーが発生することがあります。

以下のいずれかの関数処理を行ったあと、ユーザバッファを解放してください。

・AioExit()を実行。 デバイスを停止し、デバイスドライバが使用していたメモリ、スレッドをすべて解放。

・AioResetDevice()を実行。 初期化を行う。 デバイスの動作は停止。

・AioSetAiTransferMode()でユーザバッファモードを再指定し、新たなユーザバッファをAioSetAiTransferData()で指定。

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固定です。

DEMO DEVICE

AiTransferMode = 0固定です。

AI-1664LAX-USB

AiTransferMode = 0固定です。

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

AiTransferMode = 0固定です。

使用例

設定されているデータ転送方式を取得します。

VB.NET

Dim Ret As Integer
Dim AiTransferMode As Short
Ret = AioGetAiTransferMode ( Id , AiTransferMode )
 

C, C++

long Ret;
short AiTransferMode;
Ret = AioGetAiTransferMode ( Id , &AiTransferMode );
 

C#

int Ret;
short AiTransferMode;
Ret = aio.GetAiTransferMode ( Id , out AiTransferMode );
 

Python

Ret = ctypes.c_long()
AiTransferMode = ctypes.c_short()
Ret.value = caio.AioGetAiTransferMode ( Id , ctypes.byref(AiTransferMode) )