AioSetDiFilter


Function

Sets the filter for digital input signal.

Format

Ret = AioSetDiFilter ( Id , Bit , Value )

Parameters

Id [ C, C++ : short ] [ Python : ctypes.c_short ]
Specifies the ID retrieved from AioInit.

Bit [ C, C++ : short ] [ Python : ctypes.c_short ]
Specifies the input bit for setting filter.

Input bit

Value

All signals above

-1

Value [ C, C++ : float ] [ Python : ctypes.c_float ]
Sets the filter time. The unit is usec.

Filter time

0 (Not use)

0.05

1

10

100

128

16000

Return values

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

Return values

Content

0

Normality completion

7

Execute AioResetDevice function because the device has recovered from standby mode

10001

Invalid Id was specified
Use the Id retrieved from AioInit to specify the Id in this function.

10002

AIO driver can't be called
At first, perform AioInit function.

14040

The value of Bit is outside the designated range of the function

14041

The value of Value is outside the designated range of the function

20001

This function can't be used by this device

20003

Can not use because another process is using the device

24040

The value of Bit is outside the designated range of the device being used

24041

The value of Value is outside the designated range of the device being used

Initial values

For all signal lines, filter is disabled

Remarks

If the filter is set, the high frequency component (noise, chattering and so on) can be removed.

The larger the value of filter time setting is, the better the noise and chattering can be avoided. But the delay time of switching between ON and OFF will become longer.

This function cannot be used on devices without digital input functionality.
If the device is in operation, the function cannot be performed.

Specifications based on devices

AI-1204Z-PE

Usable Value is 0, 0.05, 1, 10, 100.

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

Usable Value is 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.

 

The digital input signal is sampled at each filter time, and when 4 consecutive High (or Low) are detected, it is notified to the input circuit.

Therefore, the signal is delayed by 4 times the set filter time

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

Usable Value is 0, 1, 128, 16000.

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

Usable Value is 0 or 1.

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

Usable Value is 0 or 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

Usable Value is 0 or 1.

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

Usable Value is 0 or 1.

AIO-163202FX-USB

Usable Value is 0, 1, 128, 16000.

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

Usable Value is 0, 1, 128, 16000.

AI-1664LAX-USB

Usable Value is 0 or 1.

AO-1604LX-USB

Usable Value is 0 or 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

Usable Value is 0 or 1.

Example

Sets 1usec to the filter of all bits.

C, C++

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

Python

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