MODBUS-通信协议1(纠错).docVIP

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

MODBUS 通信协议 一.MODBUS 通信协议概述 1.1.MODBUS 通信协议概述 MODBUS 通信协议是由美国Modicon 公司研发和提出的,目前已经成为国际通用标准。MODBUS 通信协议工作在ISO/OSI 模型的数据链路层,其工作条件是物理层通信接口已经建立并且工作正常。 MODBUS 通信协议主要包括如下内容: ●MODBUS 通信接口 MODBUS 通信接口符合RS232C/RS485 以及兼容的串行接口,该接口定义了针脚、电缆、信号位、波特率、奇偶校验。各种智能设备能够直接利用MODBUS 接口规约进行组网。 ●MODBUS 通信符合主从的通信模式 通信只能由主站主动发起并传送给从站。若主站发出的是广播命令,则从站不给予任何回应;若主站发出的是行动命令,则从站必须给予回应。从站的回应中包括描述命令执行域信息、数据表以及错误检验域信息;若从站不能执行该命令,则从站将建立错误消息并作为回应发送回去。 自主站发至从站的信息报文称为命令或下行通信帧,而自从站发至主站的信息报文则称为响应或上行通信帧。 ●MODBUS 通信的两种数据传输方式:ASCII和RTU 模式当数据代码采用ASCII 数据传输方式时被称为MODBUS-ASCII 。当数据代码采用RTU (远程终端单元)数据传输方式时被称为MODBUS-RTU 。在以 RTU 数据传输方式下,1 个8Bits 的字节由2 个4Bits 的16 进制字符构成。十进制/16 进制/二进制数代码表如下:MODBUS-RTU 在发送1 个字节时其中的位分布如下: 数值(十进制代码)十六进制代码(H 表示十六进制数)二进制代码(B 表示二进制数)0 00H 0000B 1 01H 0001B 2 02H 0010B 3 03H 0011B 4 04H 0100B 5 05H 0101B  6 06H 0110B 7 07H 0111B 8 08H 1000B 9 09H 1001B 10 0AH 1010B 11 0BH 1011B 12 0CH 1100B 13 0DH 1101B 14 0EH 1110B 15 0FH 1111B  █ 1 位起始位 █ 8 位数据位 █ 1 位奇偶校验位,若选择无校验则无本位 █ 1 位停止位,若无奇偶校验则为2 位停止位(多数情况下仍然采用1 位停止位)在MODBUS-RTU 模式下,错误校验码采用CRC16 模式。若无特别说明,在本文中所描述的通信协议均为MODBUS-RTU 。 ●MODBUS-RTU 的消息帧结构MODBUS-RTU 的消息帧结构如下: █地址:指从站的ID 地址当主站向某从站发送消息时将该从站的地址放入消息帧的地址域中;当从站发送回应消息时,将自己的地址放入消息帧的地址域中以便主站知道哪个从站作了回应。地址0 为广播命令。当MODBUS 网络为更复杂的网络时,广播命令可能会取消或以其 它形式取代。从站地址的范围为1-247 (十进制),但为了与RS232C/RS485 接口配合一般选择为1-32 。 █功能域:指主站发布的功能命令虽然Modicon 公司发布了多条MODBUS 功能命令,但常用的命令只有9 条,列表如下: 起始位地址域功能域或命令代码域数据域 CRC 校验域停止位T1-T2-T3-T4 8Bit 8Bit N 个8Bit 16 Bit T1-T2-T3-T4  命令代码(十六进制)定义说明01H 读继电器输出状态02H 读开关量DI 输入状态03H 读寄存器组04H 读输入模拟量寄存器组05H 单路继电器输出06H 写单个寄存器07H 读异常状态0FH 写多个寄存器10H 写寄存器组 若从站对主站发布的命令有异议,则从站将功能域的最高位置1 作为回应消息的功能域。例如若主站发布的命令代码是03H 即二进 ,则从站回应的异议功能代码是83H 即二进 。 █数据域:数据区数据域的集合是由若干组2 位16 进制数构成的,其中包括寄存器地址、要处理项的数 目和域中实际数据字节数。对应于03H,数据域的结构是:寄存器地址高字节+寄存器地址低字节+寄存器数量高字节+寄存器数量低字节对应于10H,数据域的结构是:寄存器地址高字节+寄存器地址低字节+寄存器数量高字节+寄存器数量低字节+字节数 量+第1 寄存器数值+第2 寄存器数值+…+第N 寄存器数值 寄存器地址的编码: 寄存器地址范围功能主站信息帧中的地址

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档