文章目录

模拟量滤波时间常数:滤波时间过长导致控制滞后,过短导致波纹大的权衡

发布于 2026-03-21 06:10:05 · 浏览 2 次 · 评论 0 条

在电气自动化系统中,模拟量信号(如温度、压力、流量、电流、电压等)是过程监控与闭环控制的基础。这些物理量经传感器采集后,转换为 4–20 mA、0–10 V 或 ±10 V 等连续电信号,再由 PLC、DCS 或智能 I/O 模块的模数转换器(ADC)采样为数字值。但原始模拟信号常叠加高频噪声(来自变频器干扰、电源谐波、接触不良、长线耦合等),直接参与控制将导致输出抖动、阀门频繁调节、PID 振荡甚至设备误动作。因此,必须对模拟量输入做数字滤波

其中,一阶低通数字滤波器因结构简单、计算轻量、参数物理意义明确,被绝大多数工业控制器默认采用。其核心参数即 滤波时间常数(Filter Time Constant),单位为毫秒(ms)或秒(s)。该参数并非“越小越好”或“越大越好”,而是一个需根据具体工况精细权衡的关键设定——滤波时间过长,系统响应迟钝,失去实时性;滤波时间过短,噪声抑制不足,控制品质恶化。本文将从原理、影响、选型方法到实操步骤,手把手讲清这一权衡逻辑。


一、一阶数字滤波器的工作原理(仅需理解其“惯性”本质)

工业控制器中常用的一阶数字滤波,数学上等效于模拟 RC 低通电路的离散化实现,其差分方程为:

$$y_n = \alpha \cdot x_n + (1 - \alpha) \cdot y_{n-1}$$

其中:

  • $x_n$ 是第 $n$ 次采样的原始输入值(如 ADC 原始码值);
  • $y_n$ 是第 $n$ 次滤波后的输出值;
  • $y_{n-1}$ 是上一次滤波输出;
  • $\alpha$ 是滤波系数,取值范围为 $0 < \alpha \leq 1$。

该公式可直观理解为:当前输出 = 新数据 × 权重 + 旧输出 × 余下权重。$\alpha$ 越大,新数据影响越强,响应越快,但抗噪越弱;$\alpha$ 越小,旧输出惯性越强,平滑性越好,但滞后越明显。

而滤波时间常数 $T_f$ 与 $\alpha$ 的关系由控制器采样周期 $T_s$(通常为 1–100 ms)决定:

$$\alpha = \frac{T_s}{T_s + T_f}$$

由此可反解出:

$$T_f = T_s \cdot \left(\frac{1 - \alpha}{\alpha}\right)$$

关键结论:

  • 当 $T_f \ll T_s$ 时,$\alpha \approx 1$,滤波几乎无效,输出紧贴原始信号;
  • 当 $T_f \gg T_s$ 时,$\alpha \approx 0$,输出变化极慢,近乎保持上一值;
  • 当 $T_f = T_s$ 时,$\alpha = 0.5$,每次输出取新旧值的算术平均,是响应与平滑的典型折中点。

注意:此处 $T_s$ 是控制器实际执行滤波运算的时间间隔(非人眼观察刷新率),需查阅对应 CPU 或模块手册确认(如西门子 S7-1500 的工艺对象默认为 10 ms;ABB AC800F 默认为 20 ms)。


二、滤波时间过长:控制滞后的三大典型后果

1. PID 控制器积分饱和加剧

以液位 PID 控制为例:若进水阀开度由 4–20 mA 压力变送器反馈水压间接推算,而滤波时间设为 500 ms。当实际水位突降时,滤波输出延迟半秒才开始下降,PID 的比例项(P)和微分项(D)均失效;积分项(I)却持续累积误差,导致输出大幅超调。待滤波值终于下降,PID 已严重过调,引发液位大幅振荡。

2. 安全联锁响应超时

在锅炉燃烧控制中,炉膛负压信号经 1 s 滤波后送入安全系统(SIS)。若引风机突发故障,负压瞬时正向冲高(危险工况),但滤波器将峰值衰减并延迟输出,可能导致 SIS 判断“未超限”,错过紧急停炉窗口。

3. 运动控制位置跟随失步

伺服驱动器接收的模拟量速度指令若经 200 ms 滤波,在启停阶段会出现明显“爬行”:给定速度阶跃上升,滤波输出缓慢爬升,电机加速迟缓;停止指令发出后,滤波输出仍维持高位,造成过冲。整定 PID 参数也无法补偿此纯滞后环节。

