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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(毕业设计论文基于CP430的MODBUS通讯程序设计doc.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

毕业设计论文基于CP430的MODBUS通讯程序设计doc.docx

1、毕业设计论文基于CP430的MODBUS通讯程序设计doc江苏科技大学本 科 毕 业 设 计(论文)学 院 电子信息学院 专 业 电气工程及其自动化 学生姓名 班级学号 指导教师 摘 要 计算机技术的飞速发展,使得现代工业生产和控制系统变得越来越复杂性,同时骑可靠性、实时性、精确性要求也越来越高。现场总线技术为控制系统性能提高提供了新的思路,发展现场总线技术的初衷是建立开放的控制通信网络。由于历史原因,不同系统的现场总线协议差异很大。不同总线协议应用范围也有所差异。 MODBUS协议定义了控制器能识别和使用的信息结构。广泛用于工业通信领域,其优点是实时性好,可靠性高,适用于小到中等规模的数据传

2、输,如典型应用于的可编程控制器(PLC)。协议采用主机轮询机制,主设备发出查询请求,要求从设备执行某种动作;从设备收到查询请求后,识别是否本地数据执行相应的动作,组织应答,将执行的状况或相关数据反馈到主设备。 本文在研究Modbus协议规则,详细分析Modbus协议的原理,然后通过西门子STEP7软件,运用CP430做Modbus从站程序,实现Modbus从站接受检验功能。关键字:Modbus,CP430,从站,协议 AbstractThe rapid development of computer technology, makes the modern industrial product

3、ion and control system is becoming more and more complexity while riding a reliability, real-time, and more and more is also high precision requirements. The Modbus technology for control system performance provides new ideas, improve the development of the Modbus technology intended to establish an

4、 open control communication network. Owing to historical reasons, the different systems Modbus agreement difference is very big. Different bus agreement application also different.MODBUS agreement defines the controller can identify and use of information structure. Widely used in industrial communi

5、cation field, its advantage is good real-time, high reliability, applicable to small to medium size of data transmission, such as the typical application in programmable controller (PLC). The protocol USES host polling mechanism, the main equipment and issue queries request, demand from equipment pe

6、rform an action; After received from the device queries, identify whether some action local data execution, the organization response, will implementation status or related data feedback to the main equipment.Based on the study, detailed analysis Modbus agreement rules the principle of Modbus agreem

7、ent by Siemens, and then CP430 STEP7 software, using Modbus, slave station program do realize Modbus functions slave station accept inspection。Key word: Modbus, CP430, slave station, the agreement目 录第一章 绪论 51.1课题研究 51.2国内外对于实现ModBus的现状 61.2.1通过FPGA实现Modbus 61.2.2通过51单片机实现Modbus 61.2.3用过PLC实现Modbus 6

8、1.3 本文的组织结构 7第二章 Modbus协议简介 82.1协议简介 82.1.1在Modbus 网络上转输 92.1.2在其它类型网络上转输 92.1.3 查询回应周期 102.1.4 主站/从站通信时序图 112.1.5从站状态图 112.2总体描述 122.3两种传输方式 132.3.1 RTU模式 142.3.2 ASCII传输模式 142.4 LRC校验 162.5功能码定义 172.5.1 功能码分类 172.5.2 功能码定义表 182.6 Modbus异常响应 192.7本章小结 20第三章 PLC软件介绍及操作 213.1 项目的新建 213.2硬件组态 223.3 CP

9、340参数设置 233.4编写程序 25第四章 程序运行流程图 26第五章 总结 29致 谢 30参考文献 31第一章 绪论1.1课题研究在现代化工业中,由于被控对象、测控装置等物理设备的地域分散性,以及控制与监控任务对实时性的要求,不同设别之间现场交互性息的传递越来越多。但传统的工业控制系统软件存在一些问题。不具备开放性,各个部分的联系过于紧密,使系统过于复杂,使系统的更新、扩展和升级变的非常困难,对系统任何一部分的修改都有可能对其他部分造成影响,从而导致大量且繁琐的软件和硬件的修改。传统的工业控制软件开发中出现的另一个主要问题是软件的重复开打,软件不能够复用,资源不能共享,造成大量的人力和

10、物理资源的浪费。即使可以使用高级语言函数库使我们可以利用面向对象的继承等方法大量的重用源代码,但是这些复用只是对源代码级的复用而不是对可执行文件级的复用。传统工业控制系统带来的不便,造成形成了大量的“孤岛信息”,但是,对于工业控制而言,各站点之间不是孤立的,它们必须可以相互配合、协调才能保证产品质量和实现连续生产。另外,上级管理网业需要与子站交互数据,以实现全局的监控和优化。然而,子站使采用不同开发平台和不用通讯协议组成的异构系统,可能由于不同的厂家和个位开发。要为每种协议写一个转换接口或驱动是比较繁琐的,特别是在站点和协议较多的时候。因此,怎样有效集成数据,避免信息孤岛的出现,是工业控制领域

11、中常遇到的难点问题。较为好的方法就是各站点都采用标准协议进行数据通讯,而不必为每一种协议开发一个通讯接口。目前这方面的协议比较多,MODBUS就是其中一种。ModBus 协议定义了一个控制器能认识使用的消息结构,而不管它们是通过何种网络进行通信的,它制定了消息域的格局和内容的公共格式,描述了一个控制器请求访问其它设备的过程,回应来自其它设备的请求,以及如何侦测并记录错误信息。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以完成信息和数据的交换与传送,使各种不同的公司和厂家的可编程顺序控制器(PLC)、RTU、SCADA 系统、DCS 或与兼容ModBus 协议的第三方设备之间可以连

12、成工业网络,构建各种复杂的监控系统,并利于系统的维护和扩展,这个通讯协议已广泛被国内外各行业作为系统集成的一种通用工业标准协议。1.2国内外对于实现ModBus的现状目前Modbus协议实现方式多为单片机和PLC。1.2.1通过FPGA实现Modbus有用FPGA实现的,ModBus协议的FPGA功能设计采用自顶向下的设计方法,根据功能要求先设计出由若干个功能模块组成的顶层原理框图,再把各个功能模块细化为子模块,对较复杂的把子模块继续划分成下级子模块,但是FPGA是门级编程,编写速度不快,它是基于SRAM编程的,其编程信息需要存放在外部存储器盛,需外部存储器芯片,使用方法复杂,保密性差。1.2

13、.2通过51单片机实现Modbus通过51单片机实现的,有单片机实现设计简单,程序编写简单,成本低,但单片机主要在仪表和简单的控制电路上应用,相对于PLC,单片机控制速度慢,功能不强,精度低,不适合工业上的运用。1.2.3用过PLC实现Modbus用PLC来实现ModBus的程序设计,CP340针对MODBUS协议自由组织程序代码与从站进行通讯,根据需要支持功能码1,2,3,4,5,6,15,16,CRC校验,灵活应用,减少PLC内存资源;针对MODBUS协议自由组织程序代码与主站进行通讯,根据需要支持功能码1,2,3,4,5,6,15,16,主站可查询DI/DO,MVV区,AIVV区,DB区

14、(生成标准MODBUS寄存器地址),灵活应用,减少PLC内存资源。用CP340实现MODBUS简便,费用低廉,且复制性强。1.3 本文的组织结构本文介绍了Modbus协议原理,STEP7软件如何实现CP430做Modbus从站,并得出仿真结果。第1章、绪论。接受Modbus协议的产生和国内外发展趋势。第2章、Modbus协议简介。介绍Modbus协议规范,协议报文结构、两种传输模式的消息帧结构,功能定义,纠错方法。第3章、PLC软件介绍。介绍STEP7软件的使用,各参数配置方法,主要功能函数实现方法。第4章、程序运行流程图。绘制出整个程序运行的流程图。第5章、总结。总结本课题所工作,及通过本课

15、题的收获、讨论如何进行下一步工作。第二章 Modbus协议简介2.1协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus 网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地

16、址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus 协议发出。在其它网络上, 包含了Modbus 协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 2.1.1在Modbus 网络上转输 标准的Modbus 口是使用一RS-232C 兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem 组网。 控制器通信使用主从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的

17、从设备:可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus 协议建立了主设备查询的格式:设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由Modbus 协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 2.1.2在其它类型网络上转输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,

18、控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。 在消息位,Modbus 协议仍提供了主从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器2.1.3 查询回应周期 图2-1 主-从 查询-回应周期表(1)查询 查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测

19、域为从设备提供了一种验证消息内容是否正确的方法。 (2)回应 如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:象寄存器值或状态。如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。 2.1.4 主站/从站通信时序图 图2-2主站/从站通讯时序2.1.5从站状态图图2-3从站状态图对上面的状态图的一些解释: 状态 “空闲” = 没有等待的请求。这是电源上电后的初始状态。 当收到一个请求时,子节点在处理请求中要求的动作前检验报文包。不同的错误可以发

20、生于: 请求的格式错,非法动作, 当检测到错误时,必须向主节点发送应答。 当要求的动作完成后,单播报文要求必须格式化一个应答并发往主节点。 如果子节点在接收到的帧中检测到错误, 则没有响应返回到主节点。 任何子节点均应该定义并管理Modbus 诊断计数器以提供诊断信息。通过使用Modbus诊断功能码,可以得到这些计数值。 2.2总体描述MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上的MODBUS协议映射能够在应用数据单元(ADU)上引入一些附加域。图2-4通用MODBUS帧启动MODBUS事务处理的客户机创建MODBUS应用数据单元。功能码向服务器指示

21、将执行哪种操作。MODBUS协议建立了客户机启动的请求格式。用一个字节编码MODBUS数据单元的功能码域。有效的码字范围是十进制1-255(128-255为异常响应保留)。当从客户机向服务器设备发送报文时,功能码域通知服务器执行哪种操作。向一些功能码加入子功能码来定义多项操作。从客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义的操作。这个域还包括离散项目和寄存器地址、处理的项目数量以及域中的实际数据字节数。在某种请求中,数据域可以是不存在的(0长度),在此情况下服务器不需要任何附加信息。功能码仅说明操作。如果在一个正确接收的MODBUS ADU中,不出现与请求M

22、ODBUS功能有关的差错,那么服务器至客户机的响应数据域包括请求数据。如果出现与请求MODBUS功能有关的差错,那么域包括一个异常码,服务器应用能够使用这个域确定下一个执行的操作。例如,客户机能够读一组离散量输出或输入的开/关状态,或者客户机能够读/写一组寄存器的数据内容。当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)。对于一个正常响应来说,服务器仅对原始功能码响应。图2-5Modbus事物处理(无差错)图2-6Modbus事物处理(异常响应)2.3两种传输方式控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通

