- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Modbus通讯协议在圣晖产品中的应用
PAGE21
目录
TOC\o1-3\h\z\u第一部分Modbus通讯协议概述 3
1.Modbus相关术语 3
2.Modbus协议简介 3
3.数据编码 4
4.Modbus数据模型 4
5.公共功能码定义 7
5.1.01(0x01)读线圈 7
5.2.02(0x02)读离散量输入 8
5.3.03(0x03)读保持寄存器 9
5.4.04(0x04)读输入寄存器 9
5.5.05(0x05)写单个线圈 10
5.6.06(0x06)写单个寄存器 10
5.7.07(0x07)读异常状态 11
5.8.08(0x08)诊断 11
5.9.11(0x0B)获得通信事件计数器 12
5.10.12(0x0C)获得通信事件记录 12
5.11.15(0x0F)写多个线圈 12
5.12.16(0x10)写多个寄存器 12
5.13.17(0x11)报告从站ID 13
5.14.20/6(0x14/0x06)读文件记录 13
5.15.21/6(0x15/0x06)写文件记录 13
5.16.22(0x16)屏蔽写寄存器 13
5.17.23(0x17)读/写多个寄存器 13
5.18.24(0x18)读FIFO队列 13
5.19.43(0x2B)封装接口传输 14
5.20.43/14(0x2B/0x0E)读设备标识 14
第二部分Modbus协议在电力仪表中的应用 15
2.1.RTU传输模式 15
2.2.Modbus报文RTU帧 15
2.3.CRC校验 16
2.4.Mosbus功能码简介 16
2.4.1.功能码“0x02” 16
2.4.2.功能码“0x01” 17
2.4.3.功能码“0x03” 18
2.4.4.功能码“0x05” 18
2.4.5.功能码“0x06” 19
2.4.6.功能码“0x10” 20
2.4.7.通讯错误信息及数据的处理 20
第一部分Modbus通讯协议概述
1.Modbus相关术语
ADU(ApplicationDataUnit) 应用数据单元
PDU(ProtocolDataUnit) 协议数据单元
LSB(LeastSignificantBit) 最低有效位
MSB(MostSignificantBit) 最高有效位
MB(ModbusProtocol) Modbus协议
2.Modbus协议简介
Modbus是一个请求/应答协议,并且提供功能码规定的服务。Modbus功能码是Modbus请求/应答PDU的元素。【PDU表示协议数据单元】
Modbus是应用层报文传输协议,它在通过不同类型的总线或网络连接的设备之间的客户机/服务器通信。
目前,通过下列方式实现Modbus通信:
——以太网上的TCP/IP
——各种介质(有线;EIA/TIA-232-E、EIA-422、EIA/TIA-485-A;光纤、无线等等)上的异步串行传输。【我们要使用和介绍的就是这种方式】
——Modbus+,一种高速令牌传输网络
Modbus协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上的Modbus协议映射能够在应用数据单元(ADU)上引用一些附加域,见图1。
图1通用Modbus帧
启动Modbus事务处理的客户机创建Modbus应用数据单元。功能码向服务器指示将执行哪种操作。Modbus协议建立了客户机启动的请求格式。
用一个字节编码Modbus数据单元的功能码域。有效的码字范围是十进制1~255(128~255为异常响应保留)。当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。
从客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义的操作。这个域还包括离散量和寄存器地址、处理的项目数量以及字段中的实际数据字节数。
在某种请求中,数据字段可以是不存在的(0长度),在此情况下服务器不需要任何附加信息。功能码仅说明操作。
如果在一个正确接收的ModbusADU中,不出现与所请求的Modbus功能有关的差错,那么服务器至客户机的响应数据字段包含所请求的数据。如果出现与所请求的Modbus功能有关的差错,那么该域包含一个异常码,服务器应用能够使用这个
文档评论(0)