串行线路MODBUS协议的规范和实施指南

上传人:鲁** 文档编号:486822045 上传时间:2023-09-07 格式:DOC 页数:21 大小:98KB
返回 下载 相关 举报
串行线路MODBUS协议的规范和实施指南_第1页
第1页 / 共21页
串行线路MODBUS协议的规范和实施指南_第2页
第2页 / 共21页
串行线路MODBUS协议的规范和实施指南_第3页
第3页 / 共21页
串行线路MODBUS协议的规范和实施指南_第4页
第4页 / 共21页
串行线路MODBUS协议的规范和实施指南_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《串行线路MODBUS协议的规范和实施指南》由会员分享,可在线阅读,更多相关《串行线路MODBUS协议的规范和实施指南(21页珍藏版)》请在金锄头文库上搜索。

1、串行线路MODBUS协议的规范和实施指南1.02版1.引言1.1本文论述的范围MODBUS标准定义了应用层通信协议,是位于提供“客户机/服务器“之间不同类型连接设备的总线或网络OSI模型的第七层。它也是对标准化的串行端口在一个主机和一个或多个从站之间交换MODBUS请求的具体协议。本文的目的是介绍串行口MODBUS协议,以供所有要在他们的串行线路产品实现Modbus协议的系统设计者使用。因此,本文将促进使用Modbus协议设备的互换性。 本文件可补充到“Modbus应用协议规范“的文件中。在第五节不同的实现类定义为“Modbus串行线路“。此类规范是一个属于这一类设备必须遵守的总和要求。MOD

2、BUS串行线路规格及实施指南MODBU通信应用协议规范MODBUS应用协议(OSI的第七层)串行线路规范本论文表1 通用的MODBUS文件概述1.2协议概述 本文介绍了串行线路MODBUS协议。 Modbus串行线路协议是一种主从协议,该协议发生在OSI模型的第二层。主从式系统有一个节点(主节点)会发出明确命令给“从站”节点和产生响应。从节点通常不会发送未经从主节点请求数据,并且不与其他的从站通讯。在物理层,在系统MODBUS串行线路可能使用不同的物理接口(接口RS485,RS232)。 TIA/EIA-485(RS485)的两线接口是最常见的。作为一个附加选项,RS485的四线接口也可以实现

3、。当需要近距离点对点通信,ATIA/EIA-232-E(RS232)的串行接口也可以用来作为一个接口。 (见“物理层“)下图给出了一般描述的串行线路Modbus通讯协议栈与7层OSI模型比较图形。 图2:Modbus协议和ISO/ OSI模型层ISO / OSI模型7应用层Modbus应用协议6表示层空5会话层空4传输层空3网络层空2数据链路层Modbus串行行协议1物理层EIA/TIA-485(或的EIA/TIA-232)Modbus应用层通讯协议,位于OSI模型的第7层,提供了在关于总线或网络的连接设备之间客户机/服务器的通信。基于Modbus串行线的客户端角色是主站的串行总线和从站节点作

4、为服务器。2 Modbus数据链路层2.1 MODBUS主/从站协议原理Modbus串行线路的协议是一个主从站协议。同一时间只有一个主节点连接到总线上,和一个或几个(最多247号)从站节点也连接到相同的串行总线。一个Modbus通信总是由主机启动。没有收到从主节点请求从节点不会发送数据,从节点不会互相通信。主节点启动同一时间内只有一个Modbus传输。主节点发出两个不同的模式从节点MODBUS请求:在单播模式下主机访问单个从站。在接收和处理的要求,从机给主机返回一个消息。在这种模式下,一 个Modbus处理包括2个消息:来自主机的要求和来自从站的答复。每个从机必须有一个唯一的地址(从1到247

5、),以便它可以独立访问来区别其他节点。在广播模式下,主机可以发送一个要求与所有从站通讯。无响应返回给主机发出的广播请求。广播要求必需是写指令,所有设备必须接受写功能的广播。 0是保留的地址,来确保一个广播交流。主机从站01从站02从站 图2 单播模式主机从站01从站02从站 图3 广播模式2.2 Modbus寻址规则MODBUS地址空间由256个不同的地址组成。01247248255广播地址从站地址保留地址0保留作为广播地址,所有从节点必须识别广播地址。MODBUS主节点没有具体地址,只有从节点必须有一个地址,在Modbus串行总线上这个地址必须是唯一的。2.3 Modbus帧描述针对Modb

