Modbus-RTU简介.pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  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简介

* Modbus RTU简介 主要内容 1、Modbus由来、国标 2、Modbus串行链路应用协议 Modbus是Modicon(现为施耐德电气公司的一个品牌)在1979年开发的一项在ISO模型第7层的应用层报文传输协议,在过去几十年已被大量地应用于工业控制领域的开放的、标准的、免费的网络通信协议。它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信:在串行链路上取决于TIA/EIA标准(232-F和485-A),在TCP/IP上取决于IETF标准(RFC793和RFC791)。 Modbus国家标准:GB/T 19582-2008《基于Modbus协议的工业自动化网络规范》。 Modbus由来、国标 三种传输模式 Modbus RTU Modbus ASCII Modbus TCP/IP Modbus在串行链路上的帧结构 Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或者网络上的Modbus协议能够在应用数据单元(ADU)上引入一些附加字段,如下图所示: 地址域 功能码 数据 差错校验 ADU PDU Modbus协议描述 地址域: 单个设备的地址范围是1~247;网络上的每个从设备必须具有唯一的地址;主设备通过将要联络的从设备的地址放入消息中的地址域来选通设备;当从设备发送回应消息时,它把自己的地址放入回应的地址域中,以便主设备知道是哪一个设备作出回应。 地址0是用作广播地址,以使所有的从设备都能认识,不需要响应。当Modbus协议用于更高水准的网络时,广播可能不允许或者以其它方式代替。 Modbus协议描述 功能码: 作为主机的请求发送时,通过功能码告诉从机执行什么动作;作为从机的响应发送时,从机响应的功能码与主机请求的功能码一样,表明从机已经正确地响应主机的操作;如果从机发送的功能码的最高位为1(功能码127),表明从机响应异常。 数据: 随功能码的不同,数据区也发生变化。 差错校验: CRC-16(循环冗余错误校验),用于RTU模式; LRC(纵向冗余错误校验),用于ASCII模式。 Modbus数据编码规则 Modbus使用最高有效字节在低地址存储的方式表示地址和数据项。这就意味着当发送多个字节时,首先发送最高有效字节。例如: 16 bits 0x1234 将为 0x12 0x34 32 bits 0 将为 0x12 0x34 0x56 0x78 Modbus常用功能代码 公共功能代码 功能码 十进制码 十六进制码 比特访问 物理离散量输入 读离散量输入 02 02 内部比特或物理线圈 读线圈 01 01 写单个线圈 05 05 写多个线圈 15 0F 16比特访问 物理输入寄存器 读输入寄存器 04 04 内部寄存器或输出寄存器 读保持寄存器 03 03 写单个寄存器 06 06 写多个寄存器 16 10 读/写多个寄存器 23 17 屏蔽写寄存器 22 16 读FIFO队列 24 18 文件记录访问 读文件记录 20 14 写文件记录 21 15 ... ... ... ... ... 注:标记为蓝色的部分为智能仪表常用的功能代码。 Modbus 03读保持寄存器应用方法 请求 功能码 1个字节 0x03 起始地址 2个字节 0x0000 to 0xFFFF 寄存器数量 2个字节 1 to 125(0x007D) 响应 功能码 1个字节 0x03 字节数 1个字节 2 x N 寄存器值 N x 2个字节 ... 错误 差错码 1个字节 0x83 异常码 1个字节 01或02或03或04 Modbus 03读保持寄存器应用说明 使用该功能码从远程设备中读保持寄存器连续块的内容。请求PDU指定了起始寄存器地址和寄存器数量。在PDU中,从零开始寻址寄存器。因此,编号1~16的寄存器被寻址为0~15. 将响应报文中的寄存器数据按每个寄存器两个字节进行打包,这个二进制内容正好填满每个字节。对于每个寄存器,第一个字节包括高位位,第二个字节包括低位位。 Modbus 03读保持寄存器实例 这是一个请求读寄存器108~110的实例 请求 响应 域名 十六进制 域名 十六进制 功能 03 功能 03 起始地址Hi 00 字节数 06 起始地址Lo 6B 寄存器值Hi(108) 02 寄存器数量Hi 00 寄存器值Lo(108) 2B 寄存器数量Lo 03 寄存器值Hi(109) 00 寄存器值Lo(109) 00 寄存器值Hi(110) 00 寄存器值Lo(110) 64 Modbus 0

文档评论(0)

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

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

1亿VIP精品文档

相关文档