在工业控制系统中,当多个同类传感器(如温度、压力、流量变送器)同时监测同一工艺参数时,直接取单一传感器读数易受局部干扰或故障影响。为提升信号可靠性与系统鲁棒性,工程实践中常采用加权平均法对多路模拟量信号进行融合处理。该方法不依赖硬件冗余切换逻辑,仅通过软件算法实现信号优化,在DCS(分布式控制系统)和PLC(可编程逻辑控制器)中均可高效实现,且无需额外IO模块。
以下为完整实操指南,覆盖信号接入、权重设定、异常判别、计算实现及工程验证全过程。所有步骤均基于主流平台(如DeltaV、PCS 7、Logix5000、S7-1200/1500)通用逻辑,无需专用功能块,纯用标准指令即可完成。
一、信号接入与预处理:确保原始数据可用
-
确认传感器输出类型:统一使用
4–20 mA电流信号(最常见),或0–10 V电压信号。若混用,必须先在I/O模块侧完成统一转换(例如:将所有信号接入支持4–20 mA输入的AI模块,禁用内部跳线式电压输入模式)。 -
配置通道滤波与采样周期:
- 在DCS组态中(如DeltaV的DST或PCS 7的HW Config),为每路AI通道启用 “数字滤波”,设置时间常数为
1.0 s(对应RC低通,截止频率约0.16 Hz),抑制高频噪声; - 将AI模块的采样周期设为
500 ms(不可低于200 ms,避免过载CPU;不可高于1 s,防止动态响应滞后); - 禁用“坏质量自动置0”选项,改为保留原始值并标记质量位(Quality Tag),供后续诊断使用。
- 在DCS组态中(如DeltaV的DST或PCS 7的HW Config),为每路AI通道启用 “数字滤波”,设置时间常数为
-
标准化信号至工程单位:
- 对每路信号执行线性变换:
$$ \text{PV}_i = \text{Span} \times \frac{I_i - 4}{16} + \text{LRV} $$
其中:I_i是第i路通道的原始电流值(单位:mA),范围4.00–20.00;Span = URV - LRV,URV与LRV为该参数的量程上限与下限(例如:温度0–150℃时,LRV=0,URV=150,Span=150);- 计算结果
PV_i单位为工程单位(℃、kPa、m³/h等)。
- 此步必须在加权前完成,确保所有
PV_i量纲一致、数值可比。
- 对每路信号执行线性变换:
-
读取并缓存质量状态:
- 每个AI点均附带一个布尔型质量位(如
AI1.Quality),值为TRUE表示信号有效,FALSE表示断线、超限或模块故障; - 创建数组变量
Quality[1..N](N为传感器数量,通常取3或4),按通道顺序写入各点质量位; - 创建浮点数组
PV[1..N],同步写入标准化后的工程值。
- 每个AI点均附带一个布尔型质量位(如
二、权重分配策略:从静态到动态的三级设定法
权重不应固定为 1/N(即简单平均),而需根据传感器位置、历史稳定性、安装条件动态调整。推荐采用三级权重机制:
| 权重层级 | 触发条件 | 权重计算方式 | 典型应用场景 |
|---|---|---|---|
| 基础权重(静态) | 初始组态阶段 | 由工程师手动设定,总和为1.0。例如:主测点 w₁=0.5,辅测点 w₂=0.3,远端点 w₃=0.2 |
新建装置,无历史数据 |
| 健康权重(半动态) | 每24小时自动更新 | 基于过去7天各通道与加权平均值的偏差标准差 σ_i 计算:<br>w_i' = (1/σ_i) / Σ(1/σ_j) |
运行稳定后,自动降低漂移大通道的权重 |
| 实时权重(动态) | 每个扫描周期更新 | 若 |PV_i - PV_avg_last| > 3×σ_i,则 w_i = 0(临时剔除);否则 w_i = w_i' |
应对突发尖峰、短时断线 |
✅ 实施要点:
- 健康权重每月离线计算一次,通过DCS历史数据库导出
PV_i时序数据,在Excel中用STDEV.P()函数求σ_i,再套用公式生成新权重表;- 实时权重判断阈值必须带死区:使用
ABS(PV_i - PV_avg_last) > (3 * σ_i + 0.5),其中0.5是最小死区(单位:工程单位),防止单点微小波动触发误剔除;- 所有权重变量统一存入
REAL类型数组Weight[1..N],初始化值写入FC/FB的静态变量区。
三、加权平均核心计算:在PLC与DCS中的两种实现路径
▶ 路径A:PLC中使用结构化文本(ST)——以S7-1500为例
// 假设 N = 3,信号来自 AI[0], AI[1], AI[2]
VAR
PV: ARRAY[1..3] OF REAL := [0.0, 0.0, 0.0]; // 工程值
Quality: ARRAY[1..3] OF BOOL := [FALSE, FALSE, FALSE]; // 质量位
Weight: ARRAY[1..3] OF REAL := [0.5, 0.3, 0.2]; // 当前权重
PV_avg: REAL; // 输出结果
sum_weight: REAL := 0.0;
sum_prod: REAL := 0.0;
i: INT;
END_VAR
// 步骤1:重置累加器
sum_weight := 0.0;
sum_prod := 0.0;
// 步骤2:遍历每路信号,仅对质量有效且权重>0的通道参与计算
FOR i := 1 TO 3 DO
IF Quality[i] AND (Weight[i] > 0.0) THEN
sum_weight := sum_weight + Weight[i];
sum_prod := sum_prod + (PV[i] * Weight[i]);
END_IF;
END_FOR;
// 步骤3:防除零保护,输出最终值
IF sum_weight > 0.01 THEN // 阈值0.01避免浮点精度问题
PV_avg := sum_prod / sum_weight;
ELSE
PV_avg := 0.0; // 或保持上一有效值:PV_avg := PV_avg;
END_IF;
▶ 路径B:DCS中使用模块化函数块(以DeltaV DCS为例)
-
新建自定义模块
W_AVG_3CH,含以下引脚:- 输入:
IN1、IN2、IN3(REAL,工程值) - 输入:
Q1、Q2、Q3(BOOL,质量位) - 输入:
W1、W2、W3(REAL,当前权重) - 输出:
OUT(REAL,加权平均值) - 输出:
VALID(BOOL,计算是否有效)
- 输入:
-
在模块逻辑中插入以下标准功能块序列:
MULTIPLY×3:分别计算IN1*W1、IN2*W2、IN3*W3;AND×3:分别计算Q1 AND (W1>0)、Q2 AND (W2>0)、Q3 AND (W3>0);SELECT×3:若对应质量/权重有效,则输出乘积值,否则输出0.0;ADD×2:累加三个乘积值 →SUM_PROD;ADD×2:累加三个权重值(经SELECT后)→SUM_WGT;DIVIDE:计算SUM_PROD / SUM_WGT,并用GT判断SUM_WGT > 0.01驱动VALID。
✅ 关键保障:所有中间变量启用“保持值”(Retentive),断电重启后不丢失上一周期结果;
VALID信号直连至报警系统,当连续5秒为FALSE时触发“加权计算失效”报警。
四、异常检测与安全兜底:让系统自己发现问题
加权平均不是“万能胶”,必须配套异常识别机制:
-
一致性检查(Consistency Check):
- 计算各有效通道与
PV_avg的绝对偏差:Dev_i = ABS(PV_i - PV_avg); - 若任意
Dev_i > 5% of Span且持续3秒,触发“单点大幅偏离”报警,并自动将该通道权重临时置0(写入Weight[i] := 0.0); - 若超过1个通道同时满足上述条件,判定为“系统级异常”,立即停用加权输出,切换至
PV_avg := PV[1](主通道直通),并触发高优先级报警。
- 计算各有效通道与
-
权重饱和保护:
- 监控
sum_weight:若其值< 0.3(即有效权重总和不足30%),说明多数通道失效,强制将PV_avg置为BAD质量码(如S7中写入REAL#NaN并置位Q_BAD位),禁止参与下游控制。
- 监控
-
速率限制(dPV/dt保护):
- 记录上一周期
PV_avg_last,计算变化率dPV := (PV_avg - PV_avg_last) / T_scan(T_scan为PLC扫描周期,单位秒); - 若
ABS(dPV) > 2.0 ℃/s(温度场景)或5.0 kPa/s(压力场景),则PV_avg := PV_avg_last(冻结输出),防止虚假尖峰误导控制器。
- 记录上一周期
五、工程验证与投运 checklist
投运前必须完成以下6项验证,缺一不可:
- 信号注入测试:用精密电流源向AI模块注入
4.00、12.00、20.00 mA,确认PV_i显示值误差 ≤ ±0.1% FS; - 权重切换测试:手动将
Weight[2]设为0.0,观察PV_avg是否平滑过渡至剩余两路加权值,无阶跃; - 质量位联动测试:强制
Q2 := FALSE,确认该通道立即被剔除,且sum_weight实时更新; - 异常剔除测试:将
PV[3]突增至PV_avg + 100,验证3秒后Weight[3]自动归零,且PV_avg恢复稳定; - 断电恢复测试:断开PLC电源10秒后上电,检查
PV_avg是否延续断电前值(非清零); - 负载压力测试:在CPU负载 >70% 时连续运行24小时,监控
PV_avg计算周期抖动 < 5 ms,无超时报警。
所有测试结果需记录在《信号融合功能验收单》中,由仪表工程师、DCS工程师、工艺工程师三方签字确认。
加权平均不是替代传感器诊断,而是构建第一道数据可信屏障。它把“多个声音”变成“一个更可靠的声音”,让控制系统听见真实工艺,而非局部噪声。

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