デジタル入力信号のフィルタ設定を行います。
Ret = AioSetDiFilter ( Id , Bit , Value )
Id [
VB.NET: Short ] [ C, C++: short ] [ C#: short ] [
Python: ctypes.c_short ]
AioInit 関数で取得したデバイスIDを指定します。
Bit
[ VB.NET: Short ] [ C, C++: short ] [ C#: short ]
[ Python: ctypes.c_short ]
フィルタを設定する入力ビットを指定します。
現在は設定できるのは-1のみです。
入力ビット |
値 |
入力ビット0(予約) |
0 |
入力ビット1(予約) |
1 |
入力ビット2(予約) |
2 |
入力ビット3(予約) |
3 |
上記全ての信号 |
-1 |
Value
[ VB.NET: Single ] [ C, C++: float ] [ C#: float ] [ Python: ctypes.c_float
]
フィルタ時間を設定します。単位はμsecになります。
0の場合、フィルタ未使用となります。
Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]
戻り値 |
内容 |
0 |
正常終了 |
7 |
スタンバイモードから復帰したため、AioResetDevice関数を実行してください |
10001 |
無効なIDが指定されました |
10002 |
ドライバを呼び出せません |
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 |
設定可能な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 |
設定可能なValueは0、1、128、16000です。 |
AIO-160802L-LPE |
設定可能なValueは0または1です。 |
AI-1616L-LPE |
設定可能なValueは0または1です。 |
AO-1604L-LPE |
設定可能なValueは0または1です。 |
AIO-163202FX-USB |
設定可能なValueは0、1、128、16000です。 |
AIO-121602LN-USB |
設定可能なValueは0、1、128、16000です。 |
AI-1664LAX-USB |
設定可能なValueは0または1です。 |
AI-1608VIN-USB |
設定可能なValueは0または1です。 |
すべてのビットに対して、1usecのフィルタを設定します。
VB.NET |
Dim
Ret As Integer |
C, C++ |
long
Ret; |
C# |
int
Ret; |
Python |
Ret
= ctypes.c_long() |