0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Mthing工具解耦Modbus问题

创易栈 来源:创易栈 2023-04-15 10:01 次阅读

1摘要

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

2问题描述

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

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

df2f537e-daaf-11ed-bfe3-dac502259ad0.png

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停止位组成,在发送时从起始位开始。

df5e215e-daaf-11ed-bfe3-dac502259ad0.png

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连接。如下图

dfb346e8-daaf-11ed-bfe3-dac502259ad0.png

dfbbbbf2-daaf-11ed-bfe3-dac502259ad0.png

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

dfcadae2-daaf-11ed-bfe3-dac502259ad0.png

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

e001e014-daaf-11ed-bfe3-dac502259ad0.png

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

e00e2590-daaf-11ed-bfe3-dac502259ad0.png

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

e022e2be-daaf-11ed-bfe3-dac502259ad0.png

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

e0575a6c-daaf-11ed-bfe3-dac502259ad0.png

6总结延伸

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

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

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

审核编辑:汤梓红

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

    关注

    39

    文章

    1057

    浏览量

    81144
  • MODBUS
    +关注

    关注

    27

    文章

    1442

    浏览量

    75698
  • 总线
    +关注

    关注

    10

    文章

    2714

    浏览量

    87228
  • RTU
    RTU
    +关注

    关注

    0

    文章

    345

    浏览量

    28348
  • 解耦
    +关注

    关注

    0

    文章

    40

    浏览量

    11835

原文标题:【避坑指南】使用Mthing工具解耦Modbus问题

文章出处:【微信号:创易栈,微信公众号:创易栈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    0058《多变量自适应控制及应用》.pdf

    1000本电子专业书籍免费大放送https://bbs.elecfans.com/forum.php?mod=viewthread&tid=287358&fromuid=286650058《多变量自适应控制及应用》.pdf(4M)希望大家多顶顶,提升提升人气。
    发表于 01-15 13:30

    Modbus测试工具Modbus Poll,Modbus Slave

    Modbus测试工具Modbus Poll,Modbus Slave
    发表于 02-25 10:38

    通过电能缓冲进行负载的智能电表电源管理方案

    的解决方案,具有更低的电流和发送给无线电的高电流脉冲。这些脉冲从电池通过电能缓冲进行。主要特色 降压 (MCU) 和升压 (RF-PA) 轨通过电能缓冲进行负载超低功耗 Iq通
    发表于 11-13 16:55

    永磁同步电机偏差和电流前馈控制比较

    偏差控制:电机参数估计值采用估计值加上电流反馈补偿d轴电流:电机参数准确值采用准确值加上电流反馈补偿d轴电流:电机参数采用估计值加上偏差控制:电机参数采用准确值加上偏差
    发表于 06-28 06:08

    单相dq控制 精选资料下载

    1.单相dq  本周重点剖析单相dq的方式,发现很多论文上关于dq轴的定义都不一样,以及dq变换矩阵的定义都不同,让人感到眼花缭乱,不知道到底哪一个是正确的,经过多篇文献的分析
    发表于 07-09 06:41

    永磁同步电机矢量控制是如何将三相电流

    永磁同步电机控制系统是多变量、强耦合的时变非线性系统,要进行高性能控制,获得良好的动态稳态特性,常用的方法是矢量控制。永磁同步电机矢量控制是通过坐标变换的方式将三相电流,以控制其中一项来达到控制
    发表于 08-27 06:04

    一种基于滑模观测器的电流偏差控制方法

    每日文献|带你坚持阅读掌握行业最前沿技术​邀请|关注公众号,在公众号后台回复交流群,加入群聊每天获取最新文献资讯「 iFTrue 未来已来 」概述为解决传统电压前馈控制对电机参数敏感、抗扰性差
    发表于 08-27 06:41

    常用的设计方法

    在采用传统无动态控制时,uqu_quq​和udu_dud​的指令值存在耦合项。上一个学习笔记中设计的设计方法是将其忽略,因此在最后设计的效果并不太好。目前,常用的设计方法,有前
    发表于 08-27 07:29

    如何使用异步生成器业务逻辑

    异步Async generators are new in JavaScript. They are a remarkable extension. They provide a simple
    发表于 09-06 09:11

    永磁同步电机偏差与电流前馈控制对比分析,哪个影响大?

    永磁同步电机偏差与电流前馈控制对比分析,哪个影响大?
    发表于 10-12 10:17

    电压前馈是如何实现的

    电压前馈是什么?电压前馈是如何实现的?
    发表于 10-15 06:55

    工具集成窜口网口MODBUS调试工具免费下载

    工具集成窜口网口MODBUS调试工具,还集成电气电工计算工具。(工具安全无毒,但360等杀毒会报错,建议删除下载安装)
    发表于 01-04 18:16 18次下载

    振弦采集模块配置工具VMTool的MODBUS工具模块

    振弦采集模块配置工具VMTool的MODBUS 工具模块 振弦采集模块 ( 1) 寄存器查看 此功能模块提供标准的 MODBUS 协议寄存器显示及单个寄存器修改功能,通过点击扩展功能
    发表于 01-28 16:54 246次阅读
    振弦采集模块配置<b class='flag-5'>工具</b>VMTool的<b class='flag-5'>MODBUS</b><b class='flag-5'>工具</b>模块

    Modbus网关和工具开源分享

    电子发烧友网站提供《Modbus网关和工具开源分享.zip》资料免费下载
    发表于 06-13 11:06 3次下载
    <b class='flag-5'>Modbus</b>网关和<b class='flag-5'>工具</b>开源分享

    modbus调试工具

    modbus调试工具
    发表于 04-28 13:50 85次下载