使用Mthing工具解耦Modbus问题

描述

1摘要

在实际的工控应用中,RS485总线上经常会挂接多个设备,不同的设备的厂商可能不一致,一旦出现问题,就很难解耦是谁的问题。本文解释一种简单的问题解耦方法,即学即精通。

2问题描述

工业现场应用最多的总线就是RS485,RS485用到最多的协议就是modbus-rtu,不同的厂家都通过该总线和协议进行数据交互。这也存在一个问题,不同的厂家的,不同的技术人员水平参差不齐,一旦系统出现问题,互相之间的扯皮自然少不了。

例如下图中的系统,一个主机带4个从机,数据无法读取到,问题的解耦还是比较棘手。有没有一种简单的方案,引入一个裁判,能够简单快速解耦是哪一方的问题。

总线

3知识科普

关于使用RS485的现场,需要先了解以下的知识:

1) 90%以上的RS485通信之间使用的是modbus-rtu协议,该协议全球通用;

2) RS485标准电平全球通用,只要标注为RS485都可以互相连接,RS485输出的电平是0~5V,是通过总线上A-B的差值判断逻辑1还是逻辑0,A-B>0标示为逻辑1,A-B<0标示为逻辑0。

3) modbus-rtu 数据帧由地址、功能码、数据和校验组成,不同的功能码的数据字节数不同。

Modbus RTU协议数据帧是没有起始符和结束符,所以两个数据帧之间需要靠时间间隔来区分。协议中规定信息帧发送至少要有3.5个字符时间的停顿间隔。即在一个数据帧的最后一个字符传输完成之后,需要至少3.5个字符时间的停顿标定数据帧的结束,一个新的数据帧可在此停顿之后开始。

如果一个新消息在小于3.5个字符时间内接着前个消息开始,接受的设备将认为它是前一数据帧的延续,这将导致CRC校验出错。同时整个数据帧必须作为一连续的流传输。如果在帧完成之前有超过1.5字符时间的停顿时间,接受设备将刷新不完整的数据帧从而认为存在丢包现象。

那么一个字符是什么呢,他由1个bit起始位,8bit数据位,1个bit奇偶校验位(或者没有检验位,停止位变成2个),1个bit停止位组成,在发送时从起始位开始。

总线

4Mthings简介

Mthings主要是模拟Modbus设备,可以配置为主和从设备。

1) 模拟仿真上位机软件,支持MODBUS主机读写功能。

2) 模拟仿真Modbus设备软件,支持Modbus从机被动读写功能。

3) 支持多设备、多通道并发运行,无设备个数限制。

4) 支持持久化数据配置、无菜单设计,操作友好。

5) 支持MODBUS-RTU、MODBUS-ASCII、MODBUS-TCP。

6) 支持串口、TCP客户端、TCP服务器(可接入多客户端)、UDP单播。

7) 支持全链路报文监控、存储、分析。

8)支持丰富的链路丢包统计方法。

9) 支持数据曲线录波,统计数据极值和均值,并可导出所有数据。

10) 支持MODBUS数据配置模板导入导出。

11) 支持多种变化数据模拟方法。

12)支持数据二次加工,界面呈现原始真实数据。

13) 支持良好的非标协议适配。

14) 性能优异,支持接入 > 500设备节点,超20K数据点。

15) 永久免费,免安装,中文。

5解耦举例

我以PLC和HMI通信为例,假设两者无法正常通信,需要一个中间的裁判判定问题出在谁。解耦的步骤如下。

1) 将安装有Mthings的PC使用USB转485模块和PLC连接。如下图

总线

 

总线

2)本次实验要做的是通过电脑模拟RS485主站,PLC作为从站,使用Modbus-RTU协议。PLC端的配置如下:

总线

3) Mthings配置PC为主机,地址和上述的PLC保持一致。

总线

4) 配置串口的波特率信息,和PLC保持一致。

总线

5) 配置需要访问的寄存器地址。地址是plc真实的地址。

总线

6)可以批量读取PLC的数据,或者双击“数值”即可以访问PLC,如下图,访问PLC的数据为123,和第一步的plc中的数据保持一致。这就证明了,PLC作为从站,是正常的,如何hmi和plc无法通信,则问题可以解耦到hmi身上。

总线

6总结延伸

本文接受的使用mthings解耦RS485通信中的modbus通信故障方法,可以快速解耦和定位问题,对于用户几乎无需对modbus协议的知识,使用该工具有两个好处:

1) 基本是配置式,用户无需对modbus协议有较深的理解;

2) 可以利用pc机(或者笔记本)模拟主机和从机,可以快速解耦各个厂商之间的问题。

审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分