4. 能源计量点与变量建模

能源监控系统能否长期可靠运行,很大程度上不取决于画面做得多漂亮,而取决于底层变量建模是否规范。计量点与变量建模要解决的核心问题是:让每一个采集上来的数值都带有明确的“身份”——它来自哪个对象、代表什么物理量、用什么单位、量程多少、原始值如何换算成工程量。如果这一步做得含糊,后续的报表、KPI、报警和能效分析都会建立在不可靠的数据语义之上。

一、先划分计量点,再谈变量

计量点建模的第一步不是打开变量表,而是梳理现场对象。以一座典型工厂为例,能源介质通常分为电、水、气、汽四类,每类下面又有不同的计量对象:

  • 电:按配电回路划分,如 10kV 进线、变压器出线、低压主柜、各车间动力柜、照明回路、空压机专线等;每个回路可能采集三相电流、三相电压、有功功率、无功功率、功率因数、有功电能、无功电能。
  • 水:按水表安装位置划分,如市政进水总表、生产用水表、生活用水表、循环水补水表、软化水表等;常见变量为瞬时流量、累积流量、压力、温度。
  • 气:按气表或流量计划分,如天然气总表、锅炉房气表、食堂气表、压缩空气总表、氮气表等;变量包括瞬时流量、累积流量、压力、温度。
  • 汽:按蒸汽流量计划分,如锅炉出口蒸汽表、分汽缸各支路蒸汽表、凝结水回水表等;变量包括瞬时流量、累积流量、压力、温度、差压。

计量点划分的原则是“可独立核算、可独立比较”。一个车间如果既要考核总电耗,又要考核空压机、空调、照明分项电耗,那么总回路和分项回路都要建为独立计量点,而不是只建一个总表再靠人工拆分。

二、变量命名规范:让名字自己说明身份

变量名是数据语义的第一载体。推荐采用“介质_区域_对象_参数_属性”的分段结构,段间用下划线连接,全部使用英文或拼音缩写,避免中文变量名在跨系统交换时出现编码问题。例如:

ELE_WS1_INCOMER_Ua      1号车间10kV进线A相电压
ELE_WS1_INCOMER_P       1号车间10kV进线有功功率
ELE_WS1_INCOMER_EP      1号车间10kV进线有功电能
WTR_PLANT_INLET_FI      全厂进水瞬时流量
WTR_PLANT_INLET_FT      全厂进水累积流量
GAS_BOILER_FI           锅炉房天然气瞬时流量
GAS_BOILER_FT           锅炉房天然气累积流量
STM_BOILER_OUT_FI       锅炉出口蒸汽瞬时流量
STM_BOILER_OUT_FT       锅炉出口蒸汽累积流量

命名中要避免的常见问题包括:用“AI1”“AI2”这类通道号当变量名,用“电表1”“水表2”这类无区域信息的名,以及同一参数在不同回路中缩写不一致。规范一旦确定,应写入项目变量字典,作为后续画面、脚本、报表和接口开发的共同依据。

三、单位体系与量程变换

单位体系必须统一到工程常用单位,并在变量属性中显式声明。建议电功率用 kW、电能用 kWh、水流量用 m³/h、累积水量用 m³、气体流量用 Nm³/h、累积气量用 Nm³、蒸汽流量用 t/h、累积蒸汽用 t。同一介质在画面、报表、报警中不得混用不同单位,否则操作员很容易误读。

量程变换解决的是“原始信号值”到“物理量”的映射。以 4~20mA 压力变送器为例,若量程为 0~1.6MPa,PLC 模拟量输入模块为 0~27648 对应 0~20mA,则:

原始值 5530  →  电流 = 5530 / 27648 * 20 = 4.00 mA
压力 = (4.00 - 4) / (20 - 4) * (1.6 - 0) = 0.00 MPa