23、信。用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。 2.3.1 RTU模式当控制器设为在Modbus网络上以RTU(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。 代码系统 8位二进制,十六进制数0.9,A.F 消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 1个起始位 8个数据位,最小的有效位先发送 1个奇偶校验位,无校验则无 1个停止位(有校验时),2个Bit(

24、无校验时) 错误检测域 CRC(循环冗长检测) 2.3.2 ASCII传输模式 当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信,在消息中的每个8Bit字节都作为两个ASCII字符发送。这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。 代码系统 十六进制,ASCII字符0.9,A.F 消息中的每个ASCII字符都是一个十六进制字符组成每个字节的位 1个起始位 7个数据位,最小的有效位先发送 1个奇偶校验位,无校验则无 1个停止位(有校验时),2个Bit(无校验时) 错误检测域 LRC(纵向冗长检测) 2.3.2.1 ASCII报文帧由发送设备将Modb

25、us 报文构造为带有已知起始和结束标记的帧。这使设备可以在报文的开始接收新帧,并且知道何时报文结束。不完整的报文必须能够被检测到而错误标志必须作为结果被设置。报文帧的地址域含有两个字符。在 ASCII 模式, 报文用特殊的字符区分帧起始和帧结束。一个报文必须以一个冒号 ( : ) (ASCII 十六进制3A )起始,以回车-换行 (CR LF) 对(ASCII十六进制0D 和0A) 结束。对于所有的域,允许传送的字符为十六进制09, AF (ASCII 编码)。设备连续的监视总线上的冒号 字符。当收到这个字符后,每个设备解码后续的字符一直到帧结束。报文中字符间的时间间隔可以达一秒。如果有更大的

26、间隔,则接受设备认为发生了错误。下图显示了一个典型的报文帧必然的, Modbus ASCII 帧的最大尺寸为513 个字符图2-7ASCII报文帧2.3.2.2 ASCII传输模式状态图图2-8ASCII传输状态图上面状态图的一些解释: “空闲” 态是没有发送和接收报文要处理的正常状态。 每次接收到 : 字符表示新的报文的开始。如果在一个报文的接收过程中收到该字符,则当前地报文被认为不完整并被丢弃。而一个新的接收缓冲区被重新分配。 检测到帧结束后,完成LRC 计算和检验。然后,分析地址域以确定帧是否发往此设备,如果不是,则丢弃此帧。为了减少接收处理时间,地址域可以在一接到就分析,而不需要等到整

27、个帧结束。2.4 LRC校验使用ASCII模式,消息包括了一基于LRC方法的错误检测域。LRC域检测了消息域中除开始的冒号及结束的回车换行号外的内容。 LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。 LRC方法是将消息中的8Bit的字节连续累加,丢弃了进位。 LRC简单函数如下: static unsigned char LRC(auchMsg,usDataLen) unsigned char *auchMsg ; /* 要进行计算的消息 */ unsig

28、ned short usDataLen ; /* LRC 要处理的字节的数量*/ unsigned char uchLRC = 0 ; /* LRC 字节初始化 */ while (usDataLen-) /* 传送消息 */ uchLRC += *auchMsg+ ; /* 累加*/ return (unsigned char)(-(char_uchLRC) ; 2.5功能码定义 2.5.1 功能码分类有三类MODBUS功能码。它们是: (1)公共功能码 是较好地被定义的功能码, 保证是唯一的, MODBUS组织可改变的, 公开证明的, 具有可用的一致性测试, MB IETF RFC中证明的

29、, 包含已被定义的公共指配功能码和未来使用的未指配保留供功能码。(2)用户定义功能码 有两个用户定义功能码的定义范围,即65至72和十进制100至110。 用户没有MODBUS组织的任何批准就可以选择和实现一个功能码 不能保证被选功能码的使用是唯一的。 如果用户要重新设置功能作为一个公共功能码,那么用户必须启动RFC,以便将改变引入公共分类中,并且指配一个新的公共功能码。(3)保留功能码 一些公司对传统产品通常使用的功能码,并且对公共使用是无效的功能2.5.2 功能码定义表ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包

30、括硬件、亦包括软件。它可应用于各种数据采集和过程监控。下表2-1是ModBus的功能码定义。 表2-1 功能码定义表功能码名称 作用01读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02读取输入状态取得一组开关输入的当前状态(ON/OFF)03读取保存寄存器在一个或多个保持寄存器中取得当前的二进制符04读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05设置单线圈强制一个逻辑线圈的通断状态06预设单寄存器把具体二进制值装入一个保持寄存器07读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态0

31、8回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴09编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑10控询(只用于484)可使主机与一台正在执行程序任务从机通信。探寻该从机是否已完成其操作任务,仅在含有功能码9的报文发送后,本功能码才发送11读取时间计数可使主机发出单询问,并随即判定操作是否成功,尤其是该命令或其他应答产生通信错误时12读取通信事件记录可使主机检索每台从机的Modbus事物处理通信事件记录。13编程(184/384 484 584)可使主机模拟编程器功能修改PC从机逻辑14探寻(184/384 484 584)可使主机与正在执行任务的从机通信,定期控询该从机是否已完成其程序操作,仅在含有功能13的报文发送后,本功能码才发送15强置多线圈强置一串连续逻辑线圈的通断16预置多寄存器把具体的二进制值

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1