modbus设备数据转HJ212项目案例
一、 案例说明
1. 设置网关采集Modbus设备数据
2. 把采集的数据转成HJ212协议转发给其他系统。
二、 VFBOX网关工作原理
VFBOX网关是协议转换网关,是把一种协议转换成另外一种协议。网关可以采集西门子,欧姆龙,三菱,AB PLC,DLT645,DLT698电表,modbus rtu tcp,环保的HJ212协议,opc ua和opc da,电力的IEC103 IEC104, IEC61850等,以及EthernetIP,Profinet IO,CCLink,EtherCAT现场总线协议,bacnet,MQTT,mysql,sqlserver数据库。不同型号的网关支持不同的协议,具体支持的协议参考网关侧面标签上的型号。依托500多种型号的网关产品,可以实现多种不同协议之间的互联互通。
网关连接在不同协议的设备之间,就像一个“翻译”,把一种设备支持的协议,转换成另一种设备支持的协议,从而实现两个不同协议的设备之间的数据交换。工作架构如下:
三、准备工作
1. VFBOX网关。支持采集modbus设备数据,HJ212协议转发。
2. 电脑。IP设置成192.168.1.198,和网关在同一个网段。
3. 网线、12V电源。
4. Modbus从站设备。本文用一个温湿度传感器进行测试。
四、设置网关采集modbus从站数据
1. 硬件连接。首先确认设备的接口是RS232还是RS485接口。并按如下的方式进行连接。
接口类型 | 设备 | 网关 |
RS232接口 | RX | COM1-TX |
TX | COM1-RX | |
GND | COM1-GND | |
RS485接口 | A | COM1-A |
B | COM1-B |
2. 在电脑上打开VFBOX Studio配置软件。新建工程,选择对应的设备类型。设备类型查看设备背面的标签。可选的型号有:VB301-1100,VB301-1200,VB301-1400,VB302-2400,VB303-2400.
3. 点击 新建设备,选择modbus RTU驱动。
4. 输入设备名称,自己定义设备名称。
5. 输入和设备相同的串口参数。比如,设备的波特率是9600,则下面的对话框也选择9600.
6. 增加要采集的数据。输入数据的数据类型和寄存器地址。
7. 填写说明。在添加“地址”的时候需要对modbus的通信指令有一些了解,这里面有一些默认的规则。可先查看设备的说明书,找到要读取的地址。然后通过对比下表进行设置。
数据区 | 功能说明 |
0X Digital Coils | 数据类型:Boolean 读写:可读写 寄存器地址:00001-09999(10进制), 协议地址:0000H-270FH(16进制) 对应的功能码:01H 05H 0FH |
1X digital Inputs | 数据类型:Boolean 读写:只读 寄存器地址:10001-19999(10进制), 协议地址:0000H-270FH(16进制) 对应的功能码:02H |
3X Analog Inputs
| 数据类型: 1 Register: short word 2 Register: Long Dword float 4 Register: LLong Qword Double 读写:只读 寄存器地址:30001-39999(10进制), 协议地址:0000H-270FH(16进制) 对应的功能码:04H |
4X Holding Registers | 数据类型: 1 Register: short word 2 Register: Long Dword float 4 Register: LLong Qword Double 读写:可读写 地址范围:40001-49999(10进制),0000H-270FH(16进制) 对应的功能码:03H 06H 10H |
其他说明:
1. 地址可填写5位或者6位的地址长度。
2. 如果设备的地址是从0开始,则设置网关时地址加1。
3. 地址是10进制。
举例1:假设要读取的地址是40015,数据类型是float,地址从0开始,则查看上表,40015对应的数据区是“4X Holding Registers”,且数据类型是float,则数据区选择“4X Holding Registers(2 Registers)”,设备地址从0开始,则在网关里配置为40016,配置如下:
举例2:假设读取数据的功能码是03,地址是0x39,地址从1开始,数据类型是double。查看上表可知,03功能码对应的数据区是“4X Holding Registers”,数据类型是double,则数据区选择“4X Holding Registers(4 Registers)”,地址是0x39,转换成10进制是57,则设置如下:
8. 设置完成后,点击菜单“下载”,把工程下载到网关里。
9. 点击菜单“查看数据”,查看网关采集到的数据。
10. 如果显示的数据和实际不匹配,可能是字节顺序要调整。在下面的窗口中可以修改波特率,扫描间隔,通讯超时,字节顺序等参数。
11. 数据类型
网关支持多种数据类型,用户在添加的时候可以根据采集到数据选择对应的数据类型。不同的设备可能有不同的数据类型名称,可对应选择。
Boolean | 位,布尔变量。变量存储为 8 位(1 个字节)的数值形式,但只能是True 或是 False。 |
Char | 有符号数,有负数。占用一个字节,8位。 |
Byte | 无符号数,占用一个字节,8位。 |
Short | 有符号短整型。有负数。长度2个字节,16位。 |
Word | 无符号的短整型,长度2个字节,16位。 |
Long | 有符号长整型,有负数。长度4个字节,取值范围为:-2^31 ~ (2^31 -1)。 |
DWord | 无符号的长整型,且占4个字节,32位。 |
Float | 单精度浮点型数据,长度 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。浮点型转换成10进制数据的时候请注意字节顺序问题。在不同的设备中字节顺序不同,有4种不同的字节顺序:1234、4321、3412、2143。网关在转发浮点型数据的时候,不对字节顺序进行调整,所以在转换的时候请参考被采集设备的浮点数顺序。 |
LLong | LLong是长度为8个字节的有符号整数。有负数。 |
Qword | Qword是长度为8个字节的无符号整数。 |
Double | 双精度浮点(double)型,占8 个字节(64位)内存空间。 |
五、用HJ212协议转发数据
1. 到菜单“服务”下,点击HJ212,启用HJ212服务。网关可以上报到两个中心。如果只上报一个,则启用一个即可。
选项 | 说明 |
系统编码ST | 环保平台提供 |
访问密码PW | 环保平台提供。如果没有,则设置为空。 |
设备唯一标示MN | 环保平台提供 |
QN,数据Flag,报Flag | 环保平台如果不需要这些参数,则设置为No。没有特殊说明,使用默认Yes即可。 |
实时命令编码 | 使用默认2011 |
连接超时 | 默认5秒。网关5秒内不能和中心建立连接,会重新尝试建立连接。 |
服务器IP地址 服务器端口 | 环保平台的IP和端口 |
协议类型 | 一般选择HJ212-2007 |
实时上报间隔 | 默认60秒。网关每隔60秒上报一次实时数据。 |
“分钟/小时/日数据”是发送相应的分钟,小时,日数据给环保平台。此功能为选配功能,标准网关不包含此功能,如有需要,请联系客服开通。
选项 | 说明 |
采集间隔 | 默认5秒。网关采集外部设备数据的间隔。 |
上传分钟间隔 | 单位:分钟。 上报分钟数据的间隔。 |
上传小时 | 设置成Yes,则上报小时数据。 |
上传日数据 | 设置成Yes,则上传日数据 |
分钟最大值 分钟最小值 | 设置成Yes,则上报这两个数据 |
数字量实时值 | 设置成Yes,则对数字量不做平均计算,上报实时值。 |
累积值系数 | 数据放大的倍数。如填写10,则上报的值都放大10倍。 |
六、 212功能测试
1. 在电脑上打开测试软件。把电脑的IP地址配置成192.168.1.198,并把IP配置成电脑的IP地址,端口填写10212,然后点击侦听。
2. 配置网关参数如下:
3. 把要上传的数据添加到“检测因子”下面。
4. 配置完成后,点击下载,把工程下载到网关中。
5. 关闭电脑上的防火墙和杀毒软件。
6. 等待一段时间后,软件会收到网关发送上来的数据。
七、案例总结
使用协议转换网关可以很方便的实现不同协议的设备之间的数据转换。大量节省了项目实施过程的时间成本,人力成本。VFBOX网关产品都是工业级品质,符合工业应用的场景。只需要简单的参数配置,可以很快完成设备和系统之间的连接。方案优点:
1. 不需要修改设备里的程序。
2. 不影响设备原有的工作方式和功能。
3. 只需要简单的配置就可以实现功能需求。
4. 设备长期稳定工作。
5. 网关运行架构如下

提交
DNP3设备数据转EthernetIP项目案例
IEC103设备数据转EthernetIP项目案例
SNMP设备数据转EthernetIP项目案例
iec61850设备数据转EthernetIP项目案例
opcua设备数据转EthernetIP项目案例