6、us应用协议1定义了一个简单的独立的底层通信层协议数据单元(PDU):功能代码数据图5 MODBUS协议数据单元(PDU)MODBUS协议在特定总线或网络映射上引入了协议数据单元(PDU)上的一些附加信息。启动一个Modbus事务处理的客户端构建了MODBUS 协议数据单元,然后添加信息组以便建立适当的通信的协议数据单元。Modbus串行线的PDU地址域功能代码数据LRC(或CRC)图6 串行线路Modbus帧串行线路Modbus的地址域只包含从地址。正如上一节所描述,从站地址是的从0到247得有效节点。单个从站设备被分配在1-247地址范围内的。通过信息帧地址域中从站地址一个主机访问相应从站

7、。当从站返回的响应,它会将自己的地址放在响应信息的地址领域中,让主机知道这是来自哪个从站的响应。该功能代码指示服务器来执行什么样的操作。该功能代码后跟着一个包含请求和响应参数的数据域。差错检查域是一个“冗余校验“计算,是根据信息内容执行的结果。两种使用的计算方法由于使用不同的传输模式(RTU或ASCII码)。 (见2.5节“的两个串行传输模式“)2.4主/从站的状态图在Modbus数据链路层分为两个独立的子层:主/从协议传输模式(RTU/ASCII模式)以下各节描述了主机的状态图和一个从机是传输所使用模式无关。在RTU和ASCII传输模式中指定使用两种状态图下一个章节。接收和发送的一框架进行了

8、描述。状态图语法:下面的状态图绘制遵照UML标准表示法,记号简要回顾如下:状态A状态B触发(保卫条件)/动作当一个“触发”事件中的“状态A”作为系统时,系统将进入“状态B”,只有当“保卫条件”是真实的。动作“行动”,然后执行。2.4.1主状态图下图说明了主机的操作:延时等待空闲等待响应处理延时处理出错 图7 主机状态图关于状态图的上面的一些解释:状态“闲置”表示没有挂起的请求。这是上电后初始状态,请求只能发送“闲置”状态。在发送要求后,主机取消“空闲状态,不能在同一时间发送第二个请求 当一个单播请求被发送到从机,主机进入状态“等待响应”,同时启动“响应超时”。这预防住主机无限期处在 “等待响应

9、”的状态。响应的超时值是据实而定的。当收到响应,处理数据之前主机开始数据校验。该校验可能会产生错误,例如从一个非期望从站的响应,或在接收到的信息帧错误。在收到响应的来自一个非期望从机情况下,响应时间是保持运行。假设检测错误在帧上的情况,可进行重操作。如果没有收到响应,响应时间超时过期,并生成一个错误。然后主进入“空闲”状态启用,重试的请求。最大重试次数取决于主机设置。 当一个广播请求发送到串行总线上,而从站没有返回响应。然而在发送之前一个新的请求,为了任何从站能够处理当前请求主机需要产生一定的延迟。这种延迟称为 “周转延误“。因此,主机在进入“空转“的状态和能够发送另一个请求之前要先进入“等待

