機能
デジタルフィルタを設定します。
書式
Ret = DioSetDigitalFilter ( Id , FilterValue )
引数
Id
[ C:short ] [ Python: ctypes.c_short ]
DioInitで取得したデバイスIDを指定します。
FilterValue
[ C:short ] [ Python: ctypes.c_short ]
デジタルフィルタ設定値を指定します。フィルタ係数は、デバイスの種類によって以下の表のようになります。
DIO-1616LN-USB
※ソフトウェアによる簡易的なフィルタとなります。
※割り込みにはフィルタがかかりません。
設定値 [Dec] |
設定時間 |
0 |
デジタルフィルタ未使用 |
1~11 |
デジタルフィルタ未使用 (予約) |
12 |
512 [μsec] |
13 |
1024 [μsec] |
14 |
2.048 [msec] |
15 |
4.096 [msec] |
16 |
8.192 [msec] |
17 |
16.384 [msec] |
18 |
32.768 [msec] |
19 |
65.536 [msec] |
20 |
131.072 [msec] |
CPSN-DI-08L, CPSN-DI-08BL
設定値 [Dec] |
設定時間 |
0 |
デジタルフィルタ未使用 |
1 |
デジタルフィルタ使用 |
DIO-1616LN-ETH, DIO-1616RYN-ETH, DIO-0404LY-WQ
※ソフトウェアによる簡易的なフィルタとなります。
設定値 [Dec] |
設定時間 |
0 |
デジタルフィルタ未使用 |
1~16 |
デジタルフィルタ未使用 (予約) |
17 |
16.384 [msec] |
18 |
32.768 [msec] |
19 |
65.536 [msec] |
20 |
131.072 [msec] |
CPS-DIO-0808L, CPS-DIO-0808BL, CPS-DIO-0808RL, CPS-DI-16L, CPS-DI-16RL
設定値 [Dec] |
設定時間 |
0 |
デジタルフィルタ未使用 |
1 |
0.25 [μsec] |
2 |
0.5 [μsec] |
3 |
1 [μsec] |
4 |
2 [μsec] |
5 |
4 [μsec] |
6 |
8 [μsec] |
7 |
16 [μsec] |
8 |
32 [μsec] |
9 |
64 [μsec] |
10 |
128 [μsec] |
11 |
256 [μsec] |
12 |
512 [μsec] |
13 |
1024 [μsec] |
14 |
2.048 [msec] |
15 |
4.096 [msec] |
16 |
8.192 [msec] |
17 |
16.384 [msec] |
18 |
32.768 [msec] |
19 |
65.536 [msec] |
20 |
131.072 [msec] |
CPSN-DI-16BCL
設定値 [Dec] |
設定時間 |
0 |
デジタルフィルタ未使用 |
1~1000 |
設定値 [msec] |
PIO Hシリーズ:PIO-XX(XX)H,
PI-XX(XX)H, PIO-16/16RY(PCI), DIO-XXXX-PE, DI-XX-PE
DIO-XXXXLX-USB
設定値 [Dec] |
設定時間 |
設定値 [Dec] |
設定時間 |
0 |
フィルタなし |
11 |
256[μsec] |
1 |
0.25[μsec] |
12 |
512[μsec] |
2 |
0.50[μsec] |
13 |
1.024[msec] |
3 |
1.0[μsec] |
14 |
2.048[msec] |
4 |
2.0[μsec] |
15 |
4.096[msec] |
5 |
4.0[μsec] |
16 |
8.192[msec] |
6 |
8.0[μsec] |
17 |
16.384[msec] |
7 |
16[μsec] |
18 |
32.768[msec] |
8 |
32[μsec] |
19 |
65.536[msec] |
9 |
64[μsec] |
20 |
131.072[msec] |
10 |
128[μsec] |
|
|
戻り値
Ret [ C:long ] [ Python: ctypes.c_long ]
定義 |
値 [Dec] |
意味 |
DIO_ERR_SUCCESS |
0 |
正常終了 |
DIO_ERR_DLL_INVALID_ID |
10001 |
無効なIDが指定されました。 |
DIO_ERR_SYS_FILTER |
20400 |
フィルタ設定値が指定範囲外です。 |
その他のエラー(参照:エラーコード詳細)
初期値
フィルタ係数=0です。デジタルフィルタは無効になっています。
ただし、CPSN-DI-16BCLの初期値はWebブラウザでの設定に依存します。
説明
デジタルフィルタは、入力ビットが指定の一定時間ONまたはOFFでないと入力値が変化しない
ようにするハードウェア機能です。
デジタルフィルタを使用することにより、ノイズやチャタリング による無効な入力信号をカットできます。
係数としてどの位の時間を指定するかは、外部に接続する 機器のチャタリングの長さや、有効とする信号の長さ等に合わせて選択してください。
CPSN-DIO-08SLでは、この関数を使用することができません。
使用例
C |
Ret = DioSetDigitalFilter(Id,
FilterValue); |
Python |
Ret = cdio.DioSetDigitalFilter(Id,
FilterValue) |
関連項目
DioInpByte DioInpBit DioInpMultiByte DioInpMultiBit DioSetInterruptEvent