能源管理 / 电表数据采集方案
Modbus RTU 电表批量采集 + 采集网关 + TDengine 时序存储 + Grafana 能耗看板 + Node-RED 分时电价计算,适用于工厂/园区/楼宇的能耗监控与电费管理
01 方案背景与适用场景
为什么需要能源管理系统
- 电费占成本比例高:制造业电费通常占生产成本的5-15%,高耗能行业甚至超过30%,但大多数企业只知道每月总电费,不知道每台设备/每个区域用了多少
- 浪费看不见:设备空转、空压机漏气、照明未关、空调温度过低……这些浪费加起来可能占总用电量的10-20%,但没有数据就发现不了
- 分时电价用不好:尖峰电价是谷段的3-4倍,如果能把高耗能工序调到谷段,每月能省不少电费。但没有分时能耗数据,就不知道哪些设备在尖峰时段用电
- 政策要求:重点用能单位(年综合能耗1万吨标煤以上)强制要求安装能耗在线监测系统,对接政府平台。中小企业也越来越重视能耗管理
适用场景
02 系统架构
5层架构,从电表到看板,通用可复用,适用于大多数能源管理场景
- 分层计量:总表→区域表→楼层表→设备表,四级计量,逐级校验(下级之和≈上级,差值>5%触发报警排查偷电/漏电/计量错误)
- Modbus RTU是主流:90%以上的工业电表支持Modbus RTU(RS485),成本低(100-300元/块),布线简单(手拉手总线),是最成熟的方案
- 预聚合是关键:电表数据量大(30块×15分钟×365天=105万行/年),必须做15分钟/1小时/1天预聚合,看板查预聚合数据,查询速度提升100倍
- 分时电价要配置化:不同地区/不同月份/工作日vs周末/节假日,电价时段都不一样,必须做成可配置的电价表,不能写死在代码里
03 部署要点(关键配置)
RS485布线与电表配置
RS485总线手拉手连接(不要星型),总线长度不超过1200米,两端加120Ω终端电阻。每块电表设置唯一从站地址(1-247),波特率统一115200,数据位8,停止位1,校验位无/偶校验。超过16块电表分两路总线
采集网关部署
用多串口网关(如ThingsGateway部署在工控机上,或专用串口服务器),每路RS485配置独立的串口参数和从站列表。配置采集点表:每块电表读哪些寄存器(电压/电流/有功功率/无功功率/功率因数/正向有功电能),设置采集频率(功率2秒,电能30秒)。开启本地缓存和MQTT上报
TDengine建表与预聚合
创建数据库(保留3年,副本1),创建超级表(标签:电表编号/区域/楼层/设备类型,字段:时间戳+电压+电流+功率+电能+功率因数)。创建连续查询:15分钟预聚合(平均功率/最大电流/电能增量)、1小时预聚合、1天预聚合。创建电价表(时段/单价/月份/日期类型)
Node-RED电费计算流程
订阅MQTT电表数据→写入TDengine→每15分钟触发电费计算:查该时段电价(根据时间判断尖峰平谷)→计算用电量(当前电能-上一时刻电能)×电价→累加到日/月电费。每天8点生成昨日电费报表(Excel)→邮件发送。超阈值报警(日用电量同比增长>30%触发)
Grafana能耗看板
配置TDengine数据源,创建4个仪表盘:① 能耗总览(当日/当月电费、同比环比、实时功率、功率因数、TOP10高耗能设备);② 趋势分析(日/周/月用电量趋势、分时电价占比饼图);③ 设备对比(同楼层设备用电量对比、单位面积能耗);④ 报表中心(日报/月报/年报,支持Excel导出)
数据校验与运维
建立数据质量监控:每块电表在线率/数据完整率/异常值比例,每天自动检查。电表定期校验(每年1次),记录校验误差。备份策略:TDengine每天自动备份到数据盘,保留30天。系统监控:网关/数据库/Grafana进程监控,异常自动重启+报警
04 踩过的坑(真实问题与解决方案)
能源管理项目最容易出问题的是RS485通讯、电能数据类型、分时电价计算,这里是5个真实踩坑
05 分时电价计算逻辑
电价配置表结构(示例)
| 时段 | 工作日时间 | 电价(元/度) | 说明 |
|---|---|---|---|
| 尖 | 19:00-21:00(仅7-8月、12-1月) | 1.2 | 夏季制冷/冬季取暖高峰 |
| 峰 | 8:00-11:00, 13:00-19:00 | 1.0 | 白天用电高峰 |
| 平 | 11:00-13:00, 21:00-23:00 | 0.7 | 过渡时段 |
| 谷 | 23:00-次日8:00 | 0.35 | 夜间低谷,可安排高耗能工序 |
电费计算公式
// 某时段电费 = 该时段用电量 × 该时段电价
// 某时段用电量 = 时段结束电能读数 - 时段开始电能读数
// 跨时段处理(时间加权):
// 如果一个采集区间(如15分钟)跨了两个时段,按分钟数比例分摊
// 例:14:50-15:05,其中14:50-15:00是峰段(10分钟),15:00-15:05是平段(5分钟)
// 峰段用电量 = 区间总用电量 × (10/15)
// 平段用电量 = 区间总用电量 × (5/15)
// 日电费 = Σ(各时段电费) + 基本电费(按变压器容量) + 功率因数调整电费
// 月电费 = Σ(日电费) + 其他附加费 06 相关软件与工具
需要能源管理或电表数据采集方案?
这个方案是通用可复用的,适用于大多数工厂/园区/楼宇的能耗监控场景。丁丁可以帮你做方案设计、电表选型、RS485布线指导、系统部署、看板定制。