《Modbus协议规范(修改稿)》.doc

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

前 言 -----------串行链路和TCP/IP上的MODBUS标准介绍 该标准包括两个通信规程中使用的MODBUS应用层协议和服务规范: ·串行链路上的MODBUS MODBUS串行链路取决于TIA/EIA标准:232-F和485-A。 ·TCP/IP上的MODBUS MODBUS TCP/IP取决于IETF标准:RFC793和RFC791有关。 串行链路和TCP/IP上的MODBUS是根据相应ISO层模型说明的两个通信规程。下图强调指出了该标准的主要部分。绿色方框表示规范。灰色方框表示已有的国际标准(TIA/EIA和IETF标准)。 MODBUS标准分为三部分。第一部分(“Modbus协议规范”)描述了MODBUS事物处理。第二部分(“MODBUS报文传输在TCP/IP上的实现指南”)提供了一个有助于开发者实现TCP/IP上的MODBUS应用层的参考信息。第三部分(“MODBUS报文传输在串行链路上的实现指南”)提供了一个有助于开发者实现串行链路上的MODBUS应用层的参考信息。 第一部分:Modbus协议 第一部分:Modbus协议 1 引言 1.1 范围 MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信。 自从1979年出现工业串行链路的事实标准以来,MODBUS使成千上万的自动化设备能够通信。目前,继续增加对简单而雅观的MODBUS结构支持。互联网组织能够使TCP/IP栈上的保留系统端口502访问MODBUS。 MODBUS是一个请求/应答协议,并且提供功能码规定的服务。MODBUS功能码是MODBUS请求/应答PDU的元素。本文件的作用是描述MODBUS事务处理框架内使用的功能码。 1.2 规范性引用文件 1.RFC791,互联网协议,Sep81 DARPA 2.MODBUS协议参考指南 Rev J,MODICON,1996年6月,doc#PI_MBUS_300 MODBUS是一项应用层报文传输协议,用于在通过不同类型的总线或网络连接的设备之间的客户机/服务器通信。 目前,使用下列情况实现MODBUS: 以太网上的TCP/IP。 各种媒体(有线:EIA/TIA-232-E、EIA-422、EIA/TIA-485-A;光纤、无线等等)上的异步串行传输。 MODBUS PLUS,一种高速令牌传递网络。 图1:MODBUS通信栈 2 缩略语 ADU 应用数据单元 HDLC 高级数据链路控制 HMI 人机界面 IETF 因特网工程工作组 I/O 输入/输出设备 IP 互连网协议 MAC 介质访问控制 MB MODBUS协议 MBAP MODBUS协议MODBUS协议允许在各种网络体系结构内进行简单通信。 图2:MODBUS网络体系结构的实例 每种设备(PLC、HMI、控制面板、驱动程序、动作控制、输入/输出设备)都能使用MODBUS协议来启动远程操作。 在基于串行链路和以太TCP/IP网络的MODBUS上可以进行相同通信。 一些网关允许在几种使用MODBUS协议的总线或网络之间进行通信。 4 总体描述 4.1 协议描述 MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上的MODBUS协议映射能够在应用数据单元(ADU)上引入一些附加域。 图3:通用MODBUS帧 启动MODBUS事务处理的客户机创建MODBUS应用数据单元。功能码向服务器指示将执行哪种操作。 MODBUS协议建立了客户机启动的请求格式。 用一个字节编码MODBUS数据单元的功能码域。有效的码字范围是十进制1-255(128-255为异常响应保留)。当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。 向一些功能码加入子功能码来定义多项操作。 从客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义的操作。这个域还包括离散项目和寄存器地址、处理的项目数量以及域中的实际数据字节数。 在某种请求中,数据域可以是不存在的(0长度),在此情况下服务器不需要任何附加信息。功能码仅说明操作。 如果在一个正确接收的MODBUS ADU中,不出现与请求MODBUS功能有关的差错,那么服务器至客户机的响应数据域包括请求数据。如果出现与请求MODBUS功能有关的差错,那么域包括一个异常码,服务器应用能够使用这个域确定下一个执行的操作。 例如,客户机能够读一组离散量输出或输入的开/关状态,或者客户机能够读/写一组寄存器的数据内容。 当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)。对于一个正常响应来说,服务器仅对原始功能码

文档评论(0)

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

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

1亿VIP精品文档

相关文档