开头
前几天和一个做再生铝的朋友聊天,他给我算了一笔账:厂里三台中频炉加一套连铸连轧线,月用电量将近400万度,电费占生产成本的比例从两年前的8%一路爬到现在的16%左右。他说最难受的不是电费高,而是不知道电到底用在了哪里——哪个炉次最费电,哪台设备夜间空转了一整晚,几台炉子同时起炉时的需量尖峰到底被罚了多少钱,这些数据全靠月底拿到电费单才后知后觉。
这其实是废旧金属回收加工行业的一个通病。这个行业的能耗结构以电力为主,而且负载波动剧烈,熔炼、轧制、环保除尘这些环节的用电特征完全不同。过去大家更关注金属回收率和成品质量,对能源数据的管理基本停留在“月末看一眼电费单”的粗放水平。但这两年电价市场化改革推进、碳排放双控压力传导到下游,能源成本已经实实在在变成了决定企业利润的关键变量。
我给他的建议是上一套MyEMS——一个开源的能源管理系统。这套系统在GitHub上有相当活跃的社区,目前已经积累了4.1k Star,采用Python + React + MySQL的成熟技术栈,既能做全面的数据采集和能耗分析,也能做需量控制、分时计费等进阶功能。最关键的是,它开源免费,对于利润率普遍偏薄的废旧金属回收加工企业来说,意味着可以低成本地搭建一套属于自己的能源管理平台。
这篇文章我就从废旧金属回收加工行业的实际需求出发,结合我在几个工厂项目里的落地经验,聊聊怎么用MyEMS一步步搭建能源管理系统,以及在这个过程里你会遇到哪些坑、怎么避开。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
1. 先摸清废旧金属加工行业的能耗底数
1.1 熔炼环节的用电特征
废旧金属回收加工的主流程通常包括分拣、剪切/打包、熔炼、精炼、浇铸/轧制、环保除尘这样一个链条。其中熔炼环节是绝对的电耗大户,典型的设备是中频感应炉和电弧炉。中频炉靠电磁感应加热金属,功率从几百千瓦到几十兆瓦不等,启动时会有明显的冲击性负载,而且一个熔炼周期内功率波动非常大——从冷炉起炉到熔化完成再到保温出汤,每个阶段的电流、功率因数都不同。
电弧炉更猛,起弧瞬间的电流冲击可以达到额定电流的2到3倍,对电网的冲击非常明显。我见过有的小型电弧炉炼钢厂,每次起弧都能让所在台区的电压闪变好几个百分点。这类冲击性负载如果没有做好需量管理,很容易把企业每月的最大需量顶得老高,而基本电费恰恰是按照需量来计费的。
还有一个很多人忽略的点:中频炉的功率因数和谐波问题很突出。中频炉本身是非线性负载,会产生大量谐波电流,常见的是5次、7次、11次谐波。如果企业没有装谐波治理装置,或者治理装置运行状态不良,功率因数长期偏低,供电公司会按照功率因数调整电费,最高的加收比例可以达到电费总额的15%以上。这部分“隐形电费”很多企业根本没意识到。
1.2 辅助设备和生产线上的能耗黑洞
除了熔炼炉之外,废旧金属加工厂里的辅助设备同样不容小觑。破碎机、剪切机、行车、水泵、风机、空压机、除尘器,这些设备单台功率可能只有几十到几百千瓦,但数量多、运行时间长,加起来的总耗电量往往占到全厂用电的30%以上。
空压机是典型的“能耗隐形杀手”。很多工厂的空压机常年满负荷运行,或者用几台大机器硬扛小负荷,负载率经常不到50%。这就像开着一辆重型卡车去送快递,油耗高还跑不快。我见过一个铜材加工厂,四台75kW的空压机全年不停机,实际负载率只有40%左右,光是空压机这一个系统的年电费就超过了80万元——要知道那还只是一个中等规模的厂。
环保除尘设备的用电也常常被忽视。废旧金属在剪切、破碎、熔炼过程中会产生粉尘和烟气,环保设施必须同步运行。这套系统的风机功率通常不小,而且一般会全年开启。很多工厂对除尘风机的运行策略管理粗放,不管有没有生产都在满负荷运行,造成了大量不必要的电耗。
1.3 分时电价下的省钱空间
废旧金属回收加工企业的一大优势是很多工序可以灵活安排。熔炼、剪切、打包这类作业不像连续化工流程那样必须全天候运行,完全可以根据分时电价来调整生产计划。
现在国内大部分省份都执行峰谷分时电价,峰段和谷段的电价差普遍在3到4倍,有些地区还叠加了尖峰电价,差距更大。以某省为例,尖峰电价1.4元/度,深谷电价0.3元/度,中间差了1块多钱。如果一个月的用电量是400万度,哪怕只把20%的用电量从峰段转移到谷段,一个月就能省下十几万电费——这笔钱对于微利运行的再生金属企业来说,就是实打实的净利润。
但要实现这样的移峰填谷,前提是你要清楚知道自己厂里每个环节到底什么时候在用多少电。没有翔实的数据支撑,光靠“感觉”去调整生产计划,很容易出现以为省了、其实多花了的情况。这正是能源管理系统要解决的第一个问题:让每一度电的流向都清清楚楚。
2. 系统落地前的规划:硬件选型和架构设计
2.1 先搞清楚要监测哪些节点
我在做能源管理项目时,第一步从来不是安装设备,而是先画一张全厂的供配电拓扑图。从10kV进线开始,到变压器,到一级配电柜,再到车间里各条馈线回路,逐级梳理。确定好监测层级之后,再决定每个节点装什么仪表、采集什么数据。
对于废旧金属加工厂,我的建议是分三级部署:
第一级是关口计量点,也就是10kV进线处或变压器高压侧。这里主要采集总用电量、总功率、功率因数等数据,用来核算全厂能耗和基本电费。
第二级是变压器低压侧出线,按车间或者按功能分区设置,比如熔炼车间、加工车间、辅助动力区、办公生活区。这一级的目的是看清楚电能在各个生产单元之间的分配比例。
第三级是重点设备级,比如每台中频炉、每台大功率空压机、每套除尘系统,单独安装电表或电流互感器,用来做单机台能耗分析和设备运行效率评估。
这里有个很重要的原则:监测层级不是越多越好,够用就行。我看到有些企业一上来就追求所有回路全覆盖,光仪表采购成本就好几十万,后续维护工作量也大。大多数中小型再生金属企业的合理做法是“关口+车间+重点设备”三级覆盖,先把骨架搭起来,后面有需要再逐步扩展。
2.2 仪表选型的几个关键参数
仪表选型直接决定了数据的准确性和系统的可靠性。对废旧金属加工行业来说,有几个参数需要特别注意:
-
精度等级:关口计量建议用0.5S级或更高的互感器和电能表,车间级用1.0级即可,设备级用1.0级或2.0级都行。精度要求越高,采购成本越高,没必要全线铺高精度。
-
电流互感器变比:这是最容易出错的地方。我之前遇到一个案例,电工估算中频炉的电流时把峰值电流当成平均电流来选互感器变比,结果互感器长时间过载,二次侧电流失真,采集到的功率数据比实际值偏大很多。选型时一定要考虑到设备启动时的冲击电流,一般建议按额定电流的1.5到2倍选变比。
-
通讯协议:现在的智能电表普遍支持Modbus RTU或Modbus TCP协议,这是工业现场最通用的通讯方式,MyEMS对它支持得很好。部分新设备支持DL/T 645-2007国标协议,那是供电公司计量用的,一般不建议直接拿来做企业内部能源管理采集,兼容性麻烦一点。
-
通讯接口:需要考虑是RS485总线还是以太网。RS485传输距离长、抗干扰能力强、成本低,适合车间级就地组网;以太网适合数据量大、点位集中的场合。废旧金属工厂现场电磁干扰比较严重,尤其是中频炉、电弧炉附近,RS485通讯一定要用带屏蔽的双绞线,并且做好单端接地。
2.3 数据采集器和通讯架构怎么搭
采集器是整个系统的“神经中枢”,负责从各个仪表读取数据,然后转发给上层的MyEMS服务器。选择采集器时有几个考量:
一是通道数量,要根据仪表点位数量预留一定的余量。二是本地存储能力,最好支持断电缓存,防止网络中断时数据丢失。三是通讯规约兼容性,要能支持多种品牌的仪表,现在市场上主流采集器一般都能做到。
从架构上看,比较常见的做法是:仪表通过RS485总线连接到采集器,采集器再通过以太网(有线或4G)把数据上传到MyEMS服务器。对于厂区比较分散、距离比较远的情况,也可以用光纤收发器或者工业交换机组环网。
还有一点值得说一下:采集频率的设置。MyEMS支持秒级到分钟级的多种采集频率配置。对于熔炼这种动态过程,建议关键回路的采集频率不低于15秒一次,这样后续分析炉次能耗、看负荷曲线的时候才有足够的分辨率。车间级和关口级的数据30秒到1分钟采集一次就够了,频率太高既占用通讯带宽又增加存储成本。
3. MyEMS软件部署:一步步从零到能跑起来
3.1 部署环境准备和两种主流方式
MyEMS的部署方式比较灵活,我个人推荐用Docker Compose的方式,部署快、依赖少、不容易把宿主机环境弄乱。先说一下硬件要求:如果只是管理一个车间几十个监测点,一台4核8G内存的服务器就够用,存储建议至少500G固态盘,因为能耗数据是持续增长的时序数据,一天下来光原始数据就有几十MB。
MySQL和Redis是MyEMS的核心依赖组件。MySQL存配置数据和统计结果,Redis缓存实时数据和采集数据。Docker Compose的方式会把这两个组件和MyEMS的后端服务、前端Web界面一起编排好,一条命令就能把整套环境拉起来。
bash复制# 拉取MyEMS源码仓库
git clone https://gitee.com/myems/myems.git
cd myems
# 复制环境变量模板
cp .env.example .env
# 编辑.env文件,配置数据库密码、时区等
vim .env
# 启动全部服务(后台运行)
docker-compose up -d
# 查看服务运行状态
docker-compose ps
需要注意一个细节:MyEMS继承了所有相关服务,包括数据库初始化过程。初次启动时,MySQL容器首次运行会执行初始化脚本,自动创建myems数据库和相关数据表。这个过程需要等个几十秒到一两分钟,你可以用docker logs命令盯着MySQL容器的日志,看到“ready for connections”之类的字样,就说明数据库起来了。
如果是非Docker方式部署,那就需要你自己在服务器上装好Python 3.10+、Node.js 16+,然后分别配置MySQL、Redis和后端服务。这种方式灵活性强,但坑也多,比如Python的虚拟环境配置、CORS跨域设置、Nginx反向代理配置,任何一个地方出错都可能导致前端访问不了后端接口。我建议没有特殊情况还是直接用Docker方式,省心。
3.2 数据库初始化和账号登录
服务启动之后,首先要打开MyEMS的Web管理界面。默认地址是http://服务器IP:8000,登录页面会要你输入管理员账号。系统默认的账号密码在你刚才配置的环境变量里,初始化时会在数据库里写入管理员的账号信息。
这一步有几个人容易卡住:一个是密码端口没开,服务器防火墙或者云厂商安全组没放行8000端口,导致网页打不开;另一个是数据库时区配置不对,采集到的数据时间戳是UTC,跟本地时间差了8个小时,所有能耗曲线看起来都是“延时”的——其实就是时区设置问题,把.env里的TZ改成Asia/Shanghai再重启容器就好了。
登录进去之后,第一件事不是急着配设备,而是先把基础资料建好:工厂组织架构(集团、工厂、车间)、设备台账、能耗分类和分项。这些维度的设计直接决定了后面报表能不能按你的预期来出数。MyEMS支持多层级计量表计结构,它会用“空间”这个概念来组织数据,每个空间可以绑定一个子空间或计量表计。你在后台先把熔炼车间、加工车间这些空间建好,再把对应的电表挂上去,后面出分析报表的时候就非常清晰了。
3.3 数据采集驱动的KV值配置
这一块是整个MyEMS配置过程中最核心、也最容易出问题的环节。MyEMS每个计量表计(meter)配了采集通道,它用KV(Key-Value)结构来映射采集点位,实际上就是告诉采集器:你要从这个Modbus地址读哪个寄存器的数据,代表的是电压还是电流还是功率,换算比例是多少。
我拿一个具体的例子来说明:假设你有一块三相智能电表,支持Modbus RTU协议,设备的通讯地址是1,波特率是9600,8数据位,1停止位,无校验。电表的说明书中会写明:地址40001的寄存器保存的是A相电压,数据类型是32位浮点数,数值单位是伏特。那么在MyEMS里做计量表计配置时,要这样建KV:
- key为“A相电压”,值为“寄存器地址40001,数据类型float,换算系数1,单位V”
- key为“三相总有功功率”,值为“寄存器地址40013,数据类型float,换算系数1,单位kW”
- key为“组合有功总电能”,值为“寄存器地址40029+,数据类型float,换算系数0.01(视具体电表而定),单位kWh”
不同品牌的电表,寄存器地址和数据格式差异非常大。有些电表的数据类型是32位无符号整数,两个16位寄存器拼一个32位值;有些电表会用到“缩放系数”,比如读出来的原始值是12345,实际代表123.45kWh——也就是说你要在KV里配置乘积系数0.01。这些细节翻电表的《Modbus通讯协议说明》就能找到,但不少人在这一步偷懒,直接照搬网上的模板,结果采集上来的数据全是乱的。
还有一个实操建议:在正式灌数据之前,先用Modbus调试工具(比如Modbus Poll)手动去读几台电表的数据,确认每个寄存器的值和电表面板上的读数能对得上,再同步到MyEMS里。这一步能帮你省掉后续一大半的对数时间。
4. 把能源数据变成能用的报表和决策依据
4.1 分项计量和能耗成本分析怎么做
数据采集进来之后,最重要的工作就是分项计量。前面提到的三级部署结构,实际上就决定了分项计量的颗粒度。MyEMS里的核心逻辑是:先定义“分项”——比如熔化用能、动力用能、照明用能、办公用能;再把每个分项跟具体的计量表计或者“虚拟计量表计”关联起来。虚拟计量表计的意思是,它不对应实体电表,而是通过“总量减去若干分量”的方式计算出来的一个结果。
举个例子:某工厂只有一台总表和几台设备分表,想核算熔炼车间的总用电量,却发现熔炼车间里还有照明和办公插座混在一起。这时就可以新建一个虚拟表计,把熔炼车间总表的读数减去照明和办公插座分表的读数,得到熔炼设备的净用电量。MyEMS完全支持这种“组合计算”模式,这也是它在配置灵活性上比较出色的地方。
有了分项数据之后,MyEMS的能耗成本分析模块会自动按照你配置的电价模型来算钱。电价模型支持分时电价、阶梯电价、需量电价等多种方式。我建议在配置时认真核对当地供电公司的电费结算规则:基本电费是按容量计费还是按最大需量计费,峰平谷各时段对应的电价分别是多少,功率因数调整电费的比例区间是多少。把这些参数配置准确,系统算出来的成本报表才能和供电公司电费单对上账。
4.2 神奇的对比分析和“同业对标”
MyEMS有个非常实用的功能模块——数据对比分析。它可以展示指定时间段内各车间、各设备能耗的柱状图对比,也可以做同期对比。比如你上个月在熔炼车间推行了一个“集中熔炼”策略(把几炉料集中到谷段熔炼),你可以直接选定改造前后的时间段做对比,看看熔炼单位电耗到底降了多少。这就是用数据说话,比拍脑袋强太多了。
另外一个思路是用MyEMS做不同班组之间的能耗竞赛。把同一台设备在不同班次(白班、夜班)的产量和电耗数据拉出来对比,就能知道哪个班组的操作习惯更省电。我见过一个铝型材厂就是这么干的:他们发现夜班熔炼工习惯把炉温设定比工艺要求高出30度,理由是“保险不容易出废料”,结果一个月下来夜班电耗比白班高了将近10%。通过MyEMS的数据对比把这个问题摆到台面上之后,夜班操作习惯很快就改过来了。
在废旧金属回收加工行业,由于原料品质波动大(同样是废铜,含杂量不同,熔炼电耗差异非常大),单纯比“绝对电耗”并不公平。我建议在MyEMS里也录入每天的投料量和成品量,用单吨电耗(kWh/t)作为对比指标,这样不同班组、不同日期的数据之间才有可比性。
4.3 报警阈值设置:让系统替你盯设备
能源管理系统不只是用来“看”数据,更应该帮你“盯”住异常。MyEMS的报警功能支持按计量值、按负荷率、按设备运行状态设置阈值,数据越界时可以通过邮件、微信等方式推送通知。
对于废旧金属加工行业,我个人比较推荐在下面几种场景设置报警:
- 中频炉单炉次电耗超过历史平均值的15%——可能意味着炉体保温层破损或者原料中含水量过高;
- 空压机长时间低负载运行(比如超过2小时负载率低于30%)——大概率是车间用气需求下降了,但设备没停下来;
- 除尘风机在非生产时段仍在满负荷运行——查一下是否有人忘记关机;
- 功率因数低于0.9——无功补偿装置可能有问题,要赶紧检查。
报警阈值不是拍脑袋定的,最好先用系统运行两周以上的数据作为基线,再在基线上偏移某个合理幅度作为阈值。阈值设得太灵敏,一天收几十条报警,久了就没人看了;设得太粗糙,又起不到预警作用。这个度需要在实践中慢慢调。
5. 数据接入中的几个典型问题和处理经验
5.1 RS485通讯频繁掉线怎么办
这个问题的典型症状是:采集器上报告警频繁,仪表数据时有时无,MyEMS报表上出现数据缺口。排查思路有四个层次:
- 第一看布线:RS485通讯线是否跟动力电缆走在了同一根线槽里,如果是,强烈建议分开敷设,至少要保持30厘米以上的间距。我在一个破碎车间的项目里,就因为485线和动力线扎在了一起,数据死活采集不上来,后来重新走线之后问题才彻底消失。
- 第二看接地:屏蔽层必须单端接地,而且接地要可靠。如果现场干扰特别大,还可以在总线末端并联一个120欧姆的终端电阻,减少信号反射。
- 第三看波特率:有些品牌电表在9600波特率下通讯稳定,但你把它调到19200之后动不动就丢数据。这时候宁可慢一点,保稳定。
- 第四看地址冲突:多台仪表挂在同一条总线上,要确认每台仪表的Modbus地址是唯一的。这个看似简单的设置,实际上因为出厂默认地址都是1,导致两台设备地址撞车的情况非常普遍。
5.2 数据对不上账:精度和线损问题
有次项目验收时,客户提出MyEMS里统计的当日电量比供电局电费单上的数据少了将近3%。我排查了一圈,发现原因是互感器精度和线路损耗。供电局关口表是高精度0.2S级,互感器精度也是0.2S;而企业内部用的车间级表是1.0级,互感器可能还是0.5级,再加上从变压器低压侧到车间电表的这段线缆本身有损耗,两边数据对不上是正常的。
这里我建议企业在做系统验证时,不要追求“逐日零误差”,而是要关注一周或一个月的累积误差。一般来说,企业内部计量和关口计量之间的月累计差异在3%以内都是合理的,关键在于差异要稳定,不能忽高忽低。如果某个月的差异突然从2%跳到了8%,那就要认真查一下是不是某一个回路的计量出了问题。
5.3 历史数据导入和长周期报表生成
MyEMS提供了数据导入的功能,可以把Excel里的手工抄表数据批量导入系统。这个功能在做系统上线前的“数据补录”时非常有用——企业装系统之前的那几个月的数据,虽然没有自动采集的条件,但手工抄表记了,就可以通过导入功能把历史数据补齐,这样系统一上线就有完整的同比、环比分析基础。
但要注意导入数据的格式必须严格按照MyEMS模板来,字段顺序、时间格式、数值精度都要一一对应。尤其是时间字段,建议全部用“YYYY-MM-DD HH:MM:SS”的格式,否则容易导入失败或解析错乱。
6. 基于MyEMS做深一步的节能管理闭环
6.1 移峰填谷的策略落地
数据采集和报表分析只是第一步,真正的价值在于把这些数据用来指导生产。移峰填谷是我在废旧金属加工行业里最推荐实施的节能措施之一,因为见效快、投入少。
具体做法是:利用MyEMS的分时统计报表,找出每个车间或者每台重点设备在峰段和平段的用电量占比,再结合生产排班情况,评估哪些负荷可以转移到谷段。以熔炼为例,改变“早上一上班就起炉”的习惯,把起炉时间调整到凌晨谷段,利用夜间的低电价完成金属熔化,白天峰段只做保温和浇铸,电费成本能有明显下降。
我在一个铝合金回收厂做过测算:把两个生产班次从“早八点到晚六点”调整为“晚十点到次日早八点”,主要利用谷段和平时段生产,峰段用电占比从原来的38%降到了17%,当月的电费账单直接减少了22%。当然这种生产时间调整要考虑工人的作息安排、环保噪声限制等问题,不一定每个厂都能照搬,但在条件允许的情况下确实是一笔划算的账。
6.2 通过能效分析发现设备老化问题
MyEMS的高级分析模块提供了能效分析功能,可以计算设备的关键能效指标,比如中频炉的单位电耗、空压机的比功率、除尘系统的风机电耗等等。持续追踪这些指标,你可以敏锐地发现设备的性能衰减曲线。
举一个具体例子:一台中频炉的熔炼单吨电耗,在原料品质近似的情况下,从520kWh/t逐步爬升到565kWh/t,只用了三个月时间。这个趋势被MyEMS的趋势图清晰的记录了下来,后来停机检修发现感应线圈的水冷通道部分堵塞,冷却效果下降,导致电热转换效率走低。清理水垢之后,单吨电耗很快又回到了525kWh/t。像这样的情况,如果不做能耗追踪,仅凭操作工的感觉,根本发现不了这么细的渐进式劣化问题。
6.3 对接碳核算和ESG报告
这两年越来越多企业开始被下游客户要求提供碳排放数据。废旧金属回收加工本身就是典型的循环经济产业,碳足迹比原生金属冶炼低很多,但前提是你能拿出可信的数据来。MyEMS里记录的电力消耗数据,恰好是碳核算中最核心的活动数据。
用MyEMS的报表功能导出各车间、各设备逐月的用电量,再乘以当地的电网排放因子,就能快速估算出范围二(外购电力)的碳排放量。我在帮一家出口导向的铜制品企业做ESG报告时,就是用MyEMS的数据直接生成了覆盖12个月的碳排放趋势图表。整个过程工作量很小,但由于数据来源是连续采集的自动化数据,报告的说服力比手工填报的结果强很多。
7. 我的一些实在话和后续扩展思路
最后聊几句我一线的体会。做能源管理系统,工具只是手段,真正的难点在于“坚持用数据做决策”的意识和机制。我见过不止一家企业,花了不少精力和成本把系统搭起来了,但运行了几个月之后又回到了靠经验吃饭的老路上——报表没人看,报警没人理,系统沦为摆设。这其实非常可惜。
要避免这个问题,我倒是有一个实操经验可以分享:在企业内部指定一个兼职的“能源管理员”,每周花一个小时看MyEMS的周报,重点关注三个指标——峰段用电占比有没有反弹、熔炼车间单吨电耗有没有异常升高、有没有设备在非生产时段空转。发现问题就把截图发到工作群里,注明“这个数据需要XX车间确认原因”。坚持两三个月,大家的用能习惯自然而然就变了。
关于后续扩展,我觉得有两个方向值得关注。一是把MyEMS和生产管理系统做集成,把产量、能耗、质量数据打通,做一个真正面向车间的“单吨成本看板”;二是逐步从电扩展到水、气、蒸汽等其它能源介质,因为废旧金属加工行业的循环水系统、天然气加热环节同样有可观的节能空间。
MyEMS是一个开放的平台,它的Plugin机制和API接口都比较完善,有开发能力的企业完全可以基于它做二次开发,定制属于自己的能管报表。如果你打算从零开始搭一套能源管理系统,MyEMS确实是我这几年用下来综合体验最顺手、性价比最高的开源方案。
