温度滤波

一.滤波含义与意义

1.含义:

滤波 = 把信号里的 “抖动、毛刺、干扰、噪声” 去掉,只保留真实变化。

PLC 里的 数字滤波 ,就是用算法让数值 更平滑、更稳定、不乱跳

2.意义

A. 模拟量天生就抖

4–20mA、0–10V 信号会因为:线长、电磁干扰(变频器、接触器) 、 电源波动 、 传感器本身噪声 、 导致 数值一秒跳几十次 , 不滤波根本没法用 。

B. 防止控制乱跳、设备震荡

  • 温度不滤波 → PID 疯狂输出,压力不滤波 → 阀门频繁开关,流量不滤波 → 累计不准、控制震荡

  • 滤波 = 让控制平稳,不发疯。

C. 保护设备

信号突然跳变会导致:阀门猛开猛关,变频器突然加减速,泵频繁启停,滤波能 避免冲击、延长寿命

D. 提高测量精度

温度、压力、流量都是 慢变信号 ,滤波后才能得到 真实、稳定、可用于控制的数值

E. 抗干扰(工业现场必备)

工厂里干扰极强:电机启动、接触器吸合 、 电缆并行 、 接地不良

滤波 = 给信号加一层 “防护罩”。

二.滤波程序

1.变量定义:

打开网易新闻 查看精彩图片

2.程序编写:

 A.行 1 解释:
打开网易新闻 查看精彩图片
A.行 1 解释:

公式含义: 当前滤波值 = 上一次值 + 系数 × (新原始值 - 上一次值)

本质: 慢慢向新值靠近,不平跳,滤除噪声

B.行 2 解释:

  • ABS(...):取绝对值

判断: 如果温度变化超过 “本周期允许最大值”,就判定为 跳变 / 干扰 ,需要限制。

C.行 3 解释 :

  • 如果滤波后温度 比上一周期高太多

  • 强制限制为: 上一周期 + 本周期最大允许上升值 不让它突然猛涨。

  • D.行 4~6 解释: 否则(温度突然大幅下降)
    • 强制限制为: 上一周期 - 本周期最大允许下降值 防止突然掉下去。

E.行 7 解释:
  • 把本次滤波后的值存到 #Temp _Prev

  • 下一个周期 当作 “上一周期值” 使用这是滤波能持续工作的关键: 记忆上一次结果

F.行 8~9 解释:

标度公式(标准): 工程量 = 下限 + (滤波值 - 原始下限) × 量程跨度 / 原始值跨度

G.程序逻辑:

  1. 一阶滤波: 平滑噪声

  2. 变化率限制: 防止温度突然跳变

  3. 标度变换: 把 0~27648 转成 0~100℃

滤波 = 去抖动、去毛刺、去干扰,让信号稳定平滑,保证控制准确、设备安全、测量可靠。