DioSetDigitalFilter


機能

デジタルフィルタを設定します。

書式

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