AioSetAiChannel


機能

変換に使用するアナログ入力チャネルの使用/未使用を設定します。
Zシリーズ専用関数です。

書式

Ret = AioSetAiChannel ( Id , AiChannel, Enabled )

引数

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

AiChannel [ C, C++: short ] [ Python: ctypes.c_short ]
使用/未使用を設定したいチャネルを指定します。

Enabled
[ 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関数を実行しください。

12480

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

20001

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

20003

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

22480

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

初期値

すべてのデバイスで0チャネル使用
1,2,3チャネル未使用

説明

アナログ入力機能を持たないデバイスでは使用できません。
デバイス動作中での実行が可能です。
Zシリーズ専用関数です。

注意しなくてはならない点は、転送方式にデバイスバッファに指定した場合と
ユーザーバッファを指定した場合ではデータの扱い方が異なる点です
( 転送方式についてはAioSetAiTransferModeを参照してください )。


 

デバイスバッファモード

デバイスバッファモードで使用チャネルを設定する場合、データはチャネル番号が若い順番に格納されます。

例えば、0chと3chの計2chを使用する場合はデータは右図のように格納されます。

 

・・・

 

同様に、0chと2chと3chの計3chを使用する場合はデータは右図のように格納されます。
 

・・・

ユーザーバッファモード

ユーザーバッファモードで使用チャネルを設定する場合、データはチャネル番号が若い順番に格納されます。

例えば0chと2chの計2chを使用する場合はデータは右図のようにデータは格納されます。

 

・・・

 

同様に、0chと2chと3chの計3chを使用する場合はデータは右図のように格納されます。 

ただし、使用チャネル数が奇数の場合はチュートリアル「ユーザーバッファの設定」の注意のように、

1パケット中の上位2バイトに無効データが入りますので注意が必要です。

  ・・・
                                 
 

 

使用例

設定されているチャネルの使用/未使用を設定します。

C, C++

long Ret;
short AiChannel;
short Enabled;
Ret = AioSetAiChannel ( Id , AiChannel, Enabled );
 

Python

Ret = ctypes.c_long()
AiChannel = ctypes.c_short()
Enabled = ctypes.c_short()
Ret.value = caio.AioSetAiChannel ( Id , AiChannel, Enabled )
 

関連項目

AioGetAiChannels AioGetAiChannel AioGetAiMaxChannels