GB Z 19582.2-2004 基于Modbus协议的工业自动化网络规范 第2部分;Modbus协议在串行链路上的实现指南.pdf

上传人:bowdiet140 文档编号:234235 上传时间:2019-07-13 格式:PDF 页数:38 大小:1.04MB
下载 相关 举报
GB Z 19582.2-2004 基于Modbus协议的工业自动化网络规范 第2部分;Modbus协议在串行链路上的实现指南.pdf_第1页
第1页 / 共38页
GB Z 19582.2-2004 基于Modbus协议的工业自动化网络规范 第2部分;Modbus协议在串行链路上的实现指南.pdf_第2页
第2页 / 共38页
GB Z 19582.2-2004 基于Modbus协议的工业自动化网络规范 第2部分;Modbus协议在串行链路上的实现指南.pdf_第3页
第3页 / 共38页
GB Z 19582.2-2004 基于Modbus协议的工业自动化网络规范 第2部分;Modbus协议在串行链路上的实现指南.pdf_第4页
第4页 / 共38页
GB Z 19582.2-2004 基于Modbus协议的工业自动化网络规范 第2部分;Modbus协议在串行链路上的实现指南.pdf_第5页
第5页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、ICS 25.040 N 10 -,., 共|王H王|GB/Z 19582.2 2004 企-Modbus industrial automation network specification一Part 2: Modbus protocol implementation guide over serial Iink 2004-09-21发布2005-03-01实施/干吃嚼步?/中华人民共和国国家中国国家标准化督检验检痊总局理委员会发布GB/Z 19582.2-2004 目次前言. . . . . . I 1 范围 . . . . . . . . . . . . . . . . . . . .

2、 . . . . . . . . . . . 1 2 协议概述. . . 1 3 约定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 4 一致性 . . . . . 2 5 缩略语. . . . . . . . . . . . . . . . . . 2 6 岛10dbus数据链路层. . . . . . . . . . . . . . . . . . . . . 3 6. 1 Modbus 主/从协议原理. . . . . . . . . . . . . . . . . . . . . . . .

3、 . . 3 6. 2 Modbus 寻址规则 . . . 4 6. 3 Modbus 帧描述. . . . . 4 6. 4 主站/从站状态图. . . 5 6. 5 两种串行传输模式. . . . . . . . . . . . . . . . . . . . . . 6 6. 6 差错校验方法. . . . . . . . . . . 12 7 物理层. . . . . . . . . . . . . . . . 13 7. 1 引言13 7. 2 数据信号传输速率. . . . . 13 7. 3 电气接口. . . . . . 13 7. 4 多点系统要求. 18 7. 5 机械接口

4、. . . . . . . . . . . . . . . 19 7. 6 电缆.,. . . . 21 7. 7 可视诊断. . . 21 8 安装和文裆. . . . 22 8. l 安装.22 8. 2 用户指南. 22 9 实现等级.22 附录A(规范性附录)串行链路诊断计数器的管理. . . . . 24 附录B(规范性附录)LRC/CRC生成. . . 27 附录C(资料性附录)高、低位字节表. . 32 附录O(资料性附录)参考文献. 34 二GB/Z 19582.2-2004 -=同本指导性技术文件包括两个通信规程中使用的Modbus应用层协议和服务规范z串行链路上的Modbu

5、sModbus串行链路基于TIA/EIA标准:232-F和485-A。一-TCPjIP上的ModbusModbus TCP jIP基于IETF文件:RFC793和RFC791。串行链路和TCPjIP上的Modbus是根据相应150分层模型说明的两个通信规程。下图强调指出了本指导性技术文件的主要部分.深色方框表示规范,浅色方框表示已有的国际标准(TIA/EIA和IETF标准)。,晶晶圄目。Modbus梅现在TCPIIP上的实现指南川叫t,., 工MR革必将t均每ll&画可与LTEPIIP A j lETF RPG, 793 IP 飞IETfRFC ,791 ,扩F . ,-川w-啊?同俨:3再辛

