DioSetDigitalFilter


機能

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

書式

Ret = DioSetDigitalFilter ( Id , FilterValue )

引数

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

FilterValue [ C, C++:short ] [ Python: ctypes.c_short ]
デジタルフィルタ設定値を指定します。

戻り値

Ret [ C, 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

CPSN-MCB271と併用する場合、電源投入直後の初期値はWebブラウザでの設定に依存します。

説明

デジタルフィルタは、入力ビットが指定の一定時間ONまたはOFFでないと入力値が変化しない ようにするハードウェア機能です。
デジタルフィルタを使用することにより、ノイズやチャタリング による無効な入力信号をカットできます。
係数としてどの位の時間を指定するかは、外部に接続する 機器のチャタリングの長さや、有効とする信号の長さ等に合わせて選択してください。

デバイス別仕様

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-08FCL

CPSN-DI-08FCRL

デジタルフィルタ設定値

[Dec]

設定時間

0

デジタルフィルタ未使用

1

0.1 [μsec]

2

0.2 [μsec]

3

0.4 [μsec]

4

0.8 [μsec]

5

1.6 [μsec]

6

3.2 [μsec]

7

6.4 [μsec]

8

12.8 [μsec]

9

25.6 [μsec]

10

51.2 [μsec]

11

102.4 [μsec]

12

204.8 [μsec]

13

409.6 [μsec]

14

819.2 [μsec]

15

1.6384 [msec]

16

3.2768 [msec]

17

6.5536 [msec]

18

13.1072 [msec]

19

26.2144 [msec]

20

52.4288 [msec]

 

CPSN-DI-08L

CPSN-DI-08BL

 

デジタルフィルタ設定値

[Dec]

設定時間

0

デジタルフィルタ未使用

1

デジタルフィルタ使用

 

CPSN-DI-16BCL

デジタルフィルタ設定値

[Dec]

設定時間

0

デジタルフィルタ未使用

1~1000

設定値 [msec]

 

DIO-1616LN-ETH

DIO-1616RYN-ETH

※ソフトウェアによる簡易的なフィルタとなります。
※割り込みにはフィルタがかかりません。   

デジタルフィルタ設定値

[Dec]

設定時間

0

デジタルフィルタ未使用

1~16

予約

17

16.384 [msec]

18

32.768 [msec]

19

65.536 [msec]

20

131.072 [msec]

 

DIO-0404LY-WQ

※ソフトウェアによる簡易的なフィルタとなります。
※割り込みにはフィルタがかかりません。   

デジタルフィルタ設定値

[Dec]

設定時間

0

デジタルフィルタ未使用

1~12

予約

13

1.024 [msec]

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]

 

DIO-1616LN-USB

DIO-0808LY2-USB

DIO-0808TY2-USB

DI-16TY2-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]

 

PIO-XX(XX)H

PI-XX(XX)H

PIO-16/16RY(PCI)

DIO-XXXX-PE

DI-XX-PE

DIO-XXXXLX-USB

DIO-1616RYX-USB

DIO-1616RYX2-USB

デジタルフィルタ設定値

[Dec]

設定時間

0

デジタルフィルタ未使用

1

0.25[μsec]

2

0.50[μsec]

3

1.0[μsec]

4

2.0[μsec]

5

4.0[μsec]

6

8.0[μsec]

7

16[μsec]

8

32[μsec]

9

64[μsec]

10

128[μsec]

11

256[μsec]

12

512[μsec]

13

1.024[msec]

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]

 

 

使用例

デジタルフィルタを未使用に設定します。

C, C++

long Ret;

Ret = DioSetDigitalFilter(Id, 0);
 

Python

Ret = ctypes.c_long()

Ret.value = cdio.DioSetDigitalFilter(Id, 0)
 

関連項目

DioInpByte DioInpBit DioInpMultiByte DioInpMultiBit DioSetInterruptEvent