MODBUS通讯协议-RTU

上传人:s9****2 文档编号:506443342 上传时间:2023-10-20 格式:DOC 页数:21 大小:192.50KB
返回 下载 相关 举报
MODBUS通讯协议-RTU_第1页
第1页 / 共21页
MODBUS通讯协议-RTU_第2页
第2页 / 共21页
MODBUS通讯协议-RTU_第3页
第3页 / 共21页
MODBUS通讯协议-RTU_第4页
第4页 / 共21页
MODBUS通讯协议-RTU_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《MODBUS通讯协议-RTU》由会员分享,可在线阅读,更多相关《MODBUS通讯协议-RTU(21页珍藏版)》请在金锄头文库上搜索。

1、obus通讯合同(RTU传播模式)本阐明仅做内部参照,具体请参阅英文版本。第一章 Mobu合同简介obus合同是应用于电子控制器上的一种通用语言。通过此合同,控制器互相之间、控制器经由网络(例如以太网)和其他设备之间可以通信。它已经成为一通用工业原则。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。此合同定义了一种控制器能结识使用的消息构造,而不管它们是通过何种网络进行通信的。它描述了一控制器祈求访问其他设备的过程,如果回应来自其他设备的祈求,以及如何侦测错误并记录。它制定了消息域格局和内容的公共格式。当在一Mdbu网络上通信时,此合同决定了每个控制器须要懂得它们的设备地址,辨认

2、按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Mobs合同发出。在其他网络上,涉及了Mdbus合同的消息转换为在此网络上使用的帧或包构造。这种转换也扩展了根据具体的网络解决节地址、路由途径及错误检测的措施。合同在一根通讯线上使用应答式连接(半双工),这意味着在一根单独的通讯线上信号沿着相反的两个方向传播。一方面,主计算机的信号寻址到一台唯一的终端设备(从机),然后,在相反的方向上终端设备发出的应答信号传播给主机。合同只容许在主计算机和终端设备之间,而不容许独立的设备之间的数据互换,这就不会在使它们初始化时占据通讯线路,而仅限于响应达到本机的查询信号。1 1 传播方

3、式传播方式是一种信息帧内一系列独立的数据构造以及用于传播数据的有限规则,以TU模式在odbus总线上进行通讯时,信息中的每位字节提成2个4位16进制的字符,每个信息必须持续传播下面定义了与odebs合同 RU方式相兼容的传播方式。代码系统 8位二进制,十六进制数0.9,A.F 消息中的每个8位域都是一种两个十六进制字符构成每个字节的位 1个起始位 个数据位,最小的有效位先发送 1个奇偶校验位,无校验则无 1个停止位(有校验时),2个it(无校验时) 错误检测域 CR(循环冗长检测) 12 合同当信息帧达到终端设备时,它通过一种简朴的“口”进入寻址到的设备,该设备去掉数据帧的“信封”(数据头),

4、读取数据,如果没有错误,就执行数据所祈求的任务,然后,它将自己生成的数据加入到获得的“信封”中,把数据帧返回给发送者。返回的响应数据中涉及了如下内容:终端从机地址(ddres)、被执行了的命令(Funti)、执行命令生成的被祈求数据(Data)和一种校验码(hec)。发生任何错误都不会有成功的响应。121 信息帧drssuncinDatahec8-it8BitN 8-ts16-i图 1 . 信息帧格式特注:Modbus信息帧所容许的最大长度为256个字节,即N的范畴是不小于等于零且不不小于等于252(N0,252)。即,所有的数据一共256个,数据剩余23个。122 地址(Ades)域信息帧地

