ZL400边缘网关Modbus全场景使用指南

编程入门 行业动态 更新时间:2024-10-20 15:46:08

ZL400边缘<a href=https://www.elefans.com/category/jswz/34/1769301.html style=网关Modbus全场景使用指南"/>

ZL400边缘网关Modbus全场景使用指南

文章目录

  • Modbus应用场景指南
    • 网络透传读写485外接设备
    • 多个网关组网一对多透传采集Modbus
      • 网络拓扑如图所示
      • 实现方案
    • 简单的Modbus主机485采集输出JSON
      • 边缘网关Modbus主机功能
    • 多种网络模式下Modbus Tcp采集输出JSON
      • 配置ATCP模式
    • Modbus RTU Over Tcp采集从机
    • Modbus RTU转TCP透传
      • 常见场景
      • 实现方案
    • 网关做Modbus从机受外部串口或网络控制
    • Modbus主从并存,主机同时采集485和内部外设
    • Modbus主从并存,主机采集485同步到从机供网络和第二路串口读写
      • 常见用途
      • 实现方案
    • Modbus主从并存,远程传感器通过网络写入从机,主机采集从机并输出JSON
      • 实现方案
    • Modbus主从并存,DLT645采集电表结果写入Modbus从机
      • 应用场景
      • 实现方案
    • 两个Modbus网关通过MQTT远程连接,传输JSON实现DI、DO跟随或者场景联动
      • 应用场景
      • 实现方案1
      • 实现方案2
  • 充电

Modbus应用场景指南

这里对常用的各种Modbus应用场景做一个罗列,都是我们边缘网关支持的场景,皆有实际对接案例。持续更新中…

  • 网络透传读写485外接设备
  • 多个网关组网一对多透传采集Modbus
  • 简单的Modbus主机485采集输出JSON
  • 多种网络模式下Modbus Tcp采集输出JSON
  • Modbus RTU Over Tcp采集
  • Modbus RTU转TCP透传
  • 网关做Modbus从机受外部串口或网络控制
  • Modbus主从并存,主机同时采集485和内部外设
  • Modbus主从并存,主机采集485同步到从机供网络和第二路串口读写
  • Modbus主从并存,远程传感器通过网络写入从机,主机采集从机输出JSON
  • Modbus主从并存,DLT645采集电表结果写入Modbus从机
  • 两个Modbus网关通过MQTT远程连接,传输JSON实现DI、DO跟随或者场景联动

网络透传读写485外接设备

过于简单不做介绍,查看透传使用章节。

多个网关组网一对多透传采集Modbus

网络拓扑如图所示

  • 使用边缘网关1对3通过MQTT组网
  • 网关从机通过485连接传感器
  • 网关主机通过485接收来自数采仪或者上位机软件的采集指令
  • 指令1对三透传到从机串口读取传感器

实现方案

由于是透传场景,配置比较简单,只要实现一对三设备的透传组网就行了。
网关配置采用D2Group配置:

  • 只需要配置组名称,需要确保唯一,不能和其他的组相同
  • 设置好主机设备的IMEI
  • 实际也是基于MQTT实现,单独配置4个设备的MQTT也行,只需要注意设备主题是否匹配

简单的Modbus主机485采集输出JSON

边缘网关Modbus主机功能

Modbus网关功能支持对设备数据的自动读写、转换,直接上传json到服务器;

  • 支持Modbus RTU, Modbus TCP, RTU转TCP;
  • 支持short、float、bcd,bit等多种数据格式以及字节顺序(和modbus poll软件保持一致);
  • 内置对阿里云、onenet等平台协议转换,将modbus结果直接转换成对应协议上传到平台,实现物模型接入;
  • 支持采集DTU的信号,时间,电源电压,imei,定位坐标等信息上传;
  • 模板模式,自定义上传格式;
  • 对接自定义、其他的数据格式还可以二次开发,极度灵活。

功能介绍: [在线查看]
使用说明有视频教程:[在线观看]

多种网络模式下Modbus Tcp采集输出JSON

