modbus协议解析全解.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
modbus协议解析全解

目录 1、Modbus简介 2 1.1MODBUS功能码简述 3 1.2功能码说明 3 1.3寄存器种类说明 4 1.4 PLC地址和协议地址区别 4 1.4.1 寄存器PLC地址 4 1.4.2 寄存器协议地址 4 2.MODBUS指令说明 5 2.1 读线圈寄存器01H 5 2.2 读离散输入寄存器 02H 6 2.3 读保持寄存器 03H 7 2.4 读输入寄存器 04H 8 2.5 写单个线圈寄存器 05H 9 2.6 写单个保持寄存器 06H 10 2.7 写多个线圈寄存器 0FH 11 2.8 写多个保持寄存器10H 12 1、Modbus简介 ? Modbus是由Modicon(现为施耐德电气公司的一个品牌)在1979年发明的,是全球第一个真正用于工业现场的总线协议。ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。 ModBus网络只有一个主机,所有通信都由他发出。网络可支持247个之多的远程从属控制器,但实际所支持的从机数要由所用通信设备决定. Modbus比其他通信协议使用的更广泛的主要原因有: (1)标准、开放,用户可以免费、放心地使用Modbus协议,不需要交纳许可证费,也不会侵犯知识产权。目前,支持Modbus的厂家超过400家,支持Modbus的产品超过600种。 (2)Modbus可以支持多种电气接口,如RS-232、RS-485等,还可以在各种介质上传送,如双绞线、光纤、无线等。 (3)Modbus的帧格式简单、紧凑,通俗易懂。用户使用容易,厂商开发简单。 其传输模式有:RTU、ASSCII 、TCP 图1 modbus结构示意图 1.1MODBUS功能码简述 ? ? 下表列出MODBUS支持的部分功能代码:以十进制表示。 表1.1 MODBUS部分功能码 代码 中文名称 寄存器PLC地址 位操作/字操作 操作数量 01 读线圈状态 00001-09999 位操作 单个或多个 02 读离散输入状态 10001-19999 位操作 单个或多个 03 读保持寄存器 40001-49999 字操作 单个或多个 04 读输入寄存器 30001-39999 字操作 单个或多个 05 写单个线圈 00001-09999 位操作 单个 06 写单个保持寄存器 40001-49999 字操作 单个 15 写多个线圈 00001-09999 位操作 多个 16 写多个保持寄存器 40001-49999 字操作 多个 1.2功能码说明 ? ? 功能码可以分为位操作和字操作两类。位操作的最小单位为BIT,字操作的最小单位为两个字节。 ? ? ? ? 【位操作指令】 ? ?读线圈状态01H,读(离散)输入状态02H,写单个线圈06H和写多个线圈0FH。 ? ? ? ? 【字操作指令】 ? ?读保持寄存器03H,写单个寄存器06H,写多个保持寄存器10H。 1.2寄存器地址分配 表1.2 MODBUS寄存器地址分配 寄存器PLC地址 寄存器协议地址 适用功能 寄存器种类 读写状态 00001-09999 0000H-FFFFH 01H 05H 0FH 线圈状态 可读可写 10001-19999 0000H-FFFFH 02H 离散输入状态 可读 30001-39999 0000H-FFFFH 04H 输入寄存器 可读 40001-49999 0000H-FFFFH 03H 06H 0FH 保持寄存器 可读可写 ? 1.3寄存器种类说明 表1.3 MODBUS寄存器种类说明 寄存器种类 说明 PLC类比 举例说明 线圈 状态 输出端口。可设定端口的输出状态,也可以读取该位的输出状态。可分为两种不同的执行状态,例如保持型或边沿触发型。 DO 数字量输出 电磁阀输出,MOSFET输出,LED显示等。 离散 输入状态 输入端口。通过外部设定改变输入状态,可读但不可写。 DI 数字量输入 拨码开关,接近开关等。 保持 寄存器 输出参数或保持参数,控制器运行时被设定的某些参数。可读可写。 AO 模拟量输出 模拟量输出设定值,PID运行参数,变量阀输出大小,传感器报警上限下限。 输入 寄存器 输入参数。控制器运行时从外部设备获得的参数。可读但不可写。 AI 模拟量输入 模拟量输入 1.4 PLC地址和协议地址区别 ? ? PLC地址可以理解为协议地址的变种,在触摸屏和PLC编程中应用较为广泛。 1.4.1 寄存器PLC地址 ? ? 寄存器PLC地址指存放于控制器中的地址,这些控制器可以是PLC,也可以使触摸屏,或是文本显示器。PLC地址一般采用10进制描述

文档评论(0)

ee88870 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档