✅ 实测判断法:在趋势图中观察滤波后信号相比原始信号的相位偏移。若在阶跃变化处,滤波曲线起始点比原始曲线延迟 ≥ 3×$T_f$(一阶系统达到 95% 终值需约 3$T_f$),且上升/下降斜率明显变缓,则已进入过度滤波区。


三、滤波时间过短:波纹过大的三种表现形式

1. 控制输出高频抖动

某空压机出口压力 PID 控制中,压力变送器输出含 500 Hz 开关电源噪声。若滤波时间设为 1 ms,滤波器截止频率约 $f_c = \frac{1}{2\pi T_f} \approx 160$ Hz,无法衰减 500 Hz 成分,导致 PID 输出在 ±0.5% 阀位间无规律跳变,气动执行机构膜片持续微震,加速磨损。

2. 数字显示数值跳变干扰判断

DCS 画面上温度显示为 42.3°C42.7°C41.9°C42.5°C(每秒跳 4 次),操作员无法分辨真实趋势,易误判为传感器故障或工艺异常,频繁联系仪表工处理。

3. 数据记录文件体积异常膨胀

未滤波的 100 Hz 采样数据写入历史数据库,1 小时生成约 360,000 点;若叠加 50 Hz 工频干扰,有效信息密度不足 10%,存储空间浪费超 90%,且后续数据分析(如统计过程控制 SPC)因噪声干扰失效。

✅ 实测判断法:将滤波前后信号同屏对比(X 轴时间,Y 轴幅值)。若滤波后曲线仍存在 > 2 Hz 的密集毛刺,或峰峰值波动 > 工艺允许误差带(如温度±0.5°C,压力±2 kPa),则滤波不足。


四、科学设定滤波时间常数的四步法(零理论门槛)

以下方法无需示波器或频谱分析仪,仅用 DCS/PLC 自带趋势功能与现场工艺知识即可完成。

步骤 1:确定信号的“真实变化速率”

不依赖传感器标称响应时间(常虚标),而依据工艺本身。例如:

  • 蒸汽管道壁温:受蒸汽流速与管壁热容限制,10 秒内变化通常 < 1°C → 允许最大滞后 ≤ 2 s;
  • 变频器输出电流:负载突变时,电流可在 20 ms 内完成 90% 变化 → 要求响应时间 ≤ 50 ms;
  • 液位开关量信号(虽为开关量,但某些液位计输出模拟量):储罐容积大时,液位变化速率可能仅 0.1 m/min → 每秒变化 < 0.002 m,滤波可放宽至 500 ms。

记住:滤波时间常数 $T_f$ 应 ≤ 工艺变量自然变化时间尺度的 1/3~1/5。
例如,若某温度在 30 秒内从 80°C 升至 120°C(变化速率 ≈ 1.33 °C/s),其特征时间尺度为 30 s,则 $T_f$ 不宜超过 6–10 s。

步骤 2:识别主要噪声源及其频率特征

对照常见工业噪声频段表,快速定位:

噪声来源 典型频率范围 是否可被 $T_f = 20$ ms 滤波抑制?
变频器 IGBT 开关噪声 2–15 kHz 是($f_c \approx 8$ Hz)
50/60 Hz 工频干扰 50/60 Hz 及其谐波 否(需 $T_f \geq 100$ ms)
接触不良电火花 宽带脉冲(< 1 μs) 否(需硬件 RC 滤波前置)
机械振动传导 10–200 Hz 是($T_f = 50$ ms 时 $f_c \approx 3$ Hz,需配合 $T_f = 10$ ms)

✅ 快速验证:将滤波时间临时设为最小值(如 1 ms),打开趋势图,观察噪声是否呈现规则周期(如固定 20 ms 间隔)——若是,大概率为工频谐波;若为无规则尖峰,多为开关噪声或接触问题。

步骤 3:按“3 倍准则”初设 $T_f$

取以下三者的最小值:

  • $T_{f1}$ = 工艺允许最大滞后 ÷ 3;
  • $T_{f2}$ = 主要噪声周期 ÷ 6(因一阶滤波在 $f = f_c$ 处衰减 -3 dB,需 $f_c$ 至少低于噪声主频 2 倍才能有效抑制);
  • $T_{f3}$ = 控制器支持的最小采样周期 $T_s$ 的 2 倍(避免 $\alpha$ 过大导致数值不稳定)。