6、辛苦;棋盘棋盘标时m叫他由幽幽剧胁时也划时刷品且如ii在Vl;吵吵叩-FPUEIA4叫Ji吵吵理层牛3 Modbus b应用恪虱规拖地路指吨铠现M仔实叫曦的dM在上南基于Modbus协议的工业自动化网络规范分为三部分。一-第1部分:Modbus应用协议一-第2部分:Modbus协议在串行链路上的实现指南一第3部分:Modbus协议在TCPjIP上的实现指南第1部分描述了Modbus事务处理;第2部分提供了-个有助于开发者实现串行链路上的Modbus应用层的参考信息p第3部分提供了一个有助于开发者实现TCPjIP上的Modbus应用层的参考信息。本部分的附录A、附录B是规范性附录;附录C、附录D

7、是资料性附录。本部分由中国机械工业联合会提出.本部分由全国工业过程测量和控制标准化技术委员会归口。本部分起草单位s机械工业仪器仪表综合技术经济研究所、北京交通大学现代通信研究所、上海自动化仪表股份有限公司、施耐德电气(中国投资有限公司、冶金工业钢铁研究总院、宝钢集团上海宝信软件股份有限公司.本部分主要起草人欧阳劲松、孙昕、刘铁椎、冯晓升、王勇、张荣生、丛力群、段永康.I 产一一一一范围基于Modbus协议的工业自动化2部分:Modbus协议在串实现指结规范路上的GBjZ 19582.2-2004 Modbus标准定义了OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之

8、间提供客户机/服务器通信。它还将串行链路上约协议标准化,以便在一个主站和-个或多个从站之间交换Modbus请求.本部分的目的是表述串行链路上的Modbus协议。使用对象为在他们的产品实现串行链路Modbus协议的系统设计者.本部分将促进使用Modbus协议的设备之间的互操作性。本部分还是对基于Modbus协议的工业自动化网络规范补充,具体见图1.第1部分:Modbus应用协议标准的在第9章中,定义了Modbus串行键路的不同实现等级.等级的规定是设备能够属于某个等级而必须遵守的全部要求.图12 协议概述本部分时Modbus 应用协议攘猫一的盘现指南基于Modbus协议的工业自动化网络规范Mod

9、bus应用协扭(OSI靠7层回归行链路规I.(OSI靠l和2层)第1部分、第2部分标准的关系本部分描述串行链路上的Modbus协议。Modbus串行链路协议是一个主一从协议。该协议位于OSI 模型的第2层,主一从类型的系统有一个向某个子节点发出显式命令并处理响应的节点(主站).从站在没有收到主站的请求时并不主动地传输数据,也不与其他从站通信.在物理层,串行链路上的Modbus系统可以使用不同的物理接口(RS485、RS232).最常用的物理接口是TIA!EIA-485(RS485)两线制接口。作为附加选项,该物理接口也可以使用RS485囚线制接口。当只需要短距离的点到点通信时,也可以使用TIA

10、/EIA-232-ECRS232)串行接口作为Modbus系统的物理接口(见第7章图2给出了与7层OSI模型对应的Modbus串行通信找的一般表示.l 一-GB/Z 19582.2-2004 层ISOIOSI 7 应用层6 理示层5 生话层4 传输层3 网络层2 数据链路1 物理层Modbus应用j坦空空空空Modbus摩行链路协议EIAITIA.48S(就EIA/TIA.232)图2Modbus协议和150/0S1模型Modbus应用协坦居客户机IIH各器Modbus主站/从站EIA/T IA.48S 或EIA/TIA.232)位于OSl模型第7层的Modbus应用层报文传输协议提供了总线或

11、网络上连接的设备之间的客户机/服务器通信.在Modbus串行链路上,主站提供客户机的功能,而从站作为服务器.3 约定在本部分中,使用下列词语定义每个特定要求的重要程度.一一必须j要求的含有词语必须的所有要求是强制的。词语必须或形容词要求的表示该项为执行的绝对要求。这些词语带有下划线。一一应该j建议的认为包含应该或形容词建议的的所有建议是期望的功能。应该使用这些建议作为选择不同的实现功能选项时的指南.在特定条件下,可以有合理的理由忽略这些项目,但是,应该理解其全部含义,并且在选择不同过程之前仔细考虑各种情况。这些词语带有下划线.一一可以1可选的词语可以或形容词可选的表示该项目为真正意义上可选的.

12、因为特定的市场需求或产品功能增强,例如z一个设计者可以选择包含该项目,另一个设计者可以选择忽略该项.4 一致性如果某个实现不满足实现等级中的一个或多个必须的要求,那么这个实现是不符合的.如果某个实现满足实现等级中的所有必须的要求和所有应该的建议,那么称这个实现为元条件符合的。如果某个实现满足实现等级中的所有必须的要求但不满足所有应该的建议,那么称这个实现为有条件符合的.5 2 缩略语本部分中使用下列特定词语、符号和缩略语的定义。2W 在电气接口一章中定义的两线制配置,或其中的一个4W AUI 接口。在电气接口一章中定义的囚线制配置,或其中的一个接口。附加单元接口。6 6. 1 公共端(Comm

13、on)DCE(Data Communication Equipment) 设备(Device)驱动器(Driver)DTE(Data Terminal Equipment) ITr(lnterface on Trunk) IDv(lnterface on Derivation) LT(Line Termination) Modbus设备(MODBUSDevice) RS232 RS485 RS485-Modbus 收发器(Transceiver)Modbus鼓据链路层Modbus主/从协议原理GB/Z 19582.2-2004 EIA/TIA标准中的信号公共端。在两线制或四线制RS48S Mo

14、dbus网络中,信号和可选的电源的公共端。一个实现了RS232数据电路终端设备的Modbus设备,例如g可编程序控制器适配器,也称作数据通信设备.Modbus设备.发生器,或发送器一个实现了RS232数据终端设备的Modbus设备.例如z可编程终端或PCo干线侧的物理总线接口。设备侧的物理总线接口.链路终端.在串行链路上实现Modbus并遵循其技术规范的设备.EIA!TIA-232标准。EIA!TIA-485标准.实现了Modbus串行链路并遵循其技术规范的设备。发送器和接收器(或驱动器和接收器)0 Modbus串行链路协议是一个主从协议。在同一时间,只能将一个主站连接到总线,将-个或多个从站

15、(最大数量为247)连接到相同串行总线oModbus通讯总是由主站发起。当从站没有收到来自主站的请求时,将不会发送数据。从站之间不能相互通信。主站同时只能启动-个Modbus事务处理.主姑用两种模式向从站发出Modbus请求s一一单播模式见图3),主站寻址单个从站.从站接收并处理完请求之后,向主站返回-个报文(一个应答儿在这种模式下,一个Modbus事务处理包含2个报文g一个是主站的请求,另一个是从站的应答。每个从站必须有唯一的地址(从1-247),这样才能区别于其他站被独立地寻址。一一广播模式(见图。,主站可以向所有的从站发送请求。对于主站广播的请求没有应答返回。广播请求必须是写命令.所有设

16、备必须接受写功能的广播.地址。被保留用来识别广播通信,单播和广播模式的区别在一个多点的结构下(如RS485)更加易于理解.主站请求应譬从姑M.站M.站图3单播模式3 二GB/Z 19582.2-2004 6.2 从站Modbus寻址规则见表1.从站图4广播模式Modbus寻址空间由256个不同地址组成.表1。1-247 广播地址从站单个地址地址。为广播地址.所有从站必须识别广播地址.主站从站248-255 保留Modbus主站没有特定地址,只有从站有一个地址.在Modbus串行总线上,这个地址必须是唯一的.6.3 Modbus帧描述见图5和图6.Modbus应用协议定义了一个与基础通信层无关的

17、简单协议数据单元(PDU): 功能码盘踞Modbus PDU 图5Modbos协议数据单元特定总线或网络上的Modbus协议映射能够在协议数据单元(PDU)上引人一些附加域.启动Modbus事务处理的客户机构造ModbusPDU.然后,添加附加域,以便构造适当的通信PDU.地址域 功能码一一量据Modbus PDU 图6串行链路上的Modbus帧一一在Modbus串行链路上,地址绒只含有从站地址。 CRC (或LRC)如前面各节所述,有效的从站地址范围为十进制。-247.在1-247范围中为每个从站指配单独的地址。主站通过将从站地址放置在报文地址域中来寻址从站。当从站返回响应时,它将自己的地址

18、放到响应地址域中,以便使主站知道哪个从站正在响应.一一功能码指示服务器要执行何种操作。功能码的后面是含有请求和响应参数的数据域.一一差错检验域是根据报文内容执行冗余校验计算的结果.根据使用的传输模式(RTU或4 ASC!D.使用两种计算方法。(见6.5) 6.4 主站/从站状态图Modbus数据链路层由两个独立子层组成g一一主/从协议g-一一传输模式(RTU和ASCII模式下列各节描述了与所使用传输模式元关的主站和从站状态图。GB/Z 19582.2-2004 在第7章中使用两个状态图详细说明了RTU和ASCII传输模式.描述了一个帧的接收和发送.状态图词法z使用UML标准符号法绘制状态图(图

19、7)0标记法要点如下z状i!:iA触盎【保护盎件/动作图7UML标准表示状在B当处于状态A的系统发生触发事件时,只有当保护条件为真时,系统才会进入状态B.然后,执行-个动作。6.4. 1 主站状态图图B说明了主站的动作2等待转换延迟按广播摸式盎迭的请求/启动转换延迟转换E迟时应答接收非期望的从姑上述状态图的一些解释为2空闲请求茸送到从站/启动响应超时定时等将应替图B处理应害的从站响应超时定时响应超时达限主站状态图主E错处理结束帧差错肚理差辅状态空闲=无待决请求。这是电源加电后的初始状态.只有在空闲状态下才能发送请求.发送一个请求之后,主站离开空闲状态,并且不能同时发送第二个请求.-一一当向从站

20、发送单播请求时,主站将进入等待应答状态,并且启动-个响应超时。它防止主站不确定地停留在等待应答状态下。响应超时的时间与具体应用有关。-一一当收到一个应答时,主站在处理数据之前检验应答。在某些情况下,检验的结果可能为错误,例如g收到来自非期望从站的应答或在接收到的帧中的错误。收到来自非期望从站的应答时,响应超时继续计时。如果在帧上检测到差错,可以进行重试。一一如果没有接收到应答,响应超时,并产生一个错误。然后,主站进入空闲状态,并发出一个重试请求.重试的最大次数与主站设置有关.-一一当在串行总线上发送广播请求时,从站不返回响应。然而,主站需要考虑延迟,以便在发送新的请求之前允许从站处理当前请求.

21、这个延迟被称作转换延迟。因此,在返回空闲状态二GB/Z 19582.2-2004 并且能够发送另一个请求之前,主站进入等待转换延迟状态.一一在单播模式下,必须设置足够长的响应超时,以便任何从站处理请求并返回响应,在广播模式下,必须有足够长的转换延迟,以便任何从站只处理请求并能够接收新请求.因此,转换延迟应该比响应超时短。在9600 bit/ s速率时,典型的响应超时值为从1秒到几秒,而转换延迟为从100ms-200 mso 一一帧错误包括,1)每个字符的奇偶校验,2)整个帧的冗余校验.详细解释见6.60状态图本身是非常简单的.它没有考虑对链路的访问、报文帧及在传输错误之后的重试等.有关帧传输的

22、细节见6.506.4.2 从站状态图图9说明了从站的动作空闲正常应害宜送格式化E常应替接收请求来自主站检查OK校验请求上述状态图的一些解释为z蛙理结束f单揭模式处理所要靠的胡作请求量据中的错误蛙理时出错图9从站状态图一一状态空闲=无待决请求。这是电源加电后的初始状态.错误应害盎送蛙理结束广播模式格式化错误应替帧校瞌中出错或不是对该从站寻址的帧一一当收到一个请求时,在处理请求中要求的动作之前,从站校验报文包。可以出现不同错误g请求的格式错误、无效动作-HH.当检测到错误时,必须向主站发送应答.一一当完成请求的动作之后,单播报文要求必须格式化应答并将其发送给主站。一一如果从站检测到接收帧中的错误,

23、那么不向主站返回响应。一一任何从站应该定义并管理Modbus诊断计数器,以便提供诊断信息。通过使用Modbus诊断功能码可以得到这些计数值(见附录A和附录D中Modbus应用协议规范)0 6.4.3 主站/从站通信时序图图10表示了3种典型的主站/从站通信的时序图.6.5 两种串行传输模式定义了两种串行传输模式:RTU模式和ASCII模式。定义了链路上串行传送报文域的位内容.它确定了信息如何打包为报文域和如何解码。在Modbus串行链路上,所有设备的传输模式(及串行口参数)必须相同.尽管在某些特定应用中要求ASCII模式,但只有每个设备都有相同的模式才能进行Modbus设备之间的互操作z所有设

24、备必须实现RTU模式。ASCII传输模式是一个选项.用户应该将设备设置成所期望的模式zRTIJ或ASCII模式.默认设置必须为RTU模式.6 一1- -主姑从站1JA站N物理链路l i E从姑1请草蛙理数据交换z舟析应害井准备后续量据交换应替转换延迟广播最据主换z图10主站/从站通信时序图注1,请求.应答、广播阶段的持续时间与通信特征(帧长度和吞吐量)有关。注2,等待和处理阶段的持续时间与从站应用所需的请求处理时间有关.6.5.1 RTU传输模式GB/Z 19582.2-200.4 响应超时请草|iE从站N无应替量据吏拽i+1 当设备在Modbus串行链路上使用RTU(远程终端单元)模式通信时

25、,报文中每个8位字节含有两个4位十六进制字符。这种模式的主要优点是在相同的波特率下其较高的字符密度具有比ASCII模式更高的吞吐率。必须以连续的字符流传输每个报文。RTU模式中每个字节(11位的格式为2编码系统28位二进制每个字节的位g报文中每个8位字节含有两个4位十六进制字符(0-9、A-F)1个起始位8个数据位,首先发送最低有效位1个奇偶校验位1个停止位偶校验是要求的。也可以使用其他模式(奇校验、无校验为了保证与其他产品的最大兼容性,建议还支持无校验模式.默认校验模式必须是偶校验.注g使用无校验时要求2个停止位.如何串行地传送字符s发送每个字符或字节的顺序是从左到右(见图11): 最低有效

26、位(LSB).最高有效位(MSB)青偶校验3 4 5 固11RTU模式申的位序列通过配置,设备可以接受奇校验、偶校验或无校验。如果无校验,那么传送一个附加的停止位来填充字符帧使其成为完整的11位异步字符(见图12.图13)g7 一一一丁_j L一GB/Z 19582.2-2004 无青铜校验图12RTU模式中的位序列(无校验的特殊情况帧校验域2循环冗余校验(CRC)帧描述s从站功能码地址1宇节1宇节图13最大ModbusRTU帧是256个字节。6. 5. 1. 1 Modbus报文RU帧见图14,因15。量据CRC 。-252宇节2字节主EC低位p.c高位RTU报文帧传送设备将Modbus报文

27、放置在带有已知起始和结束点的帧中。这就允许接收新帧的设备在报文的起始处开始接收,并且知道报文传输何时结束。必须能够检测到不完整的报文,并且必须作为结果设置错误标志。在RTU模式中,时长至少为3.5个字符时间的空闲间隔将报文帧区分开。在后续的部分,称这个时间区间为5 1, 帧1帧2MQdbus报立坦始地址功能码;=: 3. 5字持8位8位图14必须以连续的字符流发送整个报文帧。量据NX8位RTU报文帧帧3 3. 5个字符4.5个字符CRC校验结束16位注3.5字符如果两个字符之间的空闲间隔大于1.5个字符时间,那么认为报文帧不完整,并且接收站应该丢弃这个报文帧。s 帧1正常。11 11 I t

28、11 I1 11 1 11 I f 运1.5个字骨帧2不正常1.5个字符图15Modbus帧内间隔注2实现了RTU接收的驱动程序会隐吉着对自t1.5和t3.5定时器引起的大量中断的管理.在较高的通信波特率下,这将导致CPU负担加重.因此,当波特率等于或低于19200 bit/s时,必须严格地遵守这两个定时,波特率大一GB/Z 19582.2-2004 于19200bit/s的情况下,两个定时器应该使用固定值2建议字符间超时时间(t1.5)为750阳,帧间的超时时间(t3.S)为1.750 ms. 图16描述了RTU传输模式的状态图。主站和从站均在相同的图中表示g(CRC、青回校验、从站地址,.

29、标志=帧正常或平正常接收到字符/标志=帧不正常常帧常正个正帧不整帧理帕除L果蛙果删如。如。控制和等待t 3.6定时时初始状事5定时时间到13.5定时时间到接收到第一个字符/韧始化和启动1.6./3.5接收到宇符/初始化井启动f1. 5、3.5接收空闲好接收或盎送t 3. 5直时时间到要卓发送u定时嚣3.613.5个宇骨11.51 1. 5个字符直送字符如果为最后宇符/初始化井启动136主迭RTU传输模式的状态图图16上述状态图的一些解释z一一从初始状态到哇闲状态转换需要135超时达限s这保证帧间延迟.一一空闲状态是没有发送和接收报文要处理的正常状态。一一在RTU模式中,当至少3.5个字符的时间

30、间隔之后没有传输激活时,称通信链路为空闲状态。一当链路在空闲状态时,在链路上检测到的任何传输的字符被视为帧起始。链路进入激活状态.然后,当时间间隔hs之后链路上还没有传输字符时,视为帧结束。检测到帧结束之后,执行CRC计算和校验.然后,分析地址域来确定帧是否发往这个设备.如果不是发往这个设备,那么丢弃这个帧。为了减少接收处理时间,在接收到地址域而不需要等到整个帧结束,就可以分析地址域.这样.CRC计算和校验只需要在帧寻址到该节点(包括广播帧)时进行。6.5. 1. 2 CRC校验RTU模式包含一个差错校验域,该域是基于循环冗余校验(CRC)方法对全部报文内容执行的.CRC域校验整个报文的内容。

31、无论单个字符报文使用何种奇偶校验,均应用这种CRC校验.CRC包含两个8位字节组成的一个16位值.CRC域作为报文的最后域附加到报文上。当进行这种附加时,首先附加域的低位字节,然后附加域的高位字节.CRC高位字节是报文中发送的最后字节。将CRC附加到报文上的发送设备计算CRC值。在接收报文过程中,接收设备重新计算CRC值,并将计算值与CRC域中接收到的实际CRC值相比较。如果两个值不相等,则产生错误.通过对一个16位寄存器预装载全1来启动CRC计算。然后,开始将后续报文中的8位字节与当前寄存器中的内容进行计算。只有每个字符中的8个数据位参与生成CRC的计算.起始位、停止位和校验位不参与CRC计

32、算。在生成CRC过程中,每个8位字符与寄存器中的值异或。然后,向最低有效位(LSB)方向移动这个结果,而用零填充最高有效位(MSB)。提取并检查LSB。如果LSB为1.则寄存器中的值与一个固定的预置值异或P如果LSB为O.则不进行异或操作。9 GB/Z 19582.2-2004 这个过程将重复直到执行完8次移位。完成最后一次(第8次)移位之后,下一个8位字节与寄存器的当前值异或,然后像上述描述的那样重复8次这个过程。当已经计算所有报文中字节之后,寄存器的最终值就是CRC。当将CRC附加到报文上时,首先附加低位字节,然后附加高位字节.附录B中包含产生CRC的详细实例。6.5.2 ASCn传输模式

33、当使用Ascn(美国信息交换标准代码)模式设置设备在Modbus串行链路上通信时,用两个ASCII字符发送报文中的一个8位字节.当通信链路或者设备不能满足RTU模式的定时管理要求时,使用该模式.注z由于每个字节需要两个字符发送,所以这种模式比RTU模式效率低.实例2将字节Ox5B编码为两个字符:Ox35和Ox42(用ASCII表示的Ox35=5,Ox42=B) ASCII模式中每个字节00位)的格式为z编码系统2十六进制.ASCII字符。9、AF报文中每个ASCII字符含有1个十六进制字符每个字节的l:1个起始位7个数据位,首先发送最低有效位1个奇偶校验位1个停止位偶校验是要求的.也可以使用其

34、他模式(奇校验、无校验).为了保证与其他产品的最大兼容性,建议还支持元校验模式.默认校验模式必须是偶校验.注s使用元校验时要求2个停止位.如何串行地传送字符2发送每个字符或字节的顺序是从左到右(见图17):最低有效位(LSBl.最高有效位(MSB)青铜校验2 3 4 5 6 7 图17ASCn模式中的位序列通过配置,设备可以接受奇校验、偶校验或无校验.如果无校验,那么传送一个附加的停止位来填充字符帧(见图18):无奇偶校验图18ASC II模式中的位序列(无校验的特殊情况)帧校验域g纵向冗余校验(LRC)6. 5. 2. 1 Modbus报文Ascn帧传送设备将Modbus报文放置在带有已知起

35、始和结束点的帧中。这就允许接收新帧的设备在报文的起始处开始接收,并且知道报文传输何时结束。必须能够检测到不完整的报文,并且必须作为结果设置错误标志。报文帧的地址域包含两个字符。10 GB/Z 19582.2一2004在ASCn模式中,用特定的字符将报文划分为帧起始和帧结束.一个报文必须以一个冒号气:) 字符(十六进制Ascn3A)起始,以回车一换行(CRLF)(十六进制AscnOD和OA)结束.注z可以通过特定的Modbus应用命令改变LF字符(见Modbus应用协议规范对于所有的域来说,允许传输的字符为十六进制。-9,A-F(ASCn编码)。设备不断地监视总线上的冒号字符。当收到这个字符之后

36、,每个设备译码后续字符直到检测到帧结束为止.报文中字符间的时间间隔可以达1s。如果出现更大的问隔,则正在接收的设备认为出现错误。因19表示了一个典型的报文帧.起始地址功能码量据LRC 结束斗1个2个字符2个宇骨O2x252个字符2个字符2个字符宇骨CR、LF图19ASCn报文帧注:每个字符字节需要用两个字符编码.因此,为了在Modbus应用级上确保ASCrr模式和RTU模式兼容,ASCrr数据域(2x252)最大数据长度为RTU数据域(252)的两倍.因此,ModbusASC n帧的最大长度为513个字符.在图20(状态图中综述了ASCn报文帧的要求.主站和从站均在相同的图中表示z芷送LF请求

37、直送发送开始芷送飞发送空闲接收飞宇符准岳盎送或接接收四控制帧(LRC、奇、偶校塾、从站地址注,如果帧E常蛙理帧如果帧不正常。删除整个帧接收CR等待帧结束发量所有字E送CR盎迭结束图20ASCn传输模式的状态图上述状态图的一些解释z一一空闲状态是没有发送和接收报文要处理的正常状态。., .宇符/冲区接收接收.I 字符/清空接收埋忡区接收宇符/将宇符放到接收埋冲区每次接收到:字符表示新报文的开始。如果在一个报文的接收过程中收到这个字符,则当前报文被认为不完整并被丢弃.然后,分配一个新接收缓冲区.-一检测到帧结束之后,执行LRC计算和校验。然后,分析地址域来确定帧是否发往这个设备.如果不是发往这个设

38、备,那么丢弃这个帧。为了减少接收处理时间,在接收到地址域而不需要等到整个帧结束,就可以分析地址域.6.5.2.2 LRC校验在ASCn模式中,报文包含一个差错校验域,该域是基于对全部报文内容执行的纵向冗余校验(LRCl计算结果,不包括起始自号和结束CRLF对.无论单个字符报文使用何种奇偶校验,均应用GB/Z 19582.2-2004 这种LRC校验.LRC域是一个字节,包含一个8位二进制值。发送设备计算LRC值,将LRC值附加到报文中.在接收报文过程中,接收设备重新计算LRC值,并将计算值与LRC域中接收到的实际值相比较.如果两个值不相等,则产生错误.对报文中的所有连续8位字节相加,忽略任何进

39、位,计算LRC.然后求出其二进制补码.根据不包括报文起始冒号和报文结束CRLF对的整个ASCII报文域内容进行LRC。在ASCII模式中.LRC的结果被编码为两个字节的ASCII.并将其放置CRLF之前的ASCII模式报文帧的结尾处.6.6 附录B含有LRC生成的详细实例.差错校验方法标准Modbus串行链路的安全性是基于两种差错校验2一一应该将奇偶校验(偶或奇应用于每个字符。一一必须将帧校验(LRC或CRC)应用于整个报文。在发送的设备(主站或从站)中生成字符校验和帧校验,并且在发送前将其附加于报文体。在接收时,设备(主站或从站)校验每个字符和整个报文。用户配置主站为在放弃事务处理前等待一个

40、预定的超时间隔(响应超时)。设置这个间隔有足够的时间,以便任何从站正常地响应(单播请求)0如果从站检测到事务处理错误,则报文将不起作用.从站将不会对主站响应。因此,超时时间将达限,并且允许主站的程序处理错误。对不存在的从站设备寻址的报文也会产生超时错误.6.6. 1 奇偶检验用户可以配置设备使用偶(要求的)或奇校验或元校验(建议的)0这将确定如何设置每个字符的奇偶位.无论规定了偶校验还是奇校验,都是计算每个字符数据部分中为1的位的总数(ASCII模式有7个数据位.RTU模式有8个数据位)0然后,将奇偶位设置为0或1,以便产生为1的位的偶数或奇数.例如.RTU字符帧中包含的8个数据位是g1100

41、 0101 这个帧中为1的位的总数为40如果使用偶校验,帧的奇偶位为O.使为1的位的总数仍然为偶数(4),如果使用奇校验,帧的奇偶位为1.使为1的位的总数为奇数(5)。当发送报文时,计算奇偶位,并将其附加到每个字符帧.接收的设备计算为1的位的数量,并且如果与设备配置不同,则设置错误标记(必须将Modbus串行链路上的所有设备配置成使用相同的奇偶校验方法奇偶校验只能检测到传输过程中一个字符帧中增加或丢失奇数个位的错误。例如2如果使用奇校验,含有3个为1的位的字符帧中丢失了2个为1的位,而结果仍然为奇数个为1的位。如果没有规定奇偶校验,不会传送奇偶位,也不能进行奇偶校验.传送一个附加的位来填充字符

42、帧。6.6.2 帧检验根据传输模式(RTU模式或ASCII模式)使用两种帧校验方法。一一在RTU模式中,报文包含一个基于循环冗余校验(CRC)方法的差错校验域oCRC域校验整个报文的内容.无论单个字符报文使用何种奇偶校验,均应用这种CRC校验.在ASCII模式中,报文包含一个基于纵向冗余校验(LRC)方法的差错校验域,不包括起始冒号和结束CRLF对.元论单个字符报文使用何种奇偶校验,均应用这种LRC校验。有关差错检验方法的详细内容见前面的章节.J GB/Z 19582.2-2004 物理层7 Ili-)iiill 7. 1 引言新的串行链路上的Modbus解决方案应该按照附录D中EIA/TIA

43、-485标准(也称RS485标准)实现电气接口.该标准允许两线配置的点对点和多点系统。此外,一些设备可以实现四线RS485接口.设备还可以实现RS232接口.在这种Modbus系统中,一个主站设备和一个或几个从站设各在一个无源串行链路上进行通信。在标准的Modbus系统中,在一条由3根导线组成的干线电缆上连接所有设备(并行其中两条导线(两线配置)形成一对平衡双绞线,在这个双绞线上双向传送数据,典型的速率为9600 bit! s。每台设备可按如下方法连接(见图21),一一-或是直接连接到干线电缆上,形成菊花链g一一或是经分支电缆连接到一个无源分支器;一一-或是经专用电缆连接到一个有源分支器。在设

44、备上,可以使用螺钉端子RJ45或9芯D型连接器与电缆连接(见7.5)。7.2 敛据债号传输速率9 600 bit! s和19.2kbit凡是要求的。19.2kbit凡是要求的默认值。可以有选择地实现其他波特率,1200 bit!s、2400 bit! s. 4 800 bit! s38 400 bit! s、56kbit! s、115 kbit!s. 在发送的情况下,每种实现的波特率精度必须高于1%;在接收的情况下,必须允许2Yo误差。7.3 电气接口7.3. 1 多点串行总线结构图21表示了Modbus多点串行链路系统中串行总线的总体结构.LT IDv AUI M.J,.M-.I l 从站2

45、图21串行总线结构Modbus多点串行链路系统是由主电缆(干线和一些可能的分支电缆组成。在干线电缆的两端需要线路终端以使阻抗匹配(详细情况分别见7.3. 2和7.3.3)0如图21所示,不同的实现可以在相同的Modbus串行链路系统中运行z一一将集成通信收发器的设备通过无源分支器和分支电缆连接到干线上(例如2从站1和主站h-一将没有集成通信收发器的设备通过有源分支器和分支电缆连接到干线上(有源分支器集成了收发器)(例如s从站2); 一一将设备以菊花链形式直接连接到干线电缆上(例如E从站n)olTr : M.站n-站主有源分直器lTr 无商卦主楼LT 川立三上J:l 从站1: 13 一一一一L一GB/Z 19582.2-2004 采用下列约定:一一干线间的接口称为ITr(干线接口); 一一设备和无源分支器间的接口称为IDv(分支援口h一一设备和有源分支器间的接口称为AUI(附加单元接口)。注1,在某些情况下,可以直接将分支器连接到设备的IDv插槽或AUl插槽上,而不使用分支电缆.注2,一个分支器可以有多个IDv插槽来连接多台设备。当它是元源分支器时,称这个分支器为分配器.注

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 标准规范 > 国家标准

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1