- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Modbus协议与现场总线研讨
压 * * 3.1 Modbus 协议 Modbus是MODICON公司于1979年开发的一种通讯协议。它是一种在工业领域被广为应用的真正开放、标准的网络通讯协议,已经成为一种电子控制器的通用语言,通过此协议控制器之间可以通讯,已成为一种工业标准。 不同厂商生产的控制设备通过Modbus协议可以连成通讯网络,在PLC、变频器、电器设备及自动化仪表 等领域都广泛应用Modbus协议。 Modbus是链路层的主/从协议,采用请求响---应方式 .主站发出带有从站地址的请求报文,具有该地址的从站收到该报文后发出响应报文。 第三章 Modbus 协议与现场总线 Modbus 在OSI 模型中所使用的层 3.1.1 Modbus 协议的物理层 1.网络结构 总线式主从结构 主设备:PC机,PLC 从设备:PLC,智能仪表 一个主站可有1—253个从站, 从站之间不能相互通讯。 2.通讯方式 (a)一对一:主设备可以和从设备通讯,从设备响应。 (b)一对N(广播):主设备对N个从设备,从设备无响应。 0地址表示广播地址。 3.物理层 支持RS-485、RS-232C。 CRLF 0D0A COLON 3A 3.1.2 Modbus协议的帧格式 Modbus有两种格式: ASCII格式; RTU格式 1.ASCII码帧格式(用ASCII 表示数据) (1).字节格式 (2).数据表示方法 地址:21 表示ASCII码 32H,31H (:) (2)说明: a.地址域:从设备地址0-253,地址0为广播地址。 b.功能域:代码范围1-255,命令从设备执行哪些功能(如读测量值,读开关量状态) c.数据域:(两部分内容) 主设备到从设备:变量起始地址、变量个数。 从设备到主设备 : 字节数n、数据n。 d.检错:CRC-16, 生成多项式 Y=X^16+X^15+X^2+1。 2. RTU格式(用二进制数表示数据) (1) RTU帧格式 3.1.3 ModBus功能码 1. Modbus功能码 2.功能码3:读取在一个或多个保持寄存器中取得当前的二进制值 该功能码主要用于读取设备参数 例:主机命令:读6BH开始的3个寄存器内容 从机响应:回传6个字节数据 说明 (1)应用层: 寄存器中存储的内容用户定义。 (2)寄存器地址与寄存器:寄存器号减1为寄存器地址 3.功能码4:读取一个或多个输入寄存器值 主要用于读取设备测量数据 从寄存器8开始读一个寄存器值 4. 功能6:写单个寄存器 例:从寄存器地址1开始,写一个寄存器值03 寄存器地址:0001H 寄存器: 0002H 5. 功能码16:写多个寄存器 主机从01H地址开始写2个寄存器 从机响应主机 3.1.4应用举例 题: 有某地址为1的从设备,其变量定义如下: 例1:主设备用3号命令寻址地址为1的从设备,读取寄存器地址为0000H 的量程. 主设备命令帧 从设备响应帧 变量定义 主机请求 从机响应 量程(参数) 寄存器地址 0000H 测量值 0002H 字节数 2byte 2 byte 主 从 地址 功能码 变量地址高 变量数高 CRC校验 01H 03H 00H 00H 变量数低 地址 功能码 01H 03H 字节数 02H 数据1 03H CRC校验 ** 流量 = 3E8H =1000 变量地址低 00H 01H ** 数据2 E8H 例2:主设备用4号命令寻址地为1的从设备, 读取地址为0002H 的测量值 01H 04H 0002H 0001H ## 地址 功能码 变量地址 变量数 CRC校验 地址 功能码 字节数 数据1 数据2 CRC CRC 01H 04H 02H 03H 20H ** ** 从设备响应 主设备命令帧 测量值 = 320H =800 问题:测量值有小数和正负怎么办? 3.1.5 CRC-16校验 1.说明: (1) CRC校验
文档评论(0)