ImageVerifierCode 换一换
格式:PDF , 页数:54 ,大小:1.21MB ,
资源ID:269632      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-269632.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(GB Z 19582.1-2004 基于Modbus协议的工业自动化网络规范 第1部分;Modbus应用协议.pdf)为本站会员(卡尔)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

GB Z 19582.1-2004 基于Modbus协议的工业自动化网络规范 第1部分;Modbus应用协议.pdf

1、-t. GB/Z 19582.1 2004 、,工业王rI王|于Modbus共ICS 25.040 N 10 2005-03-01实Modbus industrial automation network specification Part 1 ,Modbus application protocol 2004-09-21发布1立!Modbus 发布中华人民共和国国家质量监督检验检菇总局中国国家标准化管理委员会飞/由耐叫,苟jf-V飞二二GB/Z 19582.1-2004 目次前言II 范围. . . . 2 规范性引用文件. . . . . . . . . . . . . . . . .

2、. 1 3 缩略i吾. . . . . . . . . . . . . . . . . 2 4 背景概要25 总体描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 5. 1 协议描述. . . . . . . . . . . . 3 5.2 数据编码. . . . . . . . . . . . . . . . . . . . . . 4 5.3 Modbus数据模型. . . . . . . . . . . . . . 4 5.4 Modbus寻址模型. . .

