AioSetAiAttachedData


機能

AD変換データに添付するデータの設定を行います。

この関数はAioSetAiTransferMode関数で変換データ転送方式をユーザーバッファモードに設定した場合に有効になります。
変換データ転送方式がデバイスバッファの場合には使用できません。

書式

Ret = AioSetAiAttachedData ( Id , AttachedData )

引数

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

AttachedData [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
AD変換データに加えて添付するデータの種類を以下の範囲からマクロもしくは数値で指定します。
AttachedDataはビット単位で以下のような意味を持ち、これらを組み合わせて指定可能です。

添付データ

マクロ

アナログ入力付属情報

AIAT_AI

00000001H

アナログ出力データ

AIAT_AO0

00000100H

デジタル入出力データ

AIAT_DIO0

00010000H

カウンタチャネル0データ

AIAT_CNT0

01000000H

カウンタチャネル1データ

AIAT_CNT1

02000000H

戻り値

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

戻り値

内容

0

正常終了

7

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

10001

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

10002

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

20001

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

20002

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

20003

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

初期値

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

説明

AD変換データに添付するデータとして、以下の添付データを選択する事ができます。

添付するデータは、AD変換データと一緒にユーザーメモリへ転送されます。
添付データはすべての種類で4バイト(1パケット)を使用します。

このため、添付データの指定状況に応じて、1サンプリングあたりに必要なパケット数が変化することに注意してください。
AioGetAiSamplingDataSize
関数で、1サンプリングあたりに必要なパケット数を取得できます。

デバイスが動作中の場合、この関数は実行できません。

 

■添付データの転送イメージ

   

添付データは、AD変換データに続いて
1.アナログ入力付属情報
2.アナログ出力データ
3.デジタル入出力データ
4.カウンタチャネル0データ
5.カウンタチャネル1データ

の順序で転送されます。

使用する添付データの種類に関わらず、若い数字のデータから順に転送されます。

各々の添付データの詳細については、用語集の「AD変換データに添付するデータ」トピックを参照ください。

 

デバイス別仕様

AIO-163202F-PE

ADA16-32/2(PCI)F

AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE

以下の5種類の添付データに対応しています。

 1.アナログ入力付属情報

 2.アナログ出力データ

 3.デジタル入出力データ

 4.カウンタチャネル0データ

 5.カウンタチャネル1データ

AI-1664UG-PE

以下の3種類の添付データに対応しています。

 1.アナログ入力付属情報

 2.デジタル入出力データ

 3.カウンタチャネル0データ

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

ユーザバッファモードを指定できるデバイスですが、本APIに対応していません。

 

使用例

アナログ入力付属情報を添付データに設定します。

VB.NET

Dim Ret As Integer
Ret = AioSetAiAttachedData ( Id , AIAT_AI )
 

C, C++

long Ret;
Ret = AioSetAiAttachedData ( Id , AIAT_AI );
 

C#

int Ret;
Ret = aio.SetAiAttachedData ( Id , (short)CaioConst.AIAT_AI );
 

Python

Ret = ctypes.c_long()
Ret.value = caio.AioSetAiAttachedData ( Id , caio.AIAT_AI )