AioSetCntComparisonMode


機能

比較カウント一致が発生したときのカウンタの動作を設定します。

書式

Ret = AioSetCntComparisonMode ( Id , CntChannel , CntMode )

引数

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

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

CntMode [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
動作モードを以下の範囲からマクロもしくは数値で指定します。
CntModeはビット単位で以下のような意味を持ち、これらを組み合わせて指定可能です。

動作モード

マクロ

プリセットカウント値のロード

CNT_LOADPRESET

00000001H

比較カウント値のロード

CNT_LOADCOMP

00000002H

戻り値

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

戻り値

内容

0

正常終了

7

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

10001

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

10002

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

15000

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

20001

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

20002

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

20003

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

25000

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

25002

プリセットカウント値のロード機能は使用できません

25003

比較カウント値のロード機能は使用できません

初期値

CntMode = 0です。
この時、プリセットと比較カウント値のロードは常に0固定値となります。

説明

この関数は、比較カウント一致後のカウンタの動作を設定します。

動作モードにプリセットカウント値のロードを設定すると、比較カウント一致後のカウント値があらかじめ設定されたプリセット値に移動します。
この値が設定された場合、AioSetCntPresetReg関数でプリセット値の設定を行う必要があります。
この値が設定されない場合、プリセット値は初期値の0になります。

動作モードに比較カウント値のロードを設定すると、比較カウント一致後の次の比較カウント値は、AioSetCntComparisonReg関数で設定された値に更新されます。
この値が設定された場合、AioSetCntComparisonReg関数で比較カウント値の設定を行う必要があります。
この値が設定されない場合、比較カウント値は初期値の0になります。

カウンタ機能を持たないデバイスでは使用できません。
デバイスが動作中の場合、この関数は実行できません。

アナログLシリーズの場合
・CNT_LOADPRESETを指定しても有効となりません。
・比較カウント一致が発生したとき、カウント値はゼロクリアされます。

デバイス別仕様

AI-1664UG-PE

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

すべての動作モードが使用可能です。

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

すべての動作モードが使用可能です。

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

すべての動作モードが使用可能です。

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
AO-1604LX-USB

すべての動作モードが使用可能です。

AIO-163202FX-USB

すべての動作モードが使用可能です。

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

すべての動作モードが使用可能です。

AI-1664LAX-USB

すべての動作モードが使用可能です。

AO-1604LX-USB

すべての動作モードが使用可能です。

使用例

チャネル0の動作モードとして、プリセットカウント値のロードを設定します。

VB.NET

Dim Ret As Integer
Ret = AioSetCntComparisonMode ( Id , 0 , CNT_LOADPRESET )
 

C, C++

long Ret;
Ret = AioSetCntComparisonMode ( Id , 0 , CNT_LOADPRESET );
 

C#

int Ret;
Ret = aio.SetCntComparisonMode ( Id , 0 , (short)CaioConst.CNT_LOADPRESET );
 

Python

Ret = ctypes.c_long()
Ret.value = caio.AioSetCntComparisonMode ( Id , 0 , caio.CNT_LOADPRESET )
 

関連項目

AioGetCntComparisonModeAioSetCntPresetRegAioSetCntComparisonReg