3、. . 6 5.5 Modbus事务处理的定义. 6 功能码分类. . . . . . . 6. 1 公共功能码定义.8 7 功能码描述. . . . . . . . . . . . . . . . 9 7.1 ol(OxOl)读线圈.9 7.2 02凶幻读离散量输入. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 0 7.3 03(Ox03l读保持寄存器. . . . 12 7.4 04(Ox04l读输入寄存器. . . . 14 7.5 05(Ox05l写单个线圈. 15 7.6

4、06刘写单个寄存器. . . . . . . 16 7.7 07刘7)读异常状态(仅用于串行链路). 18 7.8 08(Ox08)诊断(仅用于串行链路). . . 19 7.9 11(0xOB)获得通信事件计数器(仅用于串行链路)., . . . . 23 7.10 12(OxOCl获得通信事件记录(仅用于串行链路). . . ., . . . . . . 24 7.11 lS(OxOF)写多个线圈27 7.12 16对写多个寄存器29 7.13 17x11)报告从站!D(仅用于串行链路). . .,. 30 7.14 20/6(Ox14/0x06)读文件记录. . . . . 31 7.1

5、5 21/6(Ox15/0xO的写文件记录. . 33 7.16 22(Ox16)屏蔽写寄存器. 36 7.17 23对门读/写多个寄存器. . .,. . . . . . . . 37 7.18 24(Ox18l读FIFO队列.40 7.19 43(Ox2B)封装接口传输.41 7.20 43月以扭/OxOE)读设备标识48 Modbus异常响应. ,. . . . . 47 附录A(资料性附录)参考文献. . . . . . .,. . . . 50 4 GB/Z 19582.1-2004 IlU 本指导性技术文件包括两个通信规程中使用的Modbus应用层协议和服务规范一一串行链路上的Mo

6、dbusModbus串行链路基于TIA!EIA标准,232F和485AoTCP/IP上的ModbusModbus TCP/IP基于IETF文件RFC793和RFC7910 串行链路和TCP/IP上的Modbus是根据相应ISO分层模型说明的两个通信规程。下图强调指出了本指导性技术文件的主要部分。深色方框表示规范,浅色方框表示己有的国际标准(TIA/EIA和IETF标准)。Modbus 应用lI!it细报Modbu.s她说在仔链黯i上的实现指南, TIAlEIA.232-F TIAiEIA-.485.A i 基于Modbus协议的工业自动化网络规范分为三部分。一一第1部分,Modbus应用协议十

7、第2部分,Modbus协议在串行链路上的实现指南第3部分,Modbus协议在TCP/IP上的实现指南帚TCPJIP I3 lETf. RFC 193 J IP I!,YF RF.C .791 严;全以虫;同物理层Modbust协议在TC?iIP土的实现指南第1部分描述了Modbus事务处理;第2部分提供了一个有助于开发者实现串行链路上的Modbus应用层的参考信息;第3部分提供了一个有助于开发者实现TCP/IP上的Modbus应用层的参考信息。本部分的附录A是资料性附录。本部分由中国机械工业联合会提出。本部分由全国工业过程测量和控制标准化技术委员会归口。本部分起草单位:机械工业仪器仪表综合技术

8、经济研究所、北京交通大学现代通信研究所、上海自动化仪表股份有限公司、施耐德电气(中国)投资有限公司、冶金工业钢铁研究总院、宝钢集团上海宝信软件股份有限公司。本部分主要起草人欧阳劲松、孙昕、刘铁椎、冯晓升、王勇、张荣生、丛力群、段永康。I GB/Z 19582.1-2004 1 范固基于Modbus协议的工业自动化网络规范第1部分:Modbus应用协议Modbus是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机/服务器通信,见图1.从1979年开始,Modbus作为工业串行链路的事实标准,Modbus使成千上万的自动化设备能够通信。目前,对简单而精致的M

9、odbus结构的支持仍在增长。互联网用户能够使用TCP/IP钱上的保留系统端口502访问Modbus,Modbus是一个请求/应答协议,并且提供功能码规定的服务。Modbus功能码是Modbus请求/m答PDU的元素。本部分描述了Modbus事务处理框架内使用的功能码。Modbus是一种应用层报文传输协议,用于在通过不同类型的总线或网络连接的设备之间的客户机/服务器通信。目前,通过下列方式实现Modbus通信:-一以太网上的TCP/IP,各种介质(有线:EIA/TIA232F、EIA422、EIA/TIA485A,光纤、无线等等)上的异步串行传输cModbus PLUS,一种高速令牌传递网络。

10、Modbus应用层严A叫,fi,可,_,-,ii飞飞町吨呛F;jiiF 其他:.MODBUS唱皿C主站/且姑iMm低11/8023! 其他物理层气81A/TIA.232或.以武阿叫J h J Jmm品485:li 物理层.图1Modbus通信核2 规范性引用文件下列文件中的条款通过GB/Z19582本部分的引用而成为本部分的条款。凡是注日期的引用文件,其随后所有的修改单(不包括勘误的内容)或修订版均不适用于本部分,然而,鼓励根据本部分达成协议的各方研究是否可使用这些文件的最新版本。凡是不注日期的引用文件,其最新版本适用于本部分。GB/T 15969 可编程序控制器RFC 791 , Inter

11、net Protocol ,Sep81 DARPA 警参考文献【lJ,1 一一GB/Z 19582.1-2004 3 缩略i喜ADU(Application Data Unit) HDLC(High Level Data link control) HMI(Human Manchine Interface) IETF(lnternet Engineering Task Force) I/O(lnput/Output) IPOnternet Protocol) LSB(Least Significant Bit) MAC(Medium Access Control) MB(Modbus Prot

12、ocol) MBAP(MODBUS Application Protocol) 扎1EI(MODBUS Encapslated Interface) MSB(Most Significant Bit) PDU(Protocol Data Unit) PLC(Programmable Logic Controller) RFC(Request For Comment) TCP(Transport Control Protocol) 4 背景概要应用数据单元高级数据链路控制人机界面互联网工程工作组输入/输出互联网协议最低有效位介质访问控制Modbus协议Modbus应用协议Modbus封装接口最高

13、有效位协议数据单元可编程逻辑控制器请求评注传输控制协议Modbus协议可以方便地在各种网络体系结构内进行通信,见图2,基于MB+的Modbus?LC I PlC HMJ HM1 基于RS232的Modbus世岳图2Modbus网络体系结构的实例I1.C巳P!.C世岳每种设备(PLC、HMI、控制面板、变频器、运动控制、1/0设备)都能使用Modbus协议来启动远程操作。同样的通信能够在基于串行链路和以太网TCP/IP网络上进行。网关能够实现在各种使用Modbus协议的总线或网络之间的通信。GB/Z 19582.1-2004 5 总体描述5. 1 协议描述Modbus协议定义了一个与基础通信层无

14、关的简单协议数据单元(PDU)。特定总线或网络上的Modbus协议映射能够在应用数据单元(ADU)上引人一些附加域,见图3。附加地址厄五!i!l.-. . !数据二lC豆EPDL 图3通用Modbus帧启动Modbus事务处理的客户机创建Modbus应用数据单元。功能码向服务器指示将执行哪种操作。Modbus协议建立了客户机启动的请求格式。用一个字节编码Modbus数据单元的功能码域。有效的码字范围是十进制1-255028-255为异常响应保留)。当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作.向一些功能码加人子功能码来定义多项操作。从客户机向服务器设备发送的报文数据域包括附

15、加信息,服务器使用这个信息执行功能码定义的操作。这个域还包括离散量和寄存器地址、处理的项目数量以及域中的实际数据字节数。在某种请求中,数据域可以是不存在的(0长度),在此情况下服务器不需要任何附加信息。功能码仅说明操作。如果在一个正确接收的ModbusADU中,不出现与所请求的Modbus功能有关的差错,那么服务器至客户机的响应数据域包括所请求的数据。如果出现与所请求的Modbus功能有关的差错,那么该域包括一个异常码,服务器应用能够使用这个域确定下一个执行的操作。例如,客户机能够读-组离散量输出或输入的开/关状态,或者客户机能够读/写一组寄存器的数据内容。当服务器对客户机响应时,它使用功能码

16、域来指示正常(元差错响应(见图4)或者出现某种差错(称为异常响应),见图5。对于个正常响应来说,服务器仅复制原始功能码。一一一客户机服务器| 启动些主 功能码| 盘据请求i i 功能码1 盘据响阳i 主旦旦旦图4Modbus事务处理(无差错)执行操作启动响应对于异常响应,服务器将原始功能码的最高有效位设置逻辑1后返回。3 GB/Z 19582.1一2004客户机启动请求功能码量据请求接收响应服务器在操作中植测量错启功量错E王瑞i4.r,可再71图5Modbus事务处理(异常晌应)注:需要超时管理,以避免元限期地等待可能不会出现的应答。Modbus最初在串行链路上的实现(最大RS485 ADU=

17、256字节)限制了ModbusPDU的长度。因此,对串行链路通信来说.Modbus PDU = 256一服务器地址(1字节)一CRC(2字节)= 253 字节。从而gRS 232/RS 485 ADU=253字节+服务器地址。字节)十CRC(2字节)=256字节。TCP Modbus ADU=253字节十MBAP(7字节)=260字节。Modbus协议定义了三种PDU。它们是-Modbus请求PDU.mb_req_pdu; Modbus响应PDU.mb_rsp_pdu ; Modbus异常响应PDU.mb_excep_rsp_pduo 定义mb_req_pdu为zmb_req_pclu= fu

18、nction_code , request_data ,其中function_code; 1字节Modbus功能码。request_data; n字节.这个域与功能码有关,并且通常包括诸如参考变量、变量计数、数据偏移量、子功能码等信息。定义mb_rsp_pdu为2mb_rsp_pdu = function_code, response_data ,其中function_code; 1字节】Modbus功能码。response_data: n字节,这个域与功能码有关,并且通常包括诸如参考变量、变量汁数、数据偏移量、子功能码等信息。定义mb_excep_rsp_pdu为2mb_excep_rsp_

19、pdu= function_code , request_data ,其中function_code; 1字节JModbus功能码十Ox80oexception_code: 1字节.在第7章中定义了Modbus异常码。5.2 数据编码Modbus使用最高有效字节在低地址存储的方式表示地址和数据项。这意味着当发送多个字节时,首先发送最高有效字节。例如寄存器大小值16位Ox1234注2更详细的信息参见IJ.5.3 Modbus数据模型发送的第一字节为Ox12 然后Ox34Modbus的数据模型是以一组具有不同特征的表为基础建立的。4个基本表见表1; 4 一一一一一一一GB/Z 19582.1-20

20、04 表1基本表对象类型访问类型注释同散量输入单个位只读1/0系统可提供这种类型数据线圈单个位读写通过应用程序可改变这种类型数据输入寄存器16位字只读1/0系统可提供这种类型数据保持寄存器16位字读写通过应用程序可改变这种类型数据输入与输出之间以及位寻址的和字寻址的数据项之间的区别并不意味着应用特性的差别。如果所有4个表相互覆盖是对该目标机器最自然的解释,也是完全可接受的,而且很普遍。对于每个基本表,协议都允许单个地选择65536个数据项,而且其读写操作被设计为可以越过多个连续数据项直到数据大小规格限制,这个数据大小规格限制与事务处理功能码有关。很显然,必须将Modbus处理的所有数据(位,寄

21、存器)放置在设备应用存储器中。但是,存储器的物理地址不应该与寄存器编号混溃。仅要求将寄存器编号与物理地址链接。Modbus功能码中使用的Modbus寄存器逻辑编号是以0开始的元符号整数索引。Modbus模型实现的实例下列实例表示了两种在设备中组织数据的方法。有多种组织数据的方法,在本部分中没有被全部描述。每个设备根据其应用都有它自己的组织数据的方法。实伊tl1,有4个独立块的设备图6表示了含有数字量和模拟量、输入量和输出量的设备中的数据组织。由于不同块中的数据不相关,每个块是相互独立的。可通过不同Modbus功能码访问每个块。世岳应用存储器Modbus由问输入离散量一主主-k坐坐y 保持寄存器

22、Modbu5服务器世备图6带有独立块的Modbus数据模型实例2,仅有1个块的设备图7实例中,设备仅有1个数据块。通过几个Modbus功能码能够得到相同数据,既可通过16位访问也可通过1位访问。5 G/Z 19582.1-2004 5.4 世备应用在储器Modbus由问输入南散量主线罔输寄存器但持寄存器Modbus服务量世晶图7仅带有1个块的Modbus鼓据模型Modbus寻址模型Modbus应用协议精确地定义了PDU寻址规则。在MUDBUSPDU中,从O65535寻址每个数据。Modbus应用协议还明确地定义了由4个块构成的Modbus数据协议,每个块由几个编号为ln的元素构成。5.5 6

23、在Modbus数据模型中,从ln编号数据块中的每I.Iu.m。然后,必须将Modbus模型与设备应用结合CGBjT15969)。Modbus数据模型和设备应用之间的映射完全与特定设备相关。i j圭里Ljj面ihls盟据模型 Modbus PDU地址i -vfJ!i川击输入03 i i 一一一一-一一了马之立i_:=_-:二二二二二二-,! ;:LT?让离散输入iif i 卜寸二间上Ut-2iji 勺ii:广一一丁-LL一贯主垫上一i i i;榈寄存器21:一一一一一-U1jT丑盟:;i丁.$1面可与川图8Modbus寻址映射图8表示了用ModbusPDU的X-1寻址编号为X的Modbus数据。

