关于MyEMS
MyEMS开源能源管理系统用于建筑、工厂、商场、医院、园区的电、水、气等能源数据采集、分析、报表,还有光伏、储能、充电桩、微电网、设备控制、故障诊断、工单管理、人工智能优化等可选功能。资深专业团队开发维护,保障长期支持。用开源助力实现碳达峰碳中和目标!
【官网】 https://myems.io
MyEMS的安装
数据库
Windows上的Docker
1.安装docker,npm
Windows11下安装Docker_starting the docker engine...-CSDN博客
2.数据库添加访问权限
mysql> CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '!MyEMS1';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '!MyEMS1';
3.在Windows上使用Docker部署MyEMS
Linux上的Docker
此处以virtualbox虚拟机上的Ubuntu Server为例
1.安装virtualbox
如何在 Windows 11 上安装和使用 VirtualBox:2022详细的分步教程-云东方 (yundongfang.com)
2.在虚拟机上安装Ubuntu Server
在VirtualBox中安装Ubuntu Server 20 - 知乎 (zhihu.com)
3.修改网络,设置桥接模式
4.安装docker、npm
安装docker:容器与云|如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose (linux.cn)
安装npm:如何在 Ubuntu 20.04 上安装 Node.js 和 npm-阿里云开发者社区 (aliyun.com)
5.数据库添加访问权限
mysql> CREATE USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '!MyEMS1';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';
mysql> FLUSH PRIVILEGES;
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '!MyEMS1';
6.使用Docker部署MyEMS
myems-modbus-tcp
关于modbus协议
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。
协议详情:MODBUS Application Protocol 1 1 b
在myems中我们主要使用modbus-tcp
使用modbus slave和modbus poll模拟modbus-tcp通信
软件下载:Modbus test and simulation
Modbus Slave是一个Modbus从设备仿真器,可以模拟32个从设备/地址域,用于模拟、测试、调试Modbus通讯设备。它支持功能01,0203.04.05.06.15.16.2223,监视由口数据。同时,每个接口都提供了对EXCEL报表的OLE自动化支持。Modbus Pol是一款实用的Modbus主从机模拟程序,可以非常方便地进行Modbus调试。它可以与Modbus Slave一起使用,用于发送Modbus命令并接收从设备的响应。
【工具使用】Modbus Poll软件使用详解-CSDN博客
【工具使用】Modbus Slave软件使用详解-CSDN博客
MyEMS Modbus TCP数据采集
下面演示Modbus TCP数据采集
1.进入Admin页面,点击数据源进行数据源和数据点的配置
2.点击左上角添加数据源,进行数据源的配置。填写名称并选择网关(默认网关1),协议填写modbus-tcp,然后填写IP地址和端口号连接数据源,最后点击保存。
3.接下来配置数据点,点击上方数据点选项
选择数据源,点击添加数据点,填写名称并选择对象类型,对象类型分为能耗量(ENERGY VALUE),模拟量(ANALOG VALUE)和数字量(DIGITAL VALUE),填写单位,高限,低限和比例系数,勾选保存趋势后数据会保存在数据库中,最后填写JSON格式的寄存起地址并填写对应属性,属性分别为从站地址(slave_id),功能码(function_code),起始地址(offset),寄存器数量(number_of_registers),数据格式(format)和字节反转(byte_swap),填写完成后点击保存。
4.重启myems-modbus-tcp容器,修改的数据源会被创建为一个采集进程
docker restart myems-modbus-tcp
docker logs -t myems-modbus-tcp
5.采集完成后(默认为10分钟,可在.env中修改),可在数据库中myems_historical_db中查看
计量表
下面演示计量表的添加与在客户端中的查看
1.进入Admin页面,点击计量表进行计量表的配置
2.点击左上角添加计量表,进行计量表的配置。填写名称并选择能源分类,勾选能耗参与汇总,填写每小时最小值与最大值,选择成本中心和上级计量表,填写描述,最后点击保存。
3.接下来绑定数据点,点击绑定数据点
选择要编辑的计量表,选择数据源,并将所需数据点拖拽到中间计量表绑定的数据点中。
4.将计量表绑定至空间中。
点击空间,选择绑定计量表,选择看空间,将需要绑定的表拖拽至中间。
5.重启myems-modbus-tcp容器
6.进入Web页面,选择上方计量表数据
点击计量表实时分析,可查看当前读取到的数据
点击计量表能耗分析,选择空间,计量表,时间尺度和报告期等数据后提交可查看能耗数据