这里对常用的各种Modbus应用场景做一个罗列,都是我们边缘网关支持的场景,皆有实际对接案例。
过于简单不做介绍,查看透传使用章节。
由于是透传场景,配置比较简单,只要实现一对三设备的透传组网就行了。
网关配置采用D2Group配置:
Modbus网关功能支持对设备数据的自动读写、转换,直接上传json到服务器;
一些传统的Modbus TCP是基于tcp短连接的,目前我们网关只支持了各种长连接的modbus tcp采集,可以是tcp,udp甚至MQTT,只需要保证数据传输即可。
注意输入数据源这里选择网络通道1(有6个网络通道按需对应)
一般情况下,如MD700网关做MB TCP主机,PLC做从机情况下,网关做tcp client,PLC做tcp server;当然这个比较灵活,可以按需配置
3.步骤2是设置了modbus传感器的输入数据源。这里还需要设置modbus结果的上传网络通道
注意上报结果的网络通道,数据源要选modbus定义数据源(自定义1)
用于实现Modbus RTU协议和TCP协议的透传互转。
485接入rtu传感器,plc没有485,只能通过网线和网关相连,此时如果采用rtu over tcp是可以直接通的。在只能支持mb tcp的情况下,需要实现RTU和TCP的转换,plc查询用tcp协议,网关转换成rtu发给传感器,传感器回复后网关在转换成mb tcp给plc。
通常用于平台端下发Modbus RTU指令,透传读取网关从机(虚拟设备)的数据,如模拟量、DI、继电器状态;
首先启用虚拟设备,可以选择配置模板快速设置,注意输入数据源要选使用的网络通道,如果是外部主机通过485读取,选串口1(并且不需要配置网络)
按需设置网络,这里网络通道的数据源不重要可以随便选,也可以选一个没有使用到的自定义;这样连接网络后,网络直接下发modbus查询指令即可读取虚拟设备里面从机的数据,默认ID是100,可以读取模拟量,DI,DO,定位信息等数据
当使用带控制外设的设备时,需要启用虚拟设备(从机)来控制外设,此时可以通过网络、串口、以及modbus主机来实现读写,取决于你设置的虚拟设备的输入数据源。
注意,如果是网络、串口读写虚拟设备,输入数据源选网络或者串口; 如果同时Modbus主机也要读写虚拟设备,请在modbus主机的输入数据源选上虚拟设备的定义(一般自定义2); 如果只需要Modbus主机读写虚拟设备,那么从机的输入数据源可以随便选一个用不到的数据源;
首先设置好虚拟从机,这里只有modbus主机读写从机
设置好modbus主机,注意同时采集485设备和虚拟从机,输入数据源需要选上两个
设置指令,先读取外部485传感器,设备ID=1,读取地址1
设置指令,读取虚拟从机的数据,AI,DO,DI,默认ID=100
设置好上传数据的网络通道,数据源选自定义1,上传MB采集的JSON结果
点击查看场景联动 案例7
启用虚拟设备,用户数据段长度设置为10,表示功能码03,地址0-9可以读写,这里要供4852读写,输入数据源要选串口3
启用modbus主机,设置好4851传感器的采集指令,这里要同时读写串口1和虚拟设备,输入数据源要选上串口1和自定义2
第二步设置了外部传感器的采集指令,这里还要设置写入虚拟设备的指令(可以只写),注意映射可以简单区别,比如加个后缀(不能相同);把数据写入到虚拟设备的用户数据段,数据格式需要对应,地址可以按需,4852读取地址和这里配置的写入地址一致。
第三步设置了写入虚拟设备的指令,但是还需要同步读取的数据然后写入,启用场景联动,添加一条规则;设置输入数据源自定义1,输出数据源自定义1(都是modbus主机),触发选连续触发,动作选属性转换,输入属性选采集映射,输出属性选写入从机的映射;
串口配置,启用串口1和串口3, 4852外接Modbus主机即可通讯。
适用用一些特别的场景,当你的传感器数据是靠远程平台Modbus写入数据指令获得。首先需要启用从机,让平台把数据写入到从机里面,然后启用Modbus主机,读取从机数据,之后按需上传即可。
启用虚拟设备,用户数据段长度设置为10,表示功能码03,地址0-9可以读写,这里要供网络平台读写,输入数据源要选网络通道1
设置网络通道1,连接对应的远程平台
设置Modbus从机,输入数据源选自定义2,设置读取指令,读取从机数据
设置上传数据的网络通道,按需设置
需要上传电表数据到平台,但是平台只能支持Modbus RTU透传采集;此时只能通过先采集DLT645数据然后写入到Modbus从机,平台端通道直接透传指令采集虚拟从机里面的数据;
常见于远程控制,多会结合场景联动使用,可以实现复杂的联动控制或者报警;使用则比较简单,两个或者多个远程的主机首先通过MQTT组网连接,设置好各自的Modbus指令,键值相同即可跟随,如果键值不同可以使用场景联动转换。
可以采用D2D或者D2G组网
设置Modbus采集指令,比如这里采集一个电压VA,远程跟随输出这个值
远端设备设置Modbus指令完全相同,勾上只写,因为是受控端
近端设备采集VA发送到远端设备,远端设备转换写入到Modbus 485设备输出相同的值;