modbus协议格式.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
modbus协议格式

MR chen_odot2016/5/2 1 Modbus 通讯协议 1、Modbus 协议包括ASCII、RTU 、TCP 等,并没有规定物理层。 2 、校验 Modbus 协议需要对数据进行校验,串行协议中除有奇偶校验 外,ASCII 式采用LRC 校验,RTU 式采用16 位CRC 校验, 但 TCP 式没有额外规定校验,因为 TCP 协议是一个面向连接 的可靠协议。另外,Modbus 采用主从方式定时收发数据,在实际 使用中如果某Slave 站点断开后 (如故障或关机),Maste 端可以 诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus 协议的可靠性较好。 3、TCP 和RTU 协议区别 对于Modbus 的ASCII 、RTU 和TCP 协议来说,其中TCP 和 RTU 协议非常类似,我们只要把RTU 协议的两个字节的校验码去 掉,然后在RTU 协议的开始加上5 个0 和一个6 并通过TCP/IP 网络协议发送出去即可。 4 、ASCII 和RTU 协议区别 协议 开始标记 - 结束标记 - 校验 - 传输效率 - 程序处理 ASCII 协议 : (冒号) - CR,LF - LRC - 低 - 直观,简单,易调试 RTU 协议 无 - 无 - CRC - 高 - 不直观,稍复杂 1 MR chen_odot2016/5/2 1 通过比较可以看到,ASCII 协议和RTU 协议相比拥有开始和结 束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可 见的ASCII 字符,所以进行调试时就更加的直观,另外它的LRC 校 验也比较容易。但是因为它传输的都是可见的 ASCII 字符,ASCII 传输的数据每一个字节 ASCII 都要用两个字节来传输,比如 ASCII 传输一个十六进制数 0xF9,ASCII 就需要传输’F ’’9 ’的ASCII 码 0x39 和0x46 两个字节,这样它的传输的效率就比较低。所以一般来 说,如果所需要传输的数据量较小可以考虑使用ASCII 协议,如果所 需传输的数据量比较大,最好能使用RTU 协议。 5、协议介绍 5.1 LRC 校验 LRC 域是一个包含一个8 位二进制值的字节。LRC 值由传输设备 来计算并放到消息帧中,接收设备在接收消息的过程中计算 LRC, 并将它和接收到消息中LRC 域中的值比较,如果两值不等,说明有 错误 5.2 LRC 校验算法 LRC 校验比较简单,它在ASCII 协议中使用,检测了消息域中除 开始的冒号及结束的回车换行号外的内容。它仅仅是把每一个需要传 输的数据按字节叠加后取反加1 即可。 2 MR chen_odot2016/5/2 1 LRC 的VC 代码: BYTE GetCheckCode(const cha * pSendBuf, int nEnd)//获得校验 码 { BYTE byL c = 0; cha pBuf[4]; int nData = 0; fo (i= 1; iend; i+=2) //i

文档评论(0)

xxj1658888 + 关注
实名认证
内容提供者

教师资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2024年04月12日上传了教师资格证

1亿VIP精品文档

相关文档