登录
首页 无线通信 无线通信
回帖 发帖
正文

主题:请教个MODBUS-RTU的问题,关于发送一帧数据大概耗时多久?

点击:13268 回复:10

看了网上的资料:
MODBUS-RTU报文模型
设备地址 功能代码 数据格式 CRC校验L CRC校验H
8bit           8bit          N*8bit   8bit          8bit
一个报文就是一帧数据,一个数据帧就一个报文: 指的是一串完整的指令数据,就像上面的一串数据。

请教个事,MODBUS-RTU下,RS指令发送一个报文,也就是发送一帧数据吧?modbus读取两个寄存器的值,选用8位数据位无校验1个停止位1个起始位的通讯格式,大概要花费多少时间怎么算的?波特率9600的话,是1/9600*1000=0.104ms/bit,10bit*4字节(两个寄存器)=40bit,然后40*0.104=4.16ms吗?
Modbus指令中站号,命令,还有最后的校验都是8位的需要加上去进行计算吗?也就是40是不是少算了,需要加上4*8位不?也就是40+32=72吗然后72*0.104??
modbus-rtu指令报文格式:地址位 8bit,命令:8bit,数据位N*8,校验高8bit,校验低8bit,这么一个报文 时间是不是如上所述的计算方式? 数据位那里是怎么算的? 如果是两个寄存器就是32bit?
18-01-15 11:56
波特率的意思是,比如9600bps,指的是1000ms内传送9600个bit,你既然是8位数据位、无校验、1位停止位,那么一帧数据就是1+8+1=10bit,以读操作为例,假设PLC发01 03 00 00 00 01 84 0A,共计8个,那么基本上所耗费的时间可以粗略的计算为:10bit*8=80bit,X=80*1000/9600=8.33ms,假如从站返回01 03 02 12 34 B5 33,那么所需要的时间为:10bit*7=70bit,Y=70*1000/9600=7.29ms,所以,一次通信所需要的时间就为8.33+7.29=15.62ms,当然这还不包括Modbus RTU帧间的3.5个字符时间,在9600bps下,此时间约为4ms。
我说的不够准确,请见谅!
18-01-15 12:11
这个设置的时间应该略长一点,还要考虑信号不好的情况
18-01-15 14:15
厉害了
18-01-15 15:37
8N1=1+8+1=10bit  相当于正常传输一个字节 它需要传10个位对吧,那么,假设PLC发01 03 00 00 00 01 84 0A(读取一个寄存器) 这样子称为发送一帧数据? 因为根据定义,一个完整的MODBUS-RTU报文就是一帧。那假如说要读取两个寄存器PLC发01 03 00 00 00 02 84 0A  这样子也称为发送一帧数据吗?还是就变成两帧数据呢?另外,根据您举得例子,假如说返回一个01 03 02 12 34 B5 33 那么所需要的时间为:10bit*7=70bit  ;那要读取2个寄存器的值,是不是所需要的时间为:10bit*8=80bit??
最后的定义是不是就是说:不管(读或写多少个数据)一条MODBUS-RTU模式下的RS指令都只是1帧数据,对吗?
以下是我的误解,有点离谱。
我当时的理解是这样的,如读取寄存器  (01 03) 00 00 00 01 (84 0A)  括号内固定 4个字节 4x8=32bit,中间蓝色数据位为一个寄存器是2个字节,8N1的话,一个字节发送10位,那么2个字节的寄存器空间需要发送2x10=20bit,而不是16bit, 数据个数如果是2个 那就是20x2=40bit 再加上中间蓝色是4个字节的大小,那就是 40x4=160bit,以此类推,如果数据个数为100个 那就是20x100x4=8000bit,那在加上两头的32bit,也是就发送一帧modbus-rut数据包(其中包含读100个寄存器的值)需要发送8000+32=8032bit。
最后修改:2018/1/15 16:42:28
18-01-15 16:40
还是用实物测试一下吧
我前边遇到的传感器,一个命令读取到2个温度+1个湿度很快,另一个要等大约13-14秒。
18-01-15 17:43
9600,就是1秒钟内能发送的位。
好像是这样的,
18-01-15 21:44

引用 刹那 在 2018/1/15 11:56:06 发言【内容省略】

你用RS指令的话,其实和这个时间关系不大,你基本不用考虑这个时间啊!如果你是三菱FX比较低端的PLC,要考虑一点就是:接收完成到下一次开始发送之间需要人为的进行一点延时!
18-01-16 06:36

引用 hmy12138 在 2018/1/15 15:37:22 发言【内容省略】

不敢当!都是从前人那里学来的,也不知道对不对!
18-01-16 06:36
谢谢版主。
18-01-16 10:20

上一页下一页

工控新闻

更多新闻资讯