5、址域(信息地址)在帧的开始部分,由位构成,有效的从机设备地址范畴0-47(十进制),各从机设备的寻址范畴为-247。主机把从机地址放入信息帧的地址区,并向从机寻址。从机响应时,把自己的地址放入响应信息的地址区,让主机辨认已作出响应的从机地址。地址为广播地址,所有从机均能辨认。当Mobs合同用于高档网络时,则不容许广播或其他方式替代。123 功能(Fuction)域 信息帧功能域代码告诉了被寻址到的终端执行何种功能。有效码范畴1-225(十进制) ,有些代码是合用于所有控制器,有些适应于某种控制器,尚有些保存以备后用。有关功能替代码的所有内容见附录A。当主机向从句发送信息时,功能代码向从机阐明应

6、执行的动作。如读一组离散式线圈或输入信号的N/OF状态,读一组寄存器的数据,读从机的诊断状态,写线圈(或寄存器),容许下截、记录、确认从机内的程序等。当从机响应主机时,功能代码可阐明从机正常响应或浮现错误(即不正常响应),正常响应时,从句简朴返回原始功能代码;不正常响应时,从机返回与原始代码相等效的一种码,并把最高有效位设定为“1”。如,主机规定从机读一组保持寄存器时,则发送信息的功能码为:0000011 (十六进制0)若从机对的接受祈求的动作信息后,则返回相似的代码值作为正常响应。发现错时,则返回一种不正常响信息:00 01(十六进制8)从机对功能代码作为了修改,此外,还把一种特殊码放入响应

7、信息的数据区中,告诉主机浮现的错误类型和不正常响应的因素,不正常响应见附录。主机设备的应用程序负责解决不正常响应,典型解决过程是主机把对信息的测试和诊断送给从机,并告知操作者。表 11列出了所有设备常用的功能码、它们的意义及它们的初始功能。表 11 常用功能码代码名称作用1读取线圈状态获得一组逻辑线圈的目前状态(ONOF)02读取输入状态获得一组开关输入的目前状态(ON/FF)03读取保持寄存器在一种或多种保持寄存器中获得目前的二进制值4读取输入寄存器在一种或多种输入寄存器中获得目前的二进制值05强置单线圈强置一种逻辑线圈的通断状态0预置单寄存器放置一种特定的二进制值到一种单寄存器中07读取异

8、常状态获得8个内部线圈的通断状态5强置多线圈强置一串持续逻辑线圈的通断16预置多寄存器放置一系列特定的二进制值到一系列多寄存器中17报告从机标记可使主机判断编址从机的类型及该从机运营批示灯的状态124 数据域数据域涉及了终端执行特定功能所需要的数据或者终端响应查询时采集到的数据。这些数据的内容也许是数值、参照地址或者极限值。她由数据区有个6进制的数据位(的次方256),数据范畴为00(6进制)。例如:功能域码告诉终端读取一种寄存器,数据域则需要指明从哪个寄存器开始及读取多少个数据,内嵌的地址和数据根据类型和从机之间的不同能力而有所不同。若无错误浮现,从机向主机的响应信息中涉及了祈求数据,若有错

9、误浮现,则数据中有一种不正常代码,使主机能判断并作出下一步的动作。数据区的长度可为“零”以表达某类信息。125 错误校验域该域容许主机和终端检查传播过程中的错误。有时,由于电噪声和其他干扰,一组数据在从一种设备传播到另一种设备时在线路上也许会发生某些变化,出错校验可以保证主机或者终端不去响应那些传播过程中发生了变化的数据,这就提高了系统的安全性和效率,出错校验使用了16位循环冗余的措施,即CC校验。错误检测域涉及一6Bts值(用两个位的字符来实现)。错误检测域的内容是通过对消息内容进行循环冗长检测措施得出的。R域附加在消息的最后,添加时先是低字节然后是高字节。故CC的高位字节是发送消息的最后一