示例:
某流量计输出 4–20 mA,工艺要求流量阶跃响应 ≤ 1 s,主要噪声为 100 Hz 工频干扰(周期 = 10 ms),控制器 $T_s = 10$ ms。
则:

  • $T_{f1} = 1000\ \text{ms} \div 3 \approx 333$ ms;
  • $T_{f2} = 10\ \text{ms} \div 6 \approx 1.7$ ms;
  • $T_{f3} = 10\ \text{ms} \times 2 = 20$ ms。
    → 初设 $T_f = \min(333,\ 1.7,\ 20) = 1.7$ ms → 但此值过小,实际应取略大于 $T_{f2}$ 的整数,如 10 ms(对应 $f_c \approx 16$ Hz,可衰减 100 Hz 噪声约 -16 dB)。

步骤 4:在线微调并冻结

  1. 先设保守值(如初设值 × 0.5);
  2. 观察趋势 5 分钟:检查是否有明显波纹;
  3. 若波纹存在,每次增加 $T_f$ 5–10 ms,直至波纹幅度 ≤ 工艺允许波动带;
  4. 若发现响应明显迟滞(如阶跃后 3$T_f$ 时间内未达 95%),则减少 $T_f$ 2–5 ms
  5. 连续稳定运行 2 小时无异常,记录最终值并写入配置文档

⚠️ 注意:同一控制器内不同通道可设不同 $T_f$。严禁为“省事”将所有模拟量统一设为 100 ms。


五、不同场景下的推荐滤波时间常数速查表

以下数值基于主流 PLC/DCS(西门子、罗克韦尔、横河、和利时)现场调试经验汇总,已排除硬件滤波贡献,仅指软件数字滤波部分:

信号类型 典型应用 推荐 $T_f$ 范围 说明
温度(热电阻) 反应釜夹套温度 500–2000 ms 热惯性大,重点抑低频漂移
温度(热电偶) 炉膛火焰温度 100–500 ms 响应快,需兼顾火焰闪烁噪声
压力(绝压) 压缩空气总管压力 100–300 ms 管道阻尼大,但需捕捉泄漏突变
压力(差压) 孔板流量计差压 20–100 ms 高频脉动多,过长滤波损失流量动态信息
流量(脉冲累计) 电磁流量计频率输出 50–200 ms 需平滑瞬时流量,但不可掩盖真实波动
电流/电压(电机) 变频器输出电流 10–50 ms 响应要求高,噪声以开关频率为主,$T_f$ 过长致 PID 振荡
位置(LVDT) 汽轮机阀门开度 20–100 ms 机械传动有固有延迟,滤波需匹配
分析仪表(pH) 在线 pH 计 1000–5000 ms 化学响应慢,探头易受气泡/污染干扰,强滤波防误动作

✅ 表格使用提示:

  • 若现场电磁干扰严重(如邻近大功率焊机),在推荐值基础上 ×1.5;
  • 若用于安全仪表功能(SIF),$T_f$ 必须通过 SIL 验证,不得自行调整;
  • 所有推荐值均假设已启用硬件 RC 滤波(如 1 kΩ + 100 nF 组成 100 μs 硬件低通),软件滤波在此基础上补充。

六、必须规避的五大错误实践

  1. 将滤波时间常数与 PID 微分时间混为一谈
    错误认知:“微分时间设 1 s,那滤波也设 1 s”。二者物理意义完全不同:微分时间用于预测变化趋势,滤波时间用于抑制噪声。混用将导致控制回路相位混乱。

  2. 在未隔离干扰源前盲目加长滤波
    例如:压力信号波动大,不检查取压管是否共振、屏蔽层是否接地、电源是否共地,而直接把 $T_f$ 从 50 ms 加到 500 ms。结果只是掩盖问题,一旦噪声升级(如新增变频器),系统彻底失控。

  3. 对同一信号在不同层级重复滤波
    典型错误链:传感器内置滤波($T_f=100$ ms)→ I/O 模块软件滤波($T_f=200$ ms)→ DCS 控制算法内再次滤波($T_f=100$ ms)。总等效时间常数远超预期,响应迟滞呈指数级放大。

  4. 用滤波替代坏硬件
    若热电偶补偿导线破损导致信号随机跳变,滤波只会让跳变变得“柔和”,无法恢复真实值。此时必须更换导线,而非调大 $T_f$。

  5. 忽略冷端补偿对滤波的影响
    热电偶测量中,冷端温度补偿电路若自身未滤波,其噪声会直接叠加到热电势上。此时需同步设置冷端采集通道的 $T_f$,否则主通道滤波无效。


将滤波时间常数设为 100 ms,观察 10 分钟趋势:若波纹峰峰值 ≤ 工艺允许误差带,且阶跃响应延迟 ≤ 工艺允许最大滞后,则该值可用;否则按步骤 4 微调。

评论 (0)

暂无评论,快来抢沙发吧!

扫一扫,手机查看

扫描上方二维码,在手机上查看本文