Modbus协议数据帧RTU形式演示

Modbus协议数据帧RTU形式演示

在上一篇文章中已对Modbus协议原理做了相关介绍,需要的可以去看上一篇哦
这里对Modbus中常用RTU数据帧格式进行相关数据演示。

上篇【ModBus通信协议详解(基于RS-485】

下图为演示的相关数据,该过程学习自B站UP主需要自行前往观看哈

B站UP主Modbus讲解

在这里插入图片描述

所需工具,在这里没有用到硬件,而是使用虚拟串口进行主从数据收发调试,用到的工具都在下面哦

CRC校验在线小工具

链接: https://pan.baidu.com/s/1NL8FNIXPc4vTXDWlw2kQCw?pwd=3u29 提取码: 3u29 复制这段内容后打开百度网盘手机App,操作更方便哦 
--来自百度网盘超级会员v5的分享

1、使用虚拟串口创建两个相关串口 这里使用COM1 COM2 可根据自己来选择
在这里插入图片描述

2、打开MODSIM32 从设备工具

点击文件---新建

在这里插入图片描述

在这里插入图片描述

点击连接设置 进行串口的选择,MODSIM32我选择COM2 在另一个串口工具我选择COM1

注意:

这里通过虚拟串口工具创建出来的虚拟串口有时生效了,重新创建一组就好了,我这里就失效 MODSIM32选择COM3 串口助手COM4

在这里插入图片描述

在这里插入图片描述

下面开始测试第一组数据
01[地址] 01[功能码] 00 00[寄存器地址] 00 08[寄存器数量] 3D CC[CRC]

将00001 和 00007这两个设置为1(双击<0>就可以设置了)

在这里插入图片描述

下面通过串口助手发送数据帧,并观察返回的数据

在这里插入图片描述

这里可以看到返回数据帧为01 01 01 41 91 B8
数据解析:
第一位01为地址码
第二位01为功能码
第三位01为返回数据值有一个字节
第四位41 为所读寄存器中的值
第五 第六位 是返回数据帧的CRC校验码【01 01 01 41】校验码91 B8

十六进制41 也就是0100 0001 与我们所设置地址中的值换算后一样

在这里插入图片描述

下图为返回数据帧的CRC校验 与我们串口所显示的数据一样

在这里插入图片描述

从以上数据看出我们所得到的数据帧是正确滴

第二组数据测试 

在这里插入图片描述
在这里插入图片描述

数据解析:
第一位20位地址码
第二位04位功能码
第三位为字节数0C 十进制12 表示返回有12个字节数据(除地址码 功能码和CRC校验码之外)
第4 5 位00 01为地址30001中的值(十进制1)占两个字节
第6 7 位00 00为地址30002中的值(十进制0)占两个字节
第8 9 位00 01为地址30003中的值 (十进制1)占两个字节
第10 11位00 00为地址30004中的值(十进制0)占两个字节
第12 13位00 00为地址30005中的值(十进制0)占两个字节
第14 15位00 01为地址30006中的值(十进制1)占两个字节
第16 17 A1 53为CRC校验码 占两个字节

在这里插入图片描述

经验证数据正确,和我们分析的一样,其他几组数据分析方法一样这里就不在演示了 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小殷学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值