Modbus-RTU协议C51通讯.pdfVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Modbus-RTU协议C51通讯

Modbus RTU协议C51通讯 Modbus RTU协议C51通讯 MMooddbbuuss RRTTUU协协议议CC5511通通讯讯 1.1 Modbus通信协议介绍 Modbus协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制 器经由网络(如以太网)与其他设备之间可以通信。它已经成为一种通用工业标准。不同厂商生 产的控制设备可以通过它连成工业网络,集中监控。 Modbus协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通 信的。它描述了一控制器请求访问其他设备的过程.如何回应来自其他设备的请求,以及怎样侦 测错误并记录;制定了消息域格局和内容的公共格式。 当在某一Modbus网络上通信时,此协议决定了每个控制器需要知道它们的设备地址,识别 按地址发来的消息,以及决定要产生何种行动。如果需要回应,则控制器将生成反馈信息并用 Modbus协议发出。在其他网络上,包含了M0dhus协议的消息转换为在此网络上使用的帧或包结 构。 1.2Modbus RTU通信数据传输模式 当控制器设备基于Modbus协议以RTU模式通信时,消息中的每个字节包含2个4位的十六进 制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。 编码采用8位二进制,十六进制数0~9和A~F;消息中每个8位域都是由2个十六进制字符组 成。组织结构如下: 1.3Modbus RTU消息帧结构 Modbus RTU消息帧结构如下: (1)地址码 地址码为通信传送的第一个节。这个字节表明,由用户设定地址码的从机将接收由主机发 送来的信息。每个从机都有具有唯一的地址码,只有符合地址码的从机才能响应回送,且响应 回送均以各自的地址码开始。主机发送的地址码则表明将发送到的从机地址,而从机发送的地 址码表明回送的从机地址。地址0用作广播地址,以使所有的从设备都能认识。 (2)功能代码 功能代码为通信传送的第二个字节。Modbus通信规约定义可能的代码范围是十进制的1~ 255。当然,有些代码适用于所有控制器,有些仅适用于某种控制器,还有些保留以备后用。主 机发送请求,通过功能码告诉从机执行什么动作;从机响应请求,从机发送的功能码与从主机发 送来的功能码一样,表明从机已响应主机进行操作。如果从机发送的功能码的最高位为1,则表 明从机没有响应操作或发送出错,主设备应用程序得到异议的回应后,典型的处理是重发消息。 表l列出了常用Modbus支持的部分功能码。 以读取线圈状态为例说明。 主站发送命令: [设备地址][命令号01][起始寄存器地址高8位][低8位][读取的寄存器数高8位][低8位][CRC 校验的低8位][高8位]。 从站响应: [设备地址][命令号01][返回的字节个数][数据1][数据2]…[数据n][CRC校验的低8位][高 8位]。 (3)数据区 数据区根据功能码的不同而不同。数据区包含需要从机执行什么动作,或由从机采集的返 送信息。这些信息可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址等。例 如,功能码告诉从机读取寄存器的值,则数据区必须包含要读取寄存器的起始地址及读取长度。 对于不同的从机,地址和数据信息都不相同。 (4)错误校验码 主机或从机可用校验码判别接收信息是否出错。错误检测域包含一个16位的值(用2个8位的 字符来实现)。错误检测域的内容是通过对消息内容进行“循环冗余检测”得出的。CRC域附加在 消息的最后,添加时先是低字节然后是高字节,故CRC的高位字节是发送消息的最后一个字节。 错误校验采用CRC-16校验方法。 1.4 CRC校验原理 生成CRC-16校验字节的步骤如下: ①装如一个16位寄存器,所有数位均为1。 ②该16位寄存器的低位字节与开始8位字节进行“异或”运算。运算结果放入这个16位寄存器。 ③把这个16寄存器向右移一位。 ④若向右(标记位)移出的数位是1,则生成多项式1010000000000001和这个寄存器进行“异或” 运算;若向右移出的数位是0,则返回③。 ⑤重复③和④,直至移出8位。 ⑥另外8位与该十六位寄存器进行“异或”运算。 ⑦重复③~⑥,直至该报文所有字节均与16位寄存器进行“异或”运算,并移位8

文档评论(0)

专注于电脑软件的下载与安装,各种疑难问题的解决,office办公软件的咨询,文档格式转换,音视频下载等等,欢迎各位咨询!

1亿VIP精品文档

相关文档