DI滤波学习


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 也一样,使用厂商自定义参数

📌 总结一句话

你截图中的下拉框是:

设置数字量输入滤波时间,用于抗干扰/去抖,并根据不同场景选择不同延迟。


相关推荐
d111111111d1 小时前
在STM32F103C8T6中什么是读写寄存器模型,有什么用,可以干什么,详细解释。
笔记·stm32·单片机·嵌入式硬件·学习
qq_401780821 小时前
1.信号完整性(方波信号的频谱特征)
学习
iiiiii111 小时前
【论文阅读笔记】FOCAL 离线元强化学习,从静态数据中快速适应新任务
论文阅读·人工智能·笔记·学习·机器学习·学习方法·具身智能
calvinpaean1 小时前
FlashOcc 论文学习
学习
calvinpaean1 小时前
MonoOcc 论文学习
学习
van久1 小时前
.Net Core 学习:LINQ 详解
学习·.netcore·linq
van久1 小时前
.NET Core 学习第三天:Razor Pages 联表查询
学习·.netcore
逆小舟1 小时前
【STM32】第四周学习问题汇总
学习
qq_401780822 小时前
2.信号 完整性(信号上升时间与带宽)
学习