原始值 19354 →  电流 = 19354 / 27648 * 20 = 14.00 mA
压力 = (14.00 - 4) / 16 * 1.6 = 1.00 MPa

在 WinCC 中,这类线性变换通常放在 PLC 侧完成,WinCC 只接收工程量;若必须在 WinCC 侧做,可用变量线性标定或脚本实现。无论放在哪一侧,都要保证量程上下限、单位、小数位数与现场仪表铭牌一致,并在变量注释中写明变送器型号和量程。

四、工程量转换:从瞬时值到累积值

瞬时流量和瞬时功率不能直接用于能耗统计,必须转换为累积量。累积有两种常见方式:一是直接读取仪表内部累积寄存器,如电表的有功电能、水表的累积流量;二是由 WinCC 或 PLC 对瞬时值做积分。前者精度高、推荐优先使用;后者用于没有累积寄存器的场合。

以蒸汽流量为例,若瞬时流量单位为 t/h,采样周期为 1s,则每个周期增加的蒸汽量为 FI / 3600 t。WinCC 中可用全局脚本或 PLC 累加实现,并注意设置累积值上限和断电保持。累积值一旦溢出或清零,报表就会出现负值或跳变,因此要建立“累积值只增不减”的校验规则。

对于电表、水表、气表等带累积寄存器的仪表,优先直接读取累积值,并在 WinCC 中做“上次值比较”,若本次值小于上次值则判断为仪表清零或通信异常,触发报警而不是直接累加。

五、数据语义一致性的检查

变量建模完成后,应做一次语义一致性检查,重点核对:同一计量点的瞬时值与累积值是否来自同一块仪表;单位是否与报表口径一致;量程变换后的数值是否落在合理范围;累积值是否单调递增;不同区域同类变量的命名是否遵循同一规则。下面这张图给出从现场计量点到 WinCC 变量的完整映射关系,可作为建模时的对照参考。

能源计量点与变量建模映射关系 现场计量对象 配电回路 进线/出线/动力柜 多功能电表 水表 总表/分表/补水表 瞬时+累积 气表 天然气/压缩空气 流量计 蒸汽流量计 锅炉出口/支路 差压/涡街 信号类型 4~20mA / Modbus / 脉冲 采集与变换 PLC 模拟量处理 原始值 0~27648 线性标定 → 工程量 量程变换 4mA→下限 20mA→上限 单位:kW / m³/h / t/h 累积量转换 瞬时值积分或读寄存器 kWh / m³ / Nm³ / t 通信与校验 Modbus 寄存器映射 断线/溢出/清零判断 WinCC 变量与语义 命名规范 介质_区域_对象_参数_属性 ELE_WS1_INCOMER_P 单位体系 kW / kWh / m³/h / m³ Nm³/h / t/h / t 变量属性 量程/单位/小数位/注释 关联计量点与仪表 语义一致性检查 瞬时/累积同源、单位统一 累积单调、命名统一 输出:画面 / 报表 / KPI / 报警 所有下游应用共享同一语义 注:图中参数为教学示例,实际工程以仪表铭牌和设计文件为准

建模完成后,建议用一张“计量点—变量—单位—量程—累积方式”对照表做最终确认。表中每一行对应一个计量点,列出其关键变量、单位、量程来源和累积策略,作为调试、验收和后期维护的依据。这样,当现场更换仪表或调整量程时,只需修改对应行,而不会影响其他计量点的数据语义。

常见错误:同一块电表的有功电能既在 PLC 中积分,又直接读取电表寄存器,导致报表中电量翻倍;或者水表瞬时流量用 m³/h、累积流量用 L,画面和报表单位不一致。建模阶段必须明确每个变量的唯一来源和唯一单位。

变量建模不是一次性工作,而是随着计量点增减、仪表更换、报表口径调整而持续维护的基础工作。把命名、单位、量程和累积方式固化到变量字典中,并在每次变更后同步更新,才能保证能源数据在长期运行中始终“说同一种语言”。