一些传统的Modbus TCP是基于tcp短连接的,目前我们网关只支持了各种长连接的modbus tcp采集,可以是tcp,udp甚至MQTT,只需要保证数据传输即可。

配置ATCP模式

  1. 首先Modbus主机配置为ATCP模式,modbus指令以及其他功能和modbus rtu协议相同

注意输入数据源这里选择网络通道1(有6个网络通道按需对应)

功能介绍: [在线查看]{target=“_blank”}
使用说明有视频教程:[在线观看]{target=“_blank”}

  1. 设置网络通道,可以采用任何支持的网络类型连接,接收PLC或者传感器的数据;这里网络通道的数据源不重要可以随便选,也可以选一个没有使用到的自定义

一般情况下,如ZL500网关做MB TCP主机,PLC做从机情况下,网关做tcp client,PLC做tcp server;当然这个比较灵活,可以按需配置

3.步骤2是设置了modbus传感器的输入数据源。这里还需要设置modbus结果的上传网络通道

注意上报结果的网络通道,数据源要选modbus定义数据源(自定义1)

Modbus RTU Over Tcp采集从机

  1. Modbus RTU协议和Modbus TCP的区别在于tcp多了一个6字节的包头,而去掉这6字节包头直接就能转换成RTU协议;
  2. 一般情况下RTU使用485传输数据,但是在某些情况下,比如一些平台支持modbus读取数据,会通过tcp网络通道直接下发RTU指令到网关,网关透传到485实现采集,此情况就和场景1是一样的—就是RTU Over TCP。

Modbus RTU转TCP透传

用于实现Modbus RTU协议和TCP协议的透传互转。

常见场景

485接入rtu传感器,plc没有485,只能通过网线和网关相连,此时如果采用rtu over tcp是可以直接通的。在只能支持mb tcp的情况下,需要实现RTU和TCP的转换,plc查询用tcp协议,网关转换成rtu发给传感器,传感器回复后网关在转换成mb tcp给plc。

实现方案

  1. Modbus设置为R2T模式,指定主机侧是RTU还是TCP协议
  2. 配置对应的串口和网络,直接通讯即可

网关做Modbus从机受外部串口或网络控制

通常用于平台端下发Modbus RTU指令,透传读取网关从机(虚拟设备)的数据,如模拟量、DI、继电器状态;

  1. 首先启用虚拟设备,可以选择配置模板快速设置,注意输入数据源要选使用的网络通道,如果是外部主机通过485读取,选串口1(并且不需要配置网络)

  2. 按需设置网络,这里网络通道的数据源不重要可以随便选,也可以选一个没有使用到的自定义;这样连接网络后,网络直接下发modbus查询指令即可读取虚拟设备里面从机的数据,默认ID是100,可以读取模拟量,DI,DO,定位信息等数据

Modbus主从并存,主机同时采集485和内部外设

当使用带控制外设的设备时,需要启用虚拟设备(从机)来控制外设,此时可以通过网络、串口、以及modbus主机来实现读写,取决于你设置的虚拟设备的输入数据源。

注意,如果是网络、串口读写虚拟设备,输入数据源选网络或者串口; 如果同时Modbus主机也要读写虚拟设备,请在modbus主机的输入数据源选上虚拟设备的定义(一般自定义2); 如果只需要Modbus主机读写虚拟设备,那么从机的输入数据源可以随便选一个用不到的数据源;

  1. 首先设置好虚拟从机,这里只有modbus主机读写从机

  2. 设置好modbus主机,注意同时采集485设备和虚拟从机,输入数据源需要选上两个

  3. 设置指令,先读取外部485传感器,设备ID=1,读取地址1

  4. 设置指令,读取虚拟从机的数据,AI,DO,DI,默认ID=100


  5. 设置好上传数据的网络通道,数据源选自定义1,上传MB采集的JSON结果

Modbus主从并存,主机采集485同步到从机供网络和第二路串口读写

常见用途

  1. 网关4851读取传感器,4852接LED点阵屏控制卡,需要将采集数据显示出来
  2. 数采仪上,4851采集传感器,4852接组态屏,需要将采集数据显示到组态屏

