AioSetDiFilter


機能

デジタル入力信号のフィルタ設定を行います。

書式

Ret = AioSetDiFilter ( Id , Bit , Value )

引数

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

Bit [ C, C++: short ] [ Python: ctypes.c_short ]
フィルタを設定する入力ビットを指定します。

入力ビット

全ての信号

-1

Value [ C, C++: float ] [ Python: ctypes.c_float ]
フィルタ時間を設定します。単位はμsecになります。

フィルタ時間

0(未使用)

0.05

1

10

100

128

16000

戻り値

Ret [ C, C++: long ] [ Python: ctypes.c_long ]

戻り値

内容

0

正常終了

7

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

10001

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

10002

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

14040

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

14041

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

20001

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

20003

他のプロセスがデバイスを使用しているため、実行できません

24040

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

24041

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

初期値

すべての信号線に関して、フィルタ設定なし

説明

フィルタの設定を行うことにより、下の図のような高周波成分(主にノイズやチャタリング等)を取り除くことができます。

フィルタ設定時間の値が大きいほどノイズやチャタリングの影響を防ぐ事ができますが、ON-OFFの切り替わりの遅延時間も大きくなります。

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

デバイス別仕様

AI-1204Z-PE

設定可能なValueは0、0.05、1、10、100です。

AI-1664UG-PE
AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE

設定可能なValueは0、0.125、0.25、0.5、1.0、2.0、4.0、8.0、16.0、32.0、64.0、128.0、256.0、512.0、1024.0、2048.0、4096.0、8192.0、16000.0です。

 

フィルタ時間ごとにデジタル入力信号がサンプリングされ、連続して4回分のHigh(またはLow)が検出されると、入力回路部に伝えます。

そのため、設定したフィルタ時間の4回分、信号が遅延します。

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

設定可能なValueは0、1、128、16000です。

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

設定可能なValueは0または1です。

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

設定可能なValueは0または1です。

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

設定可能なValueは0または1です。

AI-1608AY-USB
AIO-160802AY-USB
AI-1608GY-USB
AIO-160802GY-USB

設定可能なValueは0または1です。

AIO-163202FX-USB

設定可能なValueは0、1、128、16000です。

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

設定可能なValueは0、1、128、16000です。

AI-1664LAX-USB

設定可能なValueは0または1です。

AO-1604LX-USB

設定可能なValueは0または1です。

AI-1608VIN-USB
AI-1608AIN-USB
AI-1608VIN-ETH
AI-1608AIN-ETH
AO-1604VIN-USB
AO-1604AIN-USB
AO-1604VIN-ETH
AO-1604AIN-ETH

設定可能なValueは0または1です。

使用例

すべてのビットに対して、1usecのフィルタを設定します。

C, C++

long Ret;
Ret = AioSetDiFilter ( Id , -1 , 1.0 );
 

Python

Ret = ctypes.c_long()
Ret.value = caio.AioSetDiFilter ( Id , -1 , 1.0 )