24、Modbus事务处理的定义图9是状态图,描述了在服务器侧Modbus事务处理的一般处理过程。GB/Z 19582.1一2004等恃MB的指示立飞f有敢酬的敢言?地址异常码1无敷异常码2f无娃f有效、有踵的盘据值异常码456一无撞t有敢异常剧3王强芷送Modbus异常响应有敢发送Modhus响应图9Modbus事务处理的状态图一旦服务器处理请求,使用合适的Modbus服务器事务处理建立Modbus响应。根据处理结果,可以建立两种类型响应:一个正常的Modbus响应2响应功能码=请求功能码。一个异常的Modbus响应(见第8章): 1) 用来为客户机提供处理过程中与所发现的差错相关的信息;2) 异

25、常功能码=请求功能码+Ox80;3) 提供一个异常码来指示差错原因。6 功能码分类有三类Modbus功能码,见图100它们是2公共功能码1) 被确切定义的功能码$2) 保证是唯一的g3) 由Modbus.org确认的;4) 公开的文档;5) 可进行一致性测试g们在MBIETF RFC中归档;7) 包含已被定义的公共功能码和保留给未来使用的功能码。一-用户定义的功能码1) 有两个用户定义功能码的区域,即十进制的6572和1001l002) 用户无需Modbus组织的任何批准就可以选择和实现一个功能码。3) 不能保证被选功能码的使用是唯一的。4) 如果用户希望将某种功能设置为一个公共功能码,那么用

