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

📌 总结一句话

你截图中的下拉框是:

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


相关推荐
何事误红尘11 小时前
KF32A学习笔记(二):IDE基本使用、srec和hex格式、FreeRTOS移植
学习
IT古董11 小时前
【MES学习笔记系列】MES 推荐书籍与资源
笔记·学习
迪丽热爱11 小时前
每日英语-11
学习
艾莉丝努力练剑12 小时前
【QT:解决问题】Qt5Core.dll:无法定位程序输入点
java·开发语言·qt·学习·面试
青山是哪个青山20 小时前
LangChain 学习笔记(四):Message 与提示词模板
笔记·学习·langchain
hsjiasb21 小时前
FreeRTOS学习(二十六)——动态内存管理heap_1到heap_5
stm32·单片机·学习·学习笔记·freertos
崇子嵘1 天前
基于zynqMP15eg的linux驱动学习
学习
知识分享小能手1 天前
线性代数学习教程,从入门到精通,向量组的线性相关性 — 完整知识点梳理(7)
学习·线性代数·机器学习
Shell运维手记1 天前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
动词ing1 天前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习