

DI滤波
下面我把你截图中的功能 完整、专业、但容易理解地解释清楚。
✅ 这是什么界面?
这是 Phoenix Contact 菲尼克斯 的 **Inline / Axioline 远程 IO 配置软件(例如 Startup+ 或 I/O Assistant)**里,对一个数字量输入模块 AXL DI 64/1-ME 的 "滤波时间(Filter Time)" 参数进行配置。
你展开的是:
参数 → 滤波 → 过滤时间
右侧下拉框显示可选的滤波时间:
- 1 ms
- 3 ms
- 10 ms
- < 100 μs
🎯 滤波时间(Filter Time)是什么?为什么要设置?
数字量输入模块 DI(Digital Input) 会读取现场信号,比如:
- 按钮
- 开关
- 传感器输出
- 接触器辅助触点
- 继电器的干接点
这些信号在实际工业环境中非常容易出现:
- 抖动(Bounce)
- 电磁干扰(EMI)
- 触点弹跳(CHF-bounce)
- 干扰噪声尖峰
因此 DI 模块会自带一个"数字滤波器(Digital Input Filter)"。
📌 目的:让信号更稳定,不要误判。
📌 各个选项什么意思?
| 值 | 说明 | 适用场景 |
|---|---|---|
| < 100 μs | 几乎不滤波,输入几乎实时变化 | 高速检测,例如编码器 Z 相、快速光电开关 |
| 1 ms | 输入变化必须保持稳定超过 1ms 才认定 | 一般的工业按钮、光电开关 |
| 3 ms | 更强抗干扰,延迟更高 | 电磁干扰较强、线缆较长 |
| 10 ms | 非常强的抗干扰,延迟变大 | 动作慢的机械设备,如继电器触点、大型按键 |
🧠 举个工业现场真实例子
情况 1:按钮按下
按钮触点抖动:
0 → 1 → 0 → 1 → 0 → 1
如果没有滤波,会被当成 多次触发。
设置 3ms 或 10ms 滤波后:
- 必须连续 3ms 都是 "1"
- 才会被认为是真正按下
避免误触发。
情况 2:高速传感器
高速传感器输出脉宽:200 μs
如果设置 1 ms 滤波 → 这脉冲会被完全过滤掉
必须设置:
- <100 μs
才能正确识别。
🔧 这些参数会写到哪里?
在 Phoenix Contact 的 Inline / Axioline 系统中,滤波参数会写入:
- 设备参数块
- 最终存入 Startup+ 导出的 DTM / Device Parameter File
- CoDeSys 或 PLC 会读取到这些参数,写入到设备
如果对应 EtherCAT,则最终可能写入:
- ESI → CFG → ENI → Slave EEPROM(部分类型支持)
🔍 AXL DI 64/1-ME 的滤波时间属于什么标准?
这是 厂商(Phoenix Contact)定义的参数,不属于 EtherCAT 标准寄存器。
属于:
- 菲尼克斯 Inline/Axioline 产品的模块特定参数
- 不属于 PDO/SDO 标准对象
各家 DO/DI 模块滤波参数都不同,例如:
- Beckhoff DI 模块通常用对象 0x8000/0x80n0(厂商扩展)
- Phoenix Contact 也一样,使用厂商自定义参数
📌 总结一句话
你截图中的下拉框是:
设置数字量输入滤波时间,用于抗干扰/去抖,并根据不同场景选择不同延迟。