AioMultiAoEx


機能

複数チャネルを1回DA変換し、変換データを電圧または電流で指定します。マルチプロセス対応関数です。

書式

Ret = AioMultiAoEx ( Id , AoChannels , AoData )

引数

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

AoChannels [ C, C++: short ] [ Python: ctypes.c_short ]
変換チャネル数を指定します。

AoData [ C, C++: float * ] [ Python: ctypes.POINTER(ctypes.c_float) ]
出力データを格納した配列のアドレスを指定します。データは電圧または電流で指定してください。
デバイスにより設定できる値は異なります。

戻り値

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

戻り値

内容

0

正常終了

7

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

10001

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

10002

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

13520

AoChannelsの値が関数の指定範囲外です
アナログ出力チャネル数は 1≦AoChannels≦最大チャネル数 の範囲で指定してください。

13521

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

20001

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

20002

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

23520

DA変換エラーが発生しました

23521

変換チャネル数をオーバーしました。最大チャネルで変換します

説明

同期出力機能を持つデバイスの場合、設定されたチャネルに対して出力は同時に行われます。
同期出力機能を持たないデバイスの場合、出力はトランスペアレント(逐次出力)で0, 1, 2チャネルの順に行われます。

この関数を実行する前に、AioSetAoRangeまたはAioSetAoRangeAll関数で出力レンジの設定を行う必要があります。
アナログ出力機能を持たないデバイスでは使用できません。
デバイスが動作中の場合、この関数は実行できません。

この関数と連続関数とを併用する場合は、「簡易関数と連続関数の混合使用について」の注意事項を参照ください。

使用例

0~7チャネルに電圧データ5Vを出力します。

C, C++

long Ret;
float AoData[8];
short i;
for( i = 0 ; i < 8 ; i++ ){
AoData[i] = 5.0;
}
Ret = AioMultiAoEx ( Id , 8 , &AoData[0] );
 

Python

Ret = ctypes.c_long()
AoDataType = ctypes.c_float * 8
AoData = AoDataType()
for i in range(8):
    AoData[i] = 5.0
Ret.value = caio.AioMultiAoEx ( Id , 8 , AoData )
 

関連項目

AioSingleAoEx