AioSetCntComparisonReg


機能

比較カウント一致後にロードされる次回の比較カウント値を設定します。

書式

Ret = AioSetCntComparisonReg ( Id , CntChannel , ComparisonNumber, ComparisonData , Flag )

引数

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

CntChannel [ C, C++: short ] [ Python: ctypes.c_short ]
カウンタのチャネルを設定します。

ComparisonNumber [ C, C++: long ] [ Python: ctypes.c_long ]
設定する比較カウントデータの総数を指定します。

ComparisonData [ C, C++: long * ] [ Python: ctypes.POINTER(ctypes.c_long) ]
比較カウントを格納した配列のポインタを指定します。
デバイスにより設定できる範囲は異なります。

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

15040

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

15041

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

15042

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

15043

ComparisonDataのポインタがNULLです

20001

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

20002

デバイスが動作中のため実行できません
この関数を使用するには、カウンタ動作が停止している必要があります。

20003

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

25040

CntChannelの値がデバイスの指定範囲外です

25041

ComparisonNumberの値がデバイスの指定範囲外です

初期値

未使用

説明

比較カウント一致後、次回の比較カウント値はこの関数で設定された値がロードされます。
比較カウント一致が発生するたびに、配列で設定された値が順番に設定されます。

比較カウント値を固定にする場合、ComparisonNumber = 1、Flag = 1としてください。

この機能を使用するには、AioSetCntComparisonMode関数で動作モードに比較カウント値のロードを設定する必要があります。
カウンタ機能を持たないデバイスでは使用できません。
デバイスが動作中の場合、この関数は実行できません。

デバイス別仕様

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

設定可能なComparisonNumberは1~255(FFH)です。
設定可能なComparisonDataは0~4294967295(FFFFFFFFH)です。

AIO-160802L-LPE
ADA16-8/2(LPCI)L
ADAI16-8/2(LPCI)L
AIO-160802LI-PE

設定可能なComparisonNumberは1~255(FFH)です。
設定可能なComparisonDataは0~4294967295(FFFFFFFFH)です。

AI-1616L-LPE
AD16-64(LPCI)LA
AD16-16(LPCI)L
ADI16-16(LPCI)L
AI-1616LI-PE
AI-1664LA-LPE

設定可能なComparisonNumberは1~255(FFH)です。
設定可能なComparisonDataは0~4294967295(FFFFFFFFH)です。

AO-1604L-LPE
DA16-16(LPCI)L
DA16-8(LPCI)L
DA16-4(LPCI)L
DAI16-4(LPCI)L
AO-1604LI-PE
AO-1608L-LPE
AO-1616L-LPE

設定可能なComparisonNumberは1~255(FFH)です。
設定可能なComparisonDataは0~4294967295(FFFFFFFFH)です。

AIO-163202FX-USB

設定可能なComparisonNumberは1~255(FFH)です。
設定可能なComparisonDataは0~4294967295(FFFFFFFFH)です。

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

設定可能なComparisonNumberは1~255(FFH)です。
設定可能なComparisonDataは0~4294967295(FFFFFFFFH)です。

AI-1664LAX-USB

設定可能なComparisonNumberは1~255(FFH)です。
設定可能なComparisonDataは0~4294967295(FFFFFFFFH)です。

AO-1604LX-USB

設定可能なComparisonNumberは1~255(FFH)です。
設定可能なComparisonDataは0~4294967295(FFFFFFFFH)です。

使用例

0チャネルに、1番目の比較カウント値10000を繰り返しで設定します。

C, C++

long Ret;
long ComparisonData;
ComparisonData = 10000;
Ret = AioSetCntComparisonReg ( Id , 0 , 1 , &ComparisonData , 1 );
 

Python

Ret = ctypes.c_long()
ComparisonData = ctypes.c_long()
ComparisonData.value = 10000
Ret.value = caio.AioSetCntComparisonReg ( Id , 0 , 1 , ctypes.byref(ComparisonData) , 1 )
 

関連項目

AioSetCntComparisonMode