新闻  |   论坛  |   博客  |   在线研讨会
基于Modbus TCP的MCGS上位机软件教程
zlan5103 | 2022-08-09 13:36:24    阅读:1119   发布文章

原文地址:http://www.zlmcu.com/document/Modbus TCP MCGS course.html

1.概述

ZLAN5143D 是一款专门为工业环境设计的RS485设备数据采集器/物联网网关,兼具串口服务器、Modbus网关、MQTT网关、RS485转JSON等多种功能于一体。如图 1所示

图 1 ZLAN5143D

MODBUS TCP转MODBUS RTU原理:

  MODBUS TCP和MODBUS RTU之间协议转换转换原理以一个实际例子来说明:比如一个RTU的写寄存器命令由用户RTU设备发出,其命令内容为:01 06 00 01 00 01 19 CA,该命令并被联网模块的485线接收后,转换为Modbus TCP格式的命令,其内容变为:00 00 00 00 00 06 01 06 00 01 00 01,并发送给与它建立TCP连接的Modbus TCP设备。其中第一个06表示后续的字节数为06个,并且少了最后的CRC校验19 CA,因为TCP不需要CRC校验。剩余的部分01 06 00 01 00 01都是直接拷贝的。这就是说Modbus的地址、功能码、寄存器都可以透明地在RTU和TCP之间传输。。

2.设备端

2.1进入ZLVIRCOM配置设备参数

图 2 配置设备参数图

1.IP地址配置成上位机同一个网段,例如安装上位机软件的上位机ip地址为192.168.1.222,那可以将我们设备配置成192.168.1.188。

2.设备在作为modbus tcp从站的时候,端口号默认为502。

3.设备在作为modbus tcp从站的时候,设备选择为tcp服务器模式。

4.转换协议一般为两种,当作为透传模式使用的时候,直接选择无,当需要使用modbus tcp转modbus rtu功能的时候,请选择MODBUS TCP协议

5.串口参数需要和下位机设备保持一致,例如电表为115200,8,无,1,我们设备也要设置的一样。。

2.2更多高级选项页面

图3 更多高级选项图

1.存储型MODBUS网关:默认,一般选择这个即可,设备将具有存储型功能,记录上位机软件下发的指令,提前下发指令缓存在设备内部,加快读取数据。

2.非存储型MODBUS网关:设备将不具有存储型功能,但是支持多主机和总线冲突检测。

3.设备为客户端做从站:当采集的是modbus tcp的从站,而主机为modbus rtu的上位机软件时,选择这个选项。

4.简单modbus tcp转rtu:简单的modbus tcp转modbus rtu,不支持多主机和存储型功能。

5.可配置modbus 网关:无需选择,指的是ZLMB网关功能。

3.MCGS端

MCGS是北京昆仑通态自动化软件科技有限公司研发的一套基于Windows平台的,用于快速构造和生成上位机监控系统的组态软件系统,主要完成现场数据的采集与监测、前端数据的处理与控制,可运行于Microsoft Windows 95/98/Me/NT/2000/xp等操作系统。

3.1设备组态:设备窗口

图4 :设备窗口

在设备窗口页面新建通用TCP/IP父设备----------标准MODBUS TCP子设备。

双击通用TCP/IP父设备,进入下图配置页面。

图5 :设备窗口

网络类型:选择1-TCP

服务器/客户设备:选择客户端模式

本机IP地址:就是MCGS所在上位机的ip地址

远程IP地址和远程端口号:就是我们设备的IP地址和端口

3.2设备属性设置

图6 :设备窗口

设备地址:就是需要被采集的modbus rtu设备的站地址,这边默认改成1,其他的可以不修改

4.通讯测试

4.1modbus slave模拟从站

图7 :connection setup

打开modbus slave从站模拟软件,点击connection 配置setup,选择连接设备的串口号,串口参数和我们设备一致,然后再点击setup-slave definition,设置从站地址为1,功能码为3,寄存器地址从0-5。修改寄存器地址0-10的值分别为1,2.....5。点击保存确认.

图8 :setup-slave definition

4.2mcgs测试

进入设备属性配置,点击内部属性,设置设备内部属性,增加通道,如图所示

图9 :setup-slave definition

最后点击设备调试,可以看到如下现象,代表目前通讯是正常的:

1.通讯状态:通道值为0,代表通讯是正常状态;

2.通道类型读写4WU:代表为03功能码,4000X寄存器,数据位1,2,3,45.和modbusslave的数据一直,代表读数据正常。

3.通讯时间:当数值极大时,代表返回超时,modbus rtu设备没有响应

图10 :结果展示


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客