10、周转延误“状态。在单播模式中,超时响应时间必须设置足够长的时间以保证任何从站处理请求并返回响应,在广播模式下周转延迟必须足够长,以保证任何从机处理请求,并能得到一个新的处理请求。因此周转延迟要比超时响应时间短。通常情况下,在9600 bps的波特率下响应时间是从1s到若干秒,而周转延迟为100 ms到200ms。帧错误包括:1)奇偶校验应用到每个字符2)冗余校验应用到整个帧。(见2.6节“错误检查方法“更多的解释。)状态图表面上看来很简单。实际上它没有考虑到访问的路线、信息框架,或重试以下传动误差等。(有关帧传输的详情,请参阅2.5节“两个串行传输模式”)2.4.2从机状态图下图说明了从机的操

11、作:检测请求固定格式的正常响应处理要求的操作格式化的错误响应空闲 图8 从站的状态图对上述状态图的几点说明:状态“闲置”表示没有挂起的请求。这是上电后的初始状态。当收到请求时,从机在执行操作之前需据数据包的要求校验数据。可能会出现不同的错误:要求的格式错误,无效操作在从机接受的信息帧产生错误的情况下,必须发送一个响应到主机。一旦请求的操作已经完成,一个单播消息需要一个响应,必须格式化并传送到主机。如果从机检测接收到的帧中有错误,不用返回给主机响应。 MODBUS诊断计数器需要定义,并可被任何从机管理,以提供诊断信息。这些计数器可以得到使用诊断MODBUS功能(见附录A和Modbus应用协议规范

12、1)。2.4.3主/从通信时间图这下图显示了3个主/从通信的典型场景时间图。主机从站1从站N物理行交换前交换中交换后 请求广播请求回复时间 图9 主/从交换时间图备注:请求、答复、广播阶段的持续时间取决于通信功能(帧的长度和吞吐量)。在等待和处理阶段的持续时间取决于从机请求处理申请所需的时间。2.5两个串行传输模式两种不同的串行传输模式:在RTU模式和ASCII模式。它定义了消息域位内容串行线路传输。它决定了信息打包成信息息域和解码。传输模式(和串行端口参数)必须对所有设备同时在一个Modbus串行线。ASCII模式虽然在某些特定的应用需要,Modbus设备之间的互操作性,可如果仅达到每个设备

13、都具有相同的传输模式:所有的设备必须实现RTU模式。在ASCII传输模式是一种选项。设备应设置由用户到所需的传输方式,RTU或ASCII格式。默认设置必须是RTU模式。2.5.1 RTU传输模式当设备的通信是使用RTUModbus串口(远程终端单元)模式,每一条消息,8位字节包含两个4位十六进制字符。这种模式的主要优点是它允许更大更好的数据字符密度吞吐量比的ASCII相同的波特率模式。每个消息必须传送连续的字符流。每个RTU模式字节的格式(11位)是:编码系统:8位二进制每个字节的位:1位起始位8个数据位,最小有效位先发送1位为校验完成1个停止位偶校验是必需的,(奇校验,无校验)其他模式可能也

14、可以使用。为了保证最大的兼容性其他产品,它是建议支持也没有奇偶校验模式。默认的模式必须是偶数奇偶校验。注:无奇偶需要2个停止位。字符是如何被串行传输:每个字符或字节的发送顺序(从左至右):最低有效位(LSB)最有效位(MSB)起始位12345678奇偶校验位停止位有奇偶校验 图10 RTU模式下的位序列通过配置设备可能接受无论偶、奇或无奇偶校验。如果执行无奇偶校验,增加停止位传送到字符帧,填写为全11位异步字符:起始位12345678停止位停止位无奇偶校验 图11 RTU模式下的位序列(无奇偶校验)帧校验域:循环冗余校验(CRC)框架描述:从站地址功能代码数据CRC1字节1字节0256字节2字节 图12 RTU信息帧框架MODBUS RTU通信帧的最大容量为256字节。2.5.1.1 RTUModbus消息帧传输设备将Modbus消息置于一个信息帧,该帧有已知的开始和结束。这使得设备收到一个新的帧,并知道消息的开始和完成。部分消息必须进行检测和错误必须被作为一个结果集。R

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

当前位置:首页 > 行业资料 > 国内外标准规范

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