26、户必须启动RFC.以便将改变引人公共分类中,并且指配一个新的公共功能码。一一保留功能码某些公司在传统产品上现行使用的功能码,不作为公共使用。7 G/Z 19582.1-2004 1 去共功能码用户 一一一公共功能码公共功能码 卢图10Modbus功能码分类注z在功能码的公共区域中,可以保留一些功能码。6. 1 公共功能码定义见表2,比特访问数据访16比特访问问8 表2物理离散量输入内部比特或物理线圈输入寄存器内部存储器或物理输出存储器文件记录访问诊断其他读离散量输入读线固写单个线图写多个线圈读输入寄存器读多个寄存器写单个寄存器写多个寄存器读/写多个寄存器屏蔽写寄存器读FIFO队列读文件记录写文

27、件记录读异常状态诊断获得公用事件计数器获得公用事件记录报告从站ID读设备识别码封装接口传输功能码码子码(十六进制02 02 01 01 05 05 15 OF 04 04 03 03 06 06 16 10 23 17 22 16 24 18 20 6 14 21 自15 07 斗08 00-18 11 0日12 。c17 11 43 14 2B 43 2日GB/Z 19582.1-2004 7 功能码描述7.1 01Ox01)读线圈见用11和表3表5。使用该功能码从一个远程设备中读12000个连续的线圈状态曰请求PDU指定了起始地址,即指定了第一个线固地址和线圈数目.在PDU中,从17C十六

