




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Modbus 协议1.Modbus简介 Modbus协议即为可编程控制器和控制网络之间相互通讯的语言,是一项应用层传输协议。它提供的是一种客户机/服务器的通信工具,是一种请求/应答类的通信协议。该协议位于OSI 模型的第二层。一个主从类型的系统有一个向某个“子”节点发出显式命令并处理响应的节点(主节点)。典型的子节点在没有收到主节点的请求时并不主动发送数据,也不与其它子节点通信。在物理层,Modbus串行链路系统可以使用不同的物理接口(RS485、RS232)。最常用的是TIA/EIA-485 (RS485) 两线制接口。作为附加的选项,也可以实现RS485 四线制接口。当只需要短距离的点到点通信时,TIA/EIA-232-E (RS232) 串行接口也可以使用。其参考模型如下图a:图a Modbus协议参考模型主要特点:MODBUS产品开发成本低,简单易用,并且现在已有很多工控器、PLC、变频器、显示屏等都具有MODBUS通信接口,所以它已经成为一种公认的通信标准。通过MODBUS总线,可以很方便地将不同厂商生产的控制设备连成工业网络,进行集中监控,并且MODBUS总线产品具有通信协议简洁,系统结构简单,性能稳定,应用方便,适宜应用在信息量不大工业控制系统中。2.Modbus的协议描述 (1)Modbus查询响应模式从机响应信息主机查询信息 8位格式 数据字节功能代码设备地址错误校验8 位格式 数据字节错误校验功能代码设备地址 图b 查询响应模式如图b,是一个完整的主从查询相应周期,这里主机是客户机,从机是服务器,其通信遵循以下的过程:(1)客户端准备请求并向服务器发送请求;(2)服务器分析并处理客户端的请求,然后向客户端发送结果;(3)如果出现任何差错,服务器首先进行差错检验,将返回一个异常功能码给客户端。当Modbus从机对主机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)对于一个正常响应来说,服务器仅复制原始功能码,如图c所示。图c Modbus协议正常响应对于异常响应服务器将原始功能码的最高有效位设置逻辑1后返回,异常码指示差错类型,如图d。图d Modbus协议异常响应 (2)Modbus定义的两种数据单元 MODBUS协议定义了与基础通信层无关的简单协议数据单元(PDU)和应用数据单元(ADU),后者能够使得特定总线或网络上的MODBUS协议映射上引入一些附加域,比如地址码和校验码。具体格式如图e:ADU功能码地址码效验码数据信息PDU 图e PDU和ADU数据单元关系 PDU内容即为查询和响应信息中的功能代码和8位格式的数据信息,而ADU是在PDU的基础上加上控制设备的地址信息和效验码。 (3)Modbus的两种传输方式MODBUS设置两种传输模式(ASCII或l删)在标准的MODBUS网络通信。用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个采集器的时候,在一个MODBUS网络上的所有设备都必须选择相同的传输模式和串口参数。所选的ASCII或RTU方式仅适用于标准MODBUS网络,它们定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何校验。在其它网络上(MAP和MODBUSPLtts),MODBUS消息被转成与串行传输无关的帧。此外所有设备必须必须实现RTU模式,ASCII 传输模式是选项。设备应该由用户设成期望的模式,RTU或ASCII,而默认设置必须为RTU模式。(a)ASCII模式Modbus协议以ASCII模式通信时,在消息中的每个8Bit字节都作为两个ASCII字符发送。这种方式的主要优点是字符发送的时间问隔可达到1秒而不产生错误,而且这种模式下发送的格式中有开始标记(“:”为开始标志)和结束标志(“CR或LF”)。ASCII模式中字节的格式如下:编码系统:16进制,ASCII字符O9,AF。消息:消息中每个ASCII字符都是一个十六进制字符组成。数据位:1个起始位,7个数据位,最小的有效位先发送;有奇偶校验时有 1个停止位,无校验时则有2个停止位。错误检测域:LRC(纵向冗长检测)。(b)RTU模式Modbus协议以RTU模式通信时,在消息中的每个8Bjt字节包含两个4Bit的十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。RTU模式中字节的格式如下:代码系统:8位二进制,十六进制数09,AF消息:消息中的每个8位域都是一个两个十六进制字符组成数据位:1个起始位,8个数据位,最小的有效位先发送,有奇偶校验时有 1个停止位,无校验时则有2个停止位。错误检测域:CRC(循环冗长检测)。通过上述描述来看,得出以下结论:ASCII协议和R1U协议相比前者拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII字符,传输的数据每一个字节ASCII都要用两个字节来传输,比如传输一个十六进制数0xF9,ASCII就需要传输F9的ASCII码0X39和0X46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好用RTU模式。综合如下表(1).表(1) ASCII模式和RTU模式比较3.Modbus的消息帧格式 (1)ASCII消息帧格式 由发送设备将Modbus 报文构造为带有已知起始和结束标记的帧。这使设备可以在报文的开始接收新帧,并且知道何时报文结束。不完整的报文必须能够被检测到而错误标志必须作为结果被设置。ASCII模式中,消息以(:)号字符(ASCII码3AH)开始,以回车-换行(CL,LF)符(ASCII码ODH和OAH)结束。可以传输的字符为十六进制字符0-9,AF。网络上的设备连续检测并接收一个冒号(:)时,每台设备对地址解码,查看是否与自己的地址匹配,如果匹配则接受消息。消息中字符之间发送的时间最大间隔为1秒,若大于1秒,则接收设备认为出现了一个错误。其帧格式如图f。图f ASCII帧格式Modbus ASCII 帧的最大尺寸为513 个字符,因为为了确保ASCII模式和RTU模式在Modbus应用级兼容,ASCII数据域最大数据长度为(2x252) 是RTU 数据域(252)的两倍。(因为ASCII模式中需要两个ASCII码,所以是两倍)ASCII报文帧的传输如下图g:图g ASCII 传输模式状态图(2) RTU帧 在RTU模式,报文帧由时长至少为3.5个字符时间的空闲间隔区分。在后续的部分这个个时间区成为3.5t。整个报文帧必须以连续的字符流发送,在结束部分也需要至少3.5个字符的停顿时间标志传输的结束。如果两个字符之间的空闲间隔大于1.5 个字符时间,则报文帧被认为不完整应该被接收节点丢弃。如下图h,RTU帧格式如图i: 图h RTU报文帧的格式规范图i RTU帧格式RTU传输模式状态图的描述如下图j:图j RTU传输模式状态图(3) 差错检验方法 标准Modbus串行链路的可靠性基于两种错误检验: (a)奇偶校验(偶或奇),应该被每个字符采用,这是个可选项。 (b)帧检验(LRC或CRC),必须运用于整个报文,每个帧必须要进行帧检验,这是必选项。 在RTU模式,包含一个对全部报文内容执行的,基于循环冗余校验 (CRC-Cyclical Redundancy Checking) 算法的错误检验域。CRC 域检验整个报文的内容。不管报文有无奇偶校验,均执行此检验。在ASCII模式,包含一个对全部报文内容执行的,基于纵向冗余校验(LRC-Longitudinal Redundancy Checking) 算法的错误检验域。LRC域检验不包括起始“冒号”和结尾CR,LF对的整个报文的内容。不管报文有无奇偶校验,也均执行此检验。 (4) 地址码 Modbus寻址空间有256个不同地址,其寻址空间规范如下图k。地址0保留为广播地址。所有的子节点必须识别广播地址。对于串行链路来说Modbus主节点没有地址,只有子节点必须有一个地址。该地址必须在Modbus串行总线上唯一。图k Modbus寻址规范 (5)功能码Modbus功能码有三类,分别为公共功能码、用户定义功能吗和预留功能码。其分类如下图l。图l 功能码分类4.Modbus协议的实现(以RS-485为例) 标准的MODBUS协议的物理层采用的是RS-232标准,但RS-232的传送速率不够快,RS-232一C规定波特率为20000bps以下;传送距离受限,距离近,根据RS-232-C标准各装置之间电缆长度不超过15m,即使在比较好的信号通信中电缆长度也不超过35m;抗干扰能力有限,MODBUS协议实现装置采用主从通讯方式,适宜采用分布式结构,而RS-232只应用与点对点的通信。而RS-485标准相比RS-232标准,具有抗干扰能力强、传输速率高、传送距离远,并支持多点连接等特点,所以采用RS-485作为物理层是比较理想,MODBUS总线系统如图m所示。 图m Modbus协议的总线实现(1)RS-485简介 RS-485是一个电气接口规范,属于7层开放系统互连模型物理层的协议标准。它只规定了平衡驱动器和接受器的电特性,没有规定接插件、传输电缆和通信协议。他支持半双工或全双工模式,网络拓扑通常采用终端匹配的总线型结构,不支持环型或星型网络结构。RS-485是从RS-422基础上发展而来的,RS485采用平衡传输方式、需要在传输线上接终接电阻。RS485可以采用二线与四线方式,二线制可实现真正的多点双向通信。而采用四线连接时,只能实现点对多点的通信,即只能有一个主(Master)设备,其余为从设备。无论四线还是二线连接方式总线上可多接到32个设备。RS-485的最大传输距离约为3000m,最大传输速率为10Mbs。(2) Modbus协议的通信实现及系统实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年皮肤科疑难病例诊断与治疗综合测验答案及解析
- 2025年内分泌学内分泌疾病筛查与诊断试卷答案及解析
- 2025年精神科健康评估与干预实践模拟考试答案及解析
- 2025年精神科抑郁症药物治疗副作用观察考试卷答案及解析
- 民族团结统一课件
- 新质生产力从理论到实践
- 2025年眼科医学知识综合考察答案及解析
- 2025年内科常见疾病诊断与治疗综合考试卷答案及解析
- 安全负责人任命书讲解
- 管理核心内容讲解
- 倾听与问题讲义
- 糖尿病合并足底烫伤护理查房
- 激光拉曼光谱
- 合同诈骗控告书范本
- 转专业学生回原专业申请表(模板)
- GB∕T 5336-2022 汽车车身修理技术条件
- 部编版六年级道德与法治上册第2课《宪法是根本法》精品课件【带视频】
- 南亚环氧树脂
- 常见体表肿物
- 信息检索技术讲义
- 商业银行基于华为OceanStor的关键业务同城切换方案
评论
0/150
提交评论