实现方案

  1. 启用虚拟设备,用户数据段长度设置为10,表示功能码03,地址0-9可以读写,这里要供4852读写,输入数据源要选串口3

  2. 启用modbus主机,设置好4851传感器的采集指令,这里要同时读写串口1和虚拟设备,输入数据源要选上串口1和自定义2

  3. 第二步设置了外部传感器的采集指令,这里还要设置写入虚拟设备的指令(可以只写),注意映射可以简单区别,比如加个后缀(不能相同);把数据写入到虚拟设备的用户数据段,数据格式需要对应,地址可以按需,4852读取地址和这里配置的写入地址一致。

  4. 第三步设置了写入虚拟设备的指令,但是还需要同步读取的数据然后写入,启用场景联动,添加一条规则;设置输入数据源自定义1,输出数据源自定义1(都是modbus主机),触发选连续触发,动作选属性转换,输入属性选采集映射,输出属性选写入从机的映射

  5. 串口配置,启用串口1和串口3, 4852外接Modbus主机即可通讯。

Modbus主从并存,远程传感器通过网络写入从机,主机采集从机并输出JSON

适用用一些特别的场景,当你的传感器数据是靠远程平台Modbus写入数据指令获得。首先需要启用从机,让平台把数据写入到从机里面,然后启用Modbus主机,读取从机数据,之后按需上传即可。

实现方案

  1. 启用虚拟设备,用户数据段长度设置为10,表示功能码03,地址0-9可以读写,这里要供网络平台读写,输入数据源要选网络通道1

  2. 设置网络通道1,连接对应的远程平台

  3. 设置Modbus从机,输入数据源选自定义2,设置读取指令,读取从机数据

  4. 设置上传数据的网络通道,按需设置

Modbus主从并存,DLT645采集电表结果写入Modbus从机

应用场景

需要上传电表数据到平台,但是平台只能支持Modbus RTU透传采集;此时只能通过先采集DLT645数据然后写入到Modbus从机,平台端通道直接透传指令采集虚拟从机里面的数据;

实现方案

  1. 设置DLT645采集指令

  2. 启用虚拟设备,用户数据段长度设置为10,表示功能码03,地址0-9可以读写,这里要供网络平台读写,输入数据源要选网络通道1

  3. 设置MB主机写入虚拟设备的指令(可以只写);把数据写入到虚拟设备的用户数据段,数据格式需要对应,地址可以按需,4外部应用的读取地址和这里配置的写入地址一致。

  4. 配置场景联动,用于同步DLT645采集数据到Modbus主机写入到从机里面;

两个Modbus网关通过MQTT远程连接,传输JSON实现DI、DO跟随或者场景联动

应用场景

常见于远程控制,多会结合场景联动使用,可以实现复杂的联动控制或者报警;使用则比较简单,两个或者多个远程的主机首先通过MQTT组网连接,设置好各自的Modbus指令,键值相同即可跟随,如果键值不同可以使用场景联动转换。

实现方案1

  1. 可以采用D2D或者D2G组网

  2. 设置Modbus采集指令,比如这里采集一个电压VA,远程跟随输出这个值

  3. 远端设备设置Modbus指令完全相同,勾上只写,因为是受控端

  4. 近端设备采集VA发送到远端设备,远端设备转换写入到Modbus 485设备输出相同的值;

实现方案2

  1. 可以采用D2D或者D2G组网,注意采集端数据源需要改动,犹豫这里是靠场景联动转发过来数据,网络数据可以选用不到的,比如规则

  2. 设置Modbus采集指令,比如这里采集一个DI,远程跟随输出一个DO

  3. 远端设备设置Modbus指令写入DO,勾上只写,因为是受控端

  4. 近端设备采集DI,通过场景联动转换成DO属性,在发送到远端设备,远端设备转换写入到Modbus 485设备输出相同的值;

充电

对我们产品感兴趣请查看淘宝:
DEVELOPLINK ______

更多推荐

ZL400边缘网关Modbus全场景使用指南

本文发布于:2024-02-06 18:14:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1750718.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:网关   使用指南   场景   边缘   Modbus

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!