28、进制11)返回从站忙计数晌应数据域返回上一次重启动、清除计数器操作或加电之后对返回从站设备忙异常响应的远程设备寻址的报文数量。子功能数据域(请求)0011 0000 数据域(响应从站设备忙,从零开始寻址线圈。因此编号116的线圈寻址为015。响应报文中的线图按数据域的每位一个线圈进行打包。状态被表示成lON和OOFFo第一个数据字节的LSBC最低有效位包含询问中所寻址的输出。其他线圈依次类推,一直到这个字节的高位端为止,并在后续字节中按照从低位到高位的顺序排列。如果返回的输出数量不是8的倍数,将用零填充最后数据字节中的剩余位(一直到字节的高位端)。字节数量域说明了数据的全部字节数。请求响应错误

29、表3功能码1字节起始地址2字节线圈数量2字节表4功能码1字节字节计数1字节线固状态n字节*1=输出数量/8,如果余数不等于0,那么NN+1.表5功能码l字节异常码1字节去6是一个请求读离散量输出2038的实例z表6请求域名(十六进制)功能01 起始地址Hi。起始地址Lo13 输出数量Hi。输出数量Lo13 OxOl OxOOOO-OxFFFF 1-2000(Ox07DO) OxOl N n=N或N十l功能码十Ox8001或02或03或04响应域名(十六进制)功能。1字节计数03 输出状态27-20CD 输出状态35-286B 输出状态38-3605 9 G/Z 19582.1-2004 将输出

30、2720的状态表示为十六进制字节值CD,或二进制11001101。输出27是这个字节的MSB,输出20是LSBo通常,一个字节的MSB位于左侧,LSB位于右侧。第一个字节的输出从左至右为2720。下一个字节的输出从左到右为35280当串行发送位时,从LSB向MSB传输22027、2835等等。在最后的数据字节中,将输出3836的状态表示为十六进制字节值05,或二进制00000101。输出38是左侧第6个位位置,输出36是这个字节的LSBo用零填充5个剩余高位位。注t用零填充5个剩余位(一直到高位端)0 进入否异常码=01MBlI!务器接收mb,四pdu支持的功能码是OxOOOl输出盘量运Qx0

31、7DO异常码=03吾起始地址=OK和起始地址+输出盘量=OK异常码=02l:取离散量输出=OK异常码=04是MB服务器茸茸mb_rsp MB服务器盎送mb_exception_rsp i且出图11 读线圄状态图7.2 02COx02)读离散量输入见图12和表7表90使用该功能码从一个远程设备中读12000个连续的离散量输入状态。请求PDU指定了起始地址,即指定了第一个离散量输入地址和离散量输入数目。在PDU中,从零开始寻址离散量输入。因此编号116的离散量输入寻址为0150 响应报文中的离散量输入按数据域的每位一个离散量输入进行打包。状态被表示成l=ON和o=OFFo第一个数据字节的LSBC最

32、低有效位)包含询问中所寻址的输入。其他离散量输入依次类推,-直到这个字节的高位端为止,并在后续字节中按照从低位到高位的顺序排列。如果返回的输入数量不是8的倍数,将用零填充最后数据字节中的剩余位(一直到字节的高位端。字节数量域说明了数据的全部字节数。10 1 I 请求响应错误表7功能码l字节起始地址2字节输人数量2字节表8功能码1字节字节计数I字节输入状态N X1个字节N输人数量/8.如果余数不等于O.那么NN+1.表9差错码1字节异常码I字节表10是一个请求读离散量输人197218的实例z表10请求域名(十六进制)功能02 起始地址Hi00 起始地址LoC4 输出数量Hi。输出数量Lo16 域

33、名功能字节计数输入状态204-197输入状态212-205输入状态218-213GB/Z 19582.1-2004 Ox02 OxOOOO-OxFFFF 1-2000(Ox07DO) Ox02 N Ox82 01或02或03或04响应(十六进制)02 03 AC DB 35 将离散量输入204197的状态表示为十六进制字节值AC.或二进制10101100。输入204是这个字节的MSB.输入197是这个字节的LSB.将离散量输入218213的状态表示为十六进制字节值35.或二进制00110101.输入218位于左侧第3位,输入213是LSB。注z用零填充2个剩余位(直到高位端)。11 GB/Z

34、19582, 1-2004 进入否异常码=01MBlII务器接收mb,呵plu主持的功能码是011.0001运输入世量运011.0700异常码=03异常码=02是起始地址=OK和起始地址+输盘量OK是处理请求读耻离散量输入=QK异常码04是MB服务器直选mb_rsp 7, 3 MB围务器宜送mb_exptlon_ rsp 03(Ox03l读保持寄存器见图13和表ll表13,图12读离散量输入的状态图退出使用该功能码从远程设备中读保持寄存器连续块的内容。请求PDU说明了起始寄存器地址和寄存器数量。在PDU中,从零开始寻址寄存器。因此编号116的寄存器寻址为O15,将响应报文中的寄存器数据打包成每

35、个寄存器有两字节。对于每个寄存器,第一个字节为高位字节,第二个字节为低位字节。表11 请求功能码1字节Ox03 起始地址2字节OxOOOOOxFFFF 寄存器数量2字节1125(Ox007D) 表12响应功能码I字节Ox03 字节数l字节2X ;-J 寄存器值NX2字节持N寄存器的数量。12 & GB/Z 19582.1-2004 表13错误差错码1字节Ox83 异常码1字节01或02或03或04表14是一个请求读寄存器108-110的实例:表14请求响应域名(十六进制)域名(十六进制)功能03 功能03 起始地址Hi。字节计数06 起始地址Lo6B 寄存器值Hi008l02 寄存器数量曰:。

36、寄存器值Lo(l08)2B 寄存器数量Lo03 寄存器值HiCl09l00 寄存器值Lo(l09)。寄存器值Hi(l10l。寄存器值Lo(lIO)64 将寄存器108的内容表示为两个十六进制字节值022B.或十进制555。将寄存器109-110的内容分别表示为十六进制0000和0064.或十进制。和100。进入否异常码=01MB服务器接收mb,叫pdu主持的功能码是OxOOOl寄存器!:lOx佣7D异常码=03异常码=02是起始地址OK和起始地址+寄存器盟量=OK读$个寄存器=OK异常码=04是MB服务器发送mb_rsp MB服务器发送mb_ exception_rsp EXIT 图13读保持

37、寄存器的状态图13 GB/Z 19582.1一20047.4 04(Ox04l读输入寄存器见图14和表15表17。使用该功能码从一个远程设备中读1125个连续输入寄存器。请求PDU说明了起始地址和寄存器数量。在PDU中,从零开始寻址寄存器。因此,编号为116的输入寄存器寻址为O15。将响应报文中的寄存器数据打包成每个寄存器为两字节。对于每个寄存器,第一个字节包括高位位,第二个字节包括低位位。表15请求功能码1字节起始地址2字节输入寄存器数量2字节表16响应功能码1字节字节计数1字节输入寄存器W X2字节提N输入寄存器的数量a错误差错码异常码进入否异常码=01表171宇节l字节M服务器接收mbr

38、叫_pdu支持的功能码是QxOOOl运寄存器盘量oxOO7D 异常码=03否异常码=02是起始地址=OK和起始地址+寄存器重,;1OK 语输入寄存器=OK异常码=04是Ox04 OxOOOO-OxFFFF Ox0001-0xOO7D Ox04 2X N Ox84 01或02或03或04MB服务器芷迭mb_rsp MB服务器直选mb_ exceplion _ rsp EXIT 图14读输入寄存器的状态图14 i GB/Z 19582.1-2004 表18是一个请求读输入寄存器9的实例=表18请求响应域名(十六进制)域名(十六进制)卡功能04 功能04 起始地址Hi。字节计数02 起始地址La08

39、 输入寄存器9Hi。输入寄存器数量Hi。输入寄存器9LaOA 输入寄存器数量Lo。1将输入寄存器9的内容表示为两个十六进制字节值。oOA,或十进制10,7.5 05(Ox05)写单个线圈见图15和表19表21,使用该功能码将一个远程设备中的一个输出写为ON或OFF,请求数据域中的常数指定所请求的ON/OFF状态。十六进制值FF00请求输出为ON。十六进制值0000请求输出为OFF,其他所有值均是非法的,并且对输出不起作用。请求PDU说明了被强制的线圈地址。从零开始寻址线圈。因此,编号为1的线圈被寻址为0。线圈值域的常数指定所请求的ON/OFF状态。十六进制值OxFFOO请求线圈为ON。十六进制

40、值。xOOOO请求线图为OFF,其他所有值均为非法的,并且对线固不起作用。请求响应错误正常的响应是请求的复制,在写入线圈状态之后被返回。功能码输出地址输出值功能码输出地址输出值差错码异常码表19I字节2字节2字节表20l字节2字节2字节表211字节1字节Ox05 OxOOOOOxFFFF OxOOOO或OxFFOOOx05 o xOooo 0 xFFFF OxOOOO或OxFFOOOx85 01或02或03或0415 一一寸GB/Z 19582.1-2004 进入否异常码=01MB围务器接收mb,呵pdo支持的功能码是输出值=OxOOOO或OxFFOO 异常码=03是输出地址=OK异常码=02

41、写单个输出=OK异常码=04是MB服每器置送mb_rsp队但服务器茸茸mb_exception _ rsp 图15写单个输出状态图表但是一个请求写线罔173为ON的实例z请求域.g功能输出地址Hi寸输出地址Lo输出值Hi输出值Lo7.6 06COx06l写单个寄存器见图16和表23表25。表22(十六进制)05 。AC FF 。使用该功能码在一个远程设备中写一个保持寄存器。域名功能输出地址Hi输出地址Lo输出值Hi输出值Lo退出响应( 1-六进制)05 。AC FF 00 请求PDU指定了被写人寄存器的地址。从零开始寻址寄存器。因此,编号为1的寄存器被寻址为O.正常的响应是请求的复制,在写入寄

42、存器内容之后被返回。16 请求响应错误一三一功能码寄存器地址寄存器值功能码寄存器地址寄存器值差错码异常码进吾异常码=01表231字节2字节2字节表241字节2字节2字节表251字节1字节MB服费器接收mb,叫pdu支持的功能码oxoooo:;:寄存黯值运OxFFFF异常码=03寄存器地址OK异常码=02写单个寄存器OK异常码=04GB;Z 19582.1-2004 Ox06 OxOOOO-OxFFFF OxOOOO-OxFFFF Ox06 OxOOOO-OxFFFF OxOOOO-OxFFFF Ox86 01或02或03或04MB服务嚣盎送mbrsp MB服费器盎送mb_ exceptlOn

43、_ rsp 图16写单个寄存器状态图表26是一个请求将十六进制0003写入寄存器2的实例2表26请求域名(十六进制)域名功能06 功能寄存器地址Hi。输出地址Hi寄存器地址Lo01 输出地址Lo寄存器值比00 输出值Hi寄存器值Lo03 输出值Lo退出响应(十六进制)06 00 01 00 03 17 GB;Z 19582.1-2004 7.7 07(Ox07)读异常状态(仅用于串行链路)见图17和表27-表29.使用这个功能码从一个远程设备中读8个异常状态输出的内容。因为异常码输出参量是已知的(在这个功能中不需要输出参量),该功能提供一种简单的访问这种信息的方法。正常的响应包括8个异常状态输

44、出的内容。将这些输出打包成一个字节,每个输出一个位。在该字节的最低有效位中包含最低位输出参量的状态e厂功能码响应功能码输出数据错误差错码异常码18 进入否表271字节表281字节1字节表291字节1字节MB服务器接收mb,明pdu支持的功能码ExceptionCode=Ol 是扯理请求读异常状态=OK是异常码=04MB 服务器宜送mbrsp MB固坚器盎送mb_ exceptloR_ rsp 退出图17读异常状态的状态图Ox07 Ox07 OxOO-OxFF Ox87 01或04 GB/Z 19582.1-2004 表30是一个请求读异常状态的实例g表30请求呐应域名(十六进制域名(十六进制)

45、功能07 功能07 输出数据6D 在这个实例中,输出数据是十六进制6D(二进制01101101从左至右,输出为OFF-ON-ONOFF-ON-ON-OFF-ON。按从最高到最低寻址输出的方式显示状态。7.8 08(Ox08)诊断(仅用于串行链路)见表31表330Modbus功能码08提供一系列测试,用于检查客户机(主站)设备与服务器(从站)之间的通信系统,或服务器中的各种内部差错状态.这个功能使用询问中的2个字节的子功能码域来定义所执行的测试类型。服务器在正常的响应中复制功能码和子功能码。一些诊断会导致远程设备通过正常响应的数据域返回相应数据。通常,向远程设备发送诊断功能,不影响远程设备中的用户程序运行。诊断不能访问用户逻辑,例如E离散量和寄存器.某些功能可以任意地复位远程设备

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