10、种字节。126 字符的持续传播当消息在原则的ous系列网络传播时,每个字符或字节按由左到右的顺序方式发送: 最低有效位(B).最高有效位(MS)。位的序列是: 有奇偶校验启始位234568奇偶位停止位无奇偶校验启始位123456停止位停止位图 1 . 位顺序(RTU) 13 错误检测1、奇偶校验 顾客可以配备控制器是奇或偶校验,或无校验。这将决定了每个字符中的奇偶校验位是如何设立的。 如果指定了奇或偶校验,“1”的位数将算到每个字符的位数中(ACII模式7个数据位,TU中8个数据位)。例如T字符帧中涉及如下8个数据位:1 1 00 1 0 整个“”的数目是4个。如果便用了偶校验,帧的奇偶校验位

11、将是0,便得整个“1”的个数仍是个。如果便用了奇校验,帧的奇偶校验位将是1,便得整个“”的个数是个。 如果没有指定奇偶校验位,传播时就没有校验位,也不进行校验检测。替代一附加的停止位填充至要传播的字符帧中。2、CRC检测TU方式时,采用CC措施计算错误校验码,R校验传送的所有数据。它忽视信息中单个字符数据的奇偶校验措施。循环冗余校验(RC)域占用两个字节,涉及了一种16位的二进制值。CR值由传送设备计算出来,然后附加到数据帧上,接受设备在接受数据时重新计算CRC值,然后与接受到的C域中的值进行比较,如果这两个值不相等,就发生了错误。CC开始时先把寄存器的6位所有置成“”,然后把相邻个位字节的数

12、据放入目前寄存器中,只有每个字符的8位数据用作产生CC,起始位,停止位和奇偶校验位不加到CR中。在生成CRC时,每个位字节与寄存器中的内容进行异或,然后将成果向低位移位,高位则用“0”补充,最低位(SB)移出并检测,如果是,该寄存器就与一种预设的固定值进行一次异或运算,如果最低位为0,不作任何解决。上述解决反复进行,懂得执行完了8次移位操作,当最后一位(第位)移完后来,下一种8位字节与寄存器材的目前值进行异或运算,同样进行上述的另一种8次移位异或操作,当数据帧中的所有字节都作理解决,生成的最后值就是CC值。生成一种CRC的流程为:1、 预置一种16位寄存器为FFH(全1),称之为CRC寄存器。

13、2、 把数据帧中的第一种8位字节与CRC寄存器中的低字节进行异或运算,成果存回寄存器。3、 将RC寄存器向右移一位,最高位填以0,最低位移出并检测。4、 如果最低位为0:反复第3步(下一次移位)。 如果最低位为1:将CRC寄存器与一种预设的固定值(0001H)进行异或运算。5、 反复第3步和第4步直到8次移位。这样解决完了一种完整的八位。6、 反复第步到第5步来解决下一种八位,直到所有的字节解决结束。7、 最后CRC寄存器得值就是RC的值。CRC值附加到信息时,低位在先,高位在后。查阅附录中的一种实例,它具体阐明了CC的校验。第二章 Modbus数据和控制功能详解Modb 信息中的所有数据地址

14、以零作为基准,各项数据的第一种数据地址的编号为0。若无特殊阐明在此节文中用进制值表达,图中的数据区则用十六进制表达。图2-1为一种例子,阐明了Mbus的查询信息,图2-2为正常响应的例子,这两例子中的数据均是16进制的,也表达了以RTU方式构成数据帧的措施。主机查询是读保持寄存器,被祈求的从机地址是06,读取的数据来自地址40108保持寄有器。注意,该信息规定了寄存器的起始地址为007 (0BH)。从机响应返回该功能代码,阐明是正常响应,字节数“yle cunt”中阐明有多少个8位字节被返回。它表白了附在数据区中8位字节的数量,当在缓冲区组织响应信息时,“字节数”区域中的值应与该信息中数据区的字节数相等。如T方式时,6H用一种字节(110011)发送。8个位为一种单位计算“字节数”,它忽视了信息帧用构成的措施。drFnata star e hiDt statrg loData of regshita o regslCRC16hiCRC16lo060H00HB00H01HXXHXXH图 2 1odbus的查询信息AddrFnBcunDtah

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号