我要发布
仪器网/ 仪器社区/ RTU/ modbus RTU模式的通信问题

modbus RTU模式的通信问题

wjiaoliqiantao    2013-04-08    RTU    浏览 306 次

modbus RTU模式的通信通讯格式要求 地址 功能码 数据 CRC校验 数据长度 1个字节 1个字节 N个字节 2个字节 如发送的数据... modbus RTU模式的通信通讯格式要求
地址 功能码 数据 CRC校验
数据长度 1个字节 1个字节 N个字节 2个字节
如发送的数据为: 03 01 00 00 10 校验高位校验低位
我的问题是:
1、我理解地址03使用1个字节数据长度表示,是用1个字节表示0,再使用一个字节表示3,但再就使用了两个字节的数据长度了,和通讯要求的格式不符。还有一种理解就是使用1个字节的直接表示03,其而进制码为000000011,如果地址是20,其二进制码为00010100,但这种理解出现个疑问,很多设备同时支持ASCII或RTU两种方式,当发送RTU的地址和ASCII方式的起始符相同时如都为03,接受方怎么判断他是RTU发送的地址,还是ASCII起始符。
2、RTU方式判断帧消息结束时是3.5字符时间,我想知道在物理层如何判断的,如消息发送完后,在物理层485双绞上,其电压持续3.5字符长度+15V即判断消息发送完成或是其电压持续3.5字符长度-15V判断消息发送完成。还是双绞线上为其他状态来判断消息完成。485通讯线上没有通讯时A、 B线状态是什么。
请教各位了?

精彩问答
木鱼来了aCh2i 发布日期:2018-04-12
1、RTU模式时地址(03,十六进制)长度是1个字节,ASCII模式时地址长度是2个字节(30、33,ASCII码)。设备即使支持ASCII、RTU两种方式,但在设备调试时必须选定一种模式,这样设备就根据选定的模式,区分是RTU数据帧还是ASCII数据帧而相应地处理。
2、RTU模式要求帧消息的间隔时间大于等于3.5字符时间,这是在应用层上处理的,物理层上的电平变化只是根据应用层的动作随之变化。我们知道,串口通讯的核心是通用异步接收/发送装置(UART),它需要发/收双方指定相同的波特率/数据位/校验位/停止位等通讯参数,才可以正确解调出一个字节数据。若一个RTU数据帧有很多个字节,UART就是一个一个字节地连续解调并存到缓冲区中。若发送方发送2个数据帧的间隔很短,接收方的UART就可能无法判断而当成一个数据帧,所以要求间隔时间不小于3.5字符时间。
全部评论
卷毛96 发布日期:2013-04-09
楼主理解错误!
地址03使用1个字节数据长度表示 0x03,十六进制数 一个字节 表示的数从0-255(无符号)

其他,没有看完

建议楼主先去百度文库 里搜相关文档看看
最新主题
相关版块
我要评论
X您尚未登录
账号登录
X您尚未登录
手机动态密码登录
X您尚未登录
扫码登录
官方微信

仪器网微信服务号

扫码获取最新信息


仪器网官方订阅号

扫码获取最新信息

在线客服

咨询客服

在线客服
工作日:  9:00-18:00
联系客服 企业专属客服
电话客服:  400-822-6768
工作日:  9:00-18:00
订阅商机

仪采招微信公众号

采购信息一键获取海量商机轻松掌控