ModBus通信协议及编程.pdf

ModBus通信协议及编程.pdf

ID:52242155

大小:224.01 KB

页数:4页

时间:2020-03-25

ModBus通信协议及编程.pdf_第1页
ModBus通信协议及编程.pdf_第2页
ModBus通信协议及编程.pdf_第3页
ModBus通信协议及编程.pdf_第4页
资源描述:

《ModBus通信协议及编程.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第31卷第7期电子工程师Vol.31No.72005年7月ELECTRONICENGINEERJul.2005ModBus通信协议及编程朱小襄(南京信息职业技术学院,江苏省南京市210013)【摘要】通过现场总线技术可以实现测控设备的分散化、网络化、智能化。现场总线技术的核心是通信技术及通信协议,ModBus协议是其中之一,目前已成为一种应用于工业控制器上的标准通信协议,受到多种工业组态软件的支持。文中介绍了ModBus协议的通信格式,指出了编程要点并给出了命令列表及CRC码的生成程序。关键词:ModBu

2、s,通信协议,控制系统中图分类号:TP336议的控制器实现通信。0引言ModBus协议有两种通信模式:ASCII模式和RTU现场总线技术是20世纪80年代中期发展起来的(远程终端单元)模式。ASCII模式是将一个字节分为一种先进的工业控制方式,通过这项技术可以实现测两个ASCII字符发送,而RTU模式以十六进制传送数控设备的分散化、网络化、智能化。该技术一经产生便据,一个字节就是一帧,因而数据传送的效率高于成为全球工业自动化技术的热点,受到业界的普遍关ASCII模式,大多数工业控制器采用RTU模式。在同注

3、。近年来,工业测控设备几乎都具有构成现场总线一个网络中,无论主机还是从机,都必须采用相同的通的功能。现场总线技术的核心是通信技术及通信协信模式及相同的传输速率。目前,ModBus协议常用的议。ModBus是工业控制器网络通信协议中最常用的传输速率为1200bit/s~19200bit/s。协议之一,组态王、FIX等通用工业组态软件都支持1.2ModBus协议数据包的格式ModBus协议。我们研制的MMC系列电动机管理控一个典型的ModBus协议数据包的格式如图1所制器也支持ModBus协议。本文以此为例介

4、绍ModBus示。协议及编程要点。1ModBus协议图1典型的ModBus协议数据包的格式1.1简介其中,第1帧为从机地址,第2帧为功能码,第3、ModBus是MODICON公司最先倡导的一种通信4帧为主机欲访问的从机的起始寄存器地址,第5、6协议,经过许多公司的实际应用,逐渐被认可,成为一帧为要访问的寄存器个数,最后两帧为16位CRC校种应用于工业控制器上的标准通信协议,通过该协议,验码。对任何一个ModBus协议数据包,其第1、2、3不同厂商生产的控制设备可以连接成工业网络,实现帧及最后两帧的意义都是

5、相同的,其他帧则根据功能集散控制。ModBus通信采用主从方式,在同一个网络码不同而有所区别。中有一个主设备及最多达255台从设备,从设备的地通信开始时首先由主机向从机发送地址,所有从址编码为1~255。通常情况下,主设备只与1台从设机都会接收到地址并与本机地址比较,若地址不同则备通信,但当主设备发出的地址码为0即采用广播方可不接收其余帧或对其余帧不做处理,若地址相同则式时,可以将消息发送给所有的从设备。标准的Mod2准备接收本次数据包的其他帧。从机接收完毕后,生Bus使用RS2232C串行接口,因此Mo

6、dBus通信以帧为成接收数据(CRC码除外)的CRC校验码,并与主机单位,帧的数据结构与RS2232C帧相同。ModBus一次发送的CRC码比较,若相同则认为接收正确,从机按通信其发送和接收的数据包由若干帧组成,协议正是功能码的要求完成操作并生成回送数据包发送给主定义了这些帧的意义,控制器只要按照协议解释其接机,若校验出错则从机向主机发送出错数据包,出错数收和发送的帧数据,就能与在同一网络中采用同样协据包的特征是将功能码的最高位置位,即大于127的收稿日期:2005204212;修回日期:20052052

7、12。功能码是出错功能码。主机发送的两个数据包之间的·42·第31卷第7期朱小襄:ModBus通信协议及编程·计算机与自动化技术·间隔应大于3.5帧,从机检测到线路上空闲时间大于更多的常用命令见表5。3.5帧就认为主机的数据包已经发送结束,下一帧数表5ModBus常用命令及功能据即为地址帧,所有的从机都将接收,因此在一个数据功能码名称功能说明包中帧与帧的间隔不能超过3.5帧,否则将可能引发01读取线圈状态取得1组逻辑线圈的当前状态通信出错。02读取输入状态取得1组开关输入的当前状态03读取保持寄存器读1个

8、或多个保持寄存器1.3ModBus通信命令格式04读取输入寄存器读1个或多个输入寄存器下面是2个ModBus命令的主2从机收发的数据包05强置单线圈强置1个逻辑线圈的通断状态格式,其余的命令可以参照其格式。06预置单寄存器把具体二进值装入1个保持寄1)功能码03H存器代码功能:读寄存器数据。07读取异常状态取得8个内部线圈的通断状态数据包格式:见表1和表2。08回送诊断校验通信诊断16预置多寄存写多个连续的保持寄存器表1主机发

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。