温度滤波
一.滤波含义与意义
1.含义:
滤波 = 把信号里的 “抖动、毛刺、干扰、噪声” 去掉,只保留真实变化。
PLC 里的 数字滤波 ,就是用算法让数值 更平滑、更稳定、不乱跳 。
2.意义
A. 模拟量天生就抖
4–20mA、0–10V 信号会因为:线长、电磁干扰(变频器、接触器) 、 电源波动 、 传感器本身噪声 、 导致 数值一秒跳几十次 , 不滤波根本没法用 。
B. 防止控制乱跳、设备震荡
温度不滤波 → PID 疯狂输出,压力不滤波 → 阀门频繁开关,流量不滤波 → 累计不准、控制震荡
滤波 = 让控制平稳,不发疯。
C. 保护设备
信号突然跳变会导致:阀门猛开猛关,变频器突然加减速,泵频繁启停,滤波能 避免冲击、延长寿命 。
D. 提高测量精度
温度、压力、流量都是 慢变信号 ,滤波后才能得到 真实、稳定、可用于控制的数值 。
E. 抗干扰(工业现场必备)
工厂里干扰极强:电机启动、接触器吸合 、 电缆并行 、 接地不良
滤波 = 给信号加一层 “防护罩”。
二.滤波程序
1.变量定义:
![]()
2.程序编写:
![]()
A.行 1 解释:
公式含义: 当前滤波值 = 上一次值 + 系数 × (新原始值 - 上一次值)
本质: 慢慢向新值靠近,不平跳,滤除噪声
B.行 2 解释:
-
ABS(...):取绝对值
判断: 如果温度变化超过 “本周期允许最大值”,就判定为 跳变 / 干扰 ,需要限制。
C.行 3 解释 :
如果滤波后温度 比上一周期高太多
强制限制为: 上一周期 + 本周期最大允许上升值 不让它突然猛涨。
- D.行 4~6 解释: 否则(温度突然大幅下降)
强制限制为: 上一周期 - 本周期最大允许下降值 防止突然掉下去。
把本次滤波后的值存到
#Temp _Prev给 下一个周期 当作 “上一周期值” 使用这是滤波能持续工作的关键: 记忆上一次结果 。
标度公式(标准): 工程量 = 下限 + (滤波值 - 原始下限) × 量程跨度 / 原始值跨度
G.程序逻辑:
一阶滤波: 平滑噪声
变化率限制: 防止温度突然跳变
标度变换: 把 0~27648 转成 0~100℃
滤波 = 去抖动、去毛刺、去干扰,让信号稳定平滑,保证控制准确、设备安全、测量可靠。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.