AioMultiAo


機能

複数チャネルを1回DA変換し、変換データをバイナリ値で指定します。マルチプロセス対応関数です。

書式

Ret = AioMultiAo ( Id , AoChannels , AoData )

引数

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

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

AoData [ 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が指定されました
関数に指定するIDは、AioInitで取得したIDを使用してください。

10002

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

13020

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

13021

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

20001

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

20002

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

23021

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

23022

AoDataに設定するデータは0~4095の範囲で指定してください

23023

AoDataに設定するデータは0~65535の範囲で指定してください

説明

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

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

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

使用例

0~7チャネルにバイナリデータ2048を出力します。

C, C++

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

Python

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

関連項目

AioSingleAo