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

上传人:仙人指路1688 文档编号:4141943 上传时间:2023-04-07 格式:DOC 页数:34 大小:748KB
返回 下载 相关 举报
毕业设计(论文)基于CP430的MODBUS通讯程序设计.doc_第1页
第1页 / 共34页
毕业设计(论文)基于CP430的MODBUS通讯程序设计.doc_第2页
第2页 / 共34页
毕业设计(论文)基于CP430的MODBUS通讯程序设计.doc_第3页
第3页 / 共34页
毕业设计(论文)基于CP430的MODBUS通讯程序设计.doc_第4页
第4页 / 共34页
毕业设计(论文)基于CP430的MODBUS通讯程序设计.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《毕业设计(论文)基于CP430的MODBUS通讯程序设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于CP430的MODBUS通讯程序设计.doc(34页珍藏版)》请在三一办公上搜索。

1、江苏科技大学本 科 毕 业 设 计(论文)学 院 电子信息学院 专 业 电气工程及其自动化 学生姓名 班级学号 40 指导教师 二零一一年五月江苏科技大学毕业论文基于CP430的MODBUS通讯程序设计Based on the CP430 MODBUS communication program design 江 苏 科 技 大 学毕 业 设 计 (论 文) 任 务 书 学院名称:电子信息学院 专业:电气工程及其自动化 学生姓名: 于进 学号:0745533140 指导教师: 袁 文 华 职称: 讲 师 2011年2月28日毕业设计 (论文)题目: 基于CP340的MODBUS通讯程序设计一、

2、 毕业设计(论文)内容及要求(包括原始数据、技术要求、达到的指标和应做的实验等)1 提供条件: PLC软件及相关MODBUS通讯的资料。 2 设计内容与要求:(1) 学习、理解S7-300PLC软件的使用;(2) 学习、理解MODBUS通讯的原理;(3) 结合MODBUS通讯的原理,利用S7-300PLC软件编写出程序; (4) 撰写论文,通过答辩。二、完成后应交的作业(包括各种说明书、图纸等)1. 毕业设计论文一份(不少于1.5万字);2. 外文译文一篇(不少于5000英文单词);3. 包含任务书、开题报告、中期检查和前三项内容的光盘 一张。三、 完成日期及进度2011年3月21日至2011

3、年6月17日,共13周。进度安排:3.143.28, 熟悉任务要求,查阅资料,翻译外文资料;3.284.18, 学习、理解MODBUS通讯的原理;4.184.30, 学习、理解S7-300PLC软件的使用;5.1 5.30, 利用S7-300PLC软件,编写程序;5.316.29, 撰写毕业论文、答辩。五 主要参考资料(包括书刊名称、出版年月等):1. MODBUS国标参考资料。2. 西门子S7-300/400PLC编程与应用, 刘华波, 何文雪, 王雪编著.3. 西门子S7-300/400PLC控制系统设计与应用,陈章平等编著系(教研室)主任: (签章) 年 月 日学院主管领导: (签章)

4、年 月 日摘要 计算机技术的飞速发展,使得现代工业生产和控制系统变得越来越复杂性,同时骑可靠性、实时性、精确性要求也越来越高。现场总线技术为控制系统性能提高提供了新的思路,发展现场总线技术的初衷是建立开放的控制通信网络。由于历史原因,不同系统的现场总线协议差异很大。不同总线协议应用范围也有所差异。 MODBUS协议定义了控制器能识别和使用的信息结构。广泛用于工业通信领域,其优点是实时性好,可靠性高,适用于小到中等规模的数据传输,如典型应用于的可编程控制器(PLC)。协议采用主机轮询机制,主设备发出查询请求,要求从设备执行某种动作;从设备收到查询请求后,识别是否本地数据执行相应的动作,组织应答,

5、将执行的状况或相关数据反馈到主设备。 本文在研究Modbus协议规则,详细分析Modbus协议的原理,然后通过西门子STEP7软件,运用CP430做Modbus从站程序,实现Modbus从站接受检验功能。关键字:Modbus,CP430,从站,协议AbstractThe rapid development of computer technology, makes the modern industrial production and control system is becoming more and more complexity while riding a reliability,

6、 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 open control communication network. Owing to historical reasons, the different systems

7、 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 communication field, its advantage is good real-time, high reliability, applicable to small to

8、 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 perform an action; After received from the device queries, identify whether some action l

9、ocal 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 agreement by Siemens, and then CP430 STEP7 software, using Modbus, slave station program do r

10、ealize Modbus functions slave station accept inspection。Key word: Modbus, CP430, slave station, the agreement目录第一章 绪论51.1课题研究51.2国内外对于实现ModBus的现状61.2.1通过FPGA实现Modbus61.2.2通过51单片机实现Modbus61.2.3用过PLC实现Modbus61.3 本文的组织结构7第二章 Modbus协议简介82.1协议简介82.1.1在Modbus 网络上转输92.1.2在其它类型网络上转输92.1.3 查询回应周期102.1.4 主站/从

11、站通信时序图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 CP340参数设置233.4编写程序25第四章 程序运行流程图26第五章 总结29致 谢30参考文献31第一章 绪论1.1课题研究在现代化工业中,由于被控对象、测控装置等物理设备的地域分散性,以及控制与监控任务对实时性的要求,不同设别

12、之间现场交互性息的传递越来越多。但传统的工业控制系统软件存在一些问题。不具备开放性,各个部分的联系过于紧密,使系统过于复杂,使系统的更新、扩展和升级变的非常困难,对系统任何一部分的修改都有可能对其他部分造成影响,从而导致大量且繁琐的软件和硬件的修改。传统的工业控制软件开发中出现的另一个主要问题是软件的重复开打,软件不能够复用,资源不能共享,造成大量的人力和物理资源的浪费。即使可以使用高级语言函数库使我们可以利用面向对象的继承等方法大量的重用源代码,但是这些复用只是对源代码级的复用而不是对可执行文件级的复用。传统工业控制系统带来的不便,造成形成了大量的“孤岛信息”,但是,对于工业控制而言,各站点

13、之间不是孤立的,它们必须可以相互配合、协调才能保证产品质量和实现连续生产。另外,上级管理网业需要与子站交互数据,以实现全局的监控和优化。然而,子站使采用不同开发平台和不用通讯协议组成的异构系统,可能由于不同的厂家和个位开发。要为每种协议写一个转换接口或驱动是比较繁琐的,特别是在站点和协议较多的时候。因此,怎样有效集成数据,避免信息孤岛的出现,是工业控制领域中常遇到的难点问题。较为好的方法就是各站点都采用标准协议进行数据通讯,而不必为每一种协议开发一个通讯接口。目前这方面的协议比较多,MODBUS就是其中一种。ModBus 协议定义了一个控制器能认识使用的消息结构,而不管它们是通过何种网络进行通

14、信的,它制定了消息域的格局和内容的公共格式,描述了一个控制器请求访问其它设备的过程,回应来自其它设备的请求,以及如何侦测并记录错误信息。通过此协议,控制器相互之间、控制器经由网络和其它设备之间可以完成信息和数据的交换与传送,使各种不同的公司和厂家的可编程顺序控制器(PLC)、RTU、SCADA 系统、DCS 或与兼容ModBus 协议的第三方设备之间可以连成工业网络,构建各种复杂的监控系统,并利于系统的维护和扩展,这个通讯协议已广泛被国内外各行业作为系统集成的一种通用工业标准协议。1.2国内外对于实现ModBus的现状目前Modbus协议实现方式多为单片机和PLC。1.2.1通过FPGA实现M

15、odbus有用FPGA实现的,ModBus协议的FPGA功能设计采用自顶向下的设计方法,根据功能要求先设计出由若干个功能模块组成的顶层原理框图,再把各个功能模块细化为子模块,对较复杂的把子模块继续划分成下级子模块,但是FPGA是门级编程,编写速度不快,它是基于SRAM编程的,其编程信息需要存放在外部存储器盛,需外部存储器芯片,使用方法复杂,保密性差。1.2.2通过51单片机实现Modbus通过51单片机实现的,有单片机实现设计简单,程序编写简单,成本低,但单片机主要在仪表和简单的控制电路上应用,相对于PLC,单片机控制速度慢,功能不强,精度低,不适合工业上的运用。1.2.3用过PLC实现Mod

16、bus用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区(生成标准MODBUS寄存器地址),灵活应用,减少PLC内存资源。用CP340实现MODBUS简便,费用低廉,且复制性强。1.3 本文的组织结构本文介绍了Modbus协议原理,STEP7软件如何实现CP430做Modbus从站,并得出仿真结果

17、。第一章 、绪论。接受Modbus协议的产生和国内外发展趋势。第二章 、Modbus协议简介。介绍Modbus协议规范,协议报文结构、两种传输模式的消息帧结构,功能定义,纠错方法。第三章 、PLC软件介绍。介绍STEP7软件的使用,各参数配置方法,主要功能函数实现方法。第四章 、程序运行流程图。绘制出整个程序运行的流程图。第五章 、总结。总结本课题所工作,及通过本课题的收获、讨论如何进行下一步工作。第二章 Modbus协议简介2.1协议简介 Modbus 协议是应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。它已经成为一通用工业

18、标准。有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。它描述了一控制器请求访问其它设备的过程,如果回应来自其它设备的请求,以及怎样侦测错误并记录。它制定了消息域格局和内容的公共格式。 当在一Modbus 网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。如果需要回应,控制器将生成反馈信息并用Modbus 协议发出。在其它网络上, 包含了Modbus 协议的消息转换为在此网络上使用的帧或包结构。这种转换也扩展了根据具体的网络解决节地址、路由路径及错误

19、检测的方法。 2.1.1在Modbus 网络上转输 标准的Modbus 口是使用一RS-232C 兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。控制器能直接或经由Modem 组网。 控制器通信使用主从技术,即仅一设备(主设备)能初始化传输(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。典型的主设备:主机和可编程仪表。典型的从设备:可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。Modbus 协议建立了主设备查询的格式:设备(或广播)地址、功能代码

20、、所有要发送的数据、一错误检测域。 从设备回应消息也由Modbus 协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息并把它作为回应发送出去。 2.1.2在其它类型网络上转输 在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。提供的多个内部通道可允许同时发生的传输进程。 在消息位,Modbus 协议仍提供了主从原则,尽管网络通信方法是“对等”。如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。同样,当控

21、制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器2.1.3 查询回应周期 图2-1 主-从 查询-回应周期表(1)查询 查询消息中的功能代码告之被选中的从设备要执行何种功能。数据段包含了从设备要执行功能的任何附加信息。例如功能代码03是要求从设备读保持寄存器并返回它们的内容。数据段必须包含要告之从设备的信息:从何寄存器开始读及要读的寄存器数量。错误检测域为从设备提供了一种验证消息内容是否正确的方法。 (2)回应 如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。数据段包括了从设备收集的数据:象寄存器值或状态。如果有错误发生,功能代码将被修改以用于指

22、出回应消息是错误的,同时数据段包含了描述此错误信息的代码。错误检测域允许主设备确认消息内容是否可用。 2.1.4 主站/从站通信时序图 图2-2主站/从站通讯时序2.1.5从站状态图图2-3从站状态图对上面的状态图的一些解释: l 状态 “空闲” = 没有等待的请求。这是电源上电后的初始状态。l 当收到一个请求时,子节点在处理请求中要求的动作前检验报文包。不同的错误可以发生于: 请求的格式错,非法动作, 当检测到错误时,必须向主节点发送应答。l 当要求的动作完成后,单播报文要求必须格式化一个应答并发往主节点。l 如果子节点在接收到的帧中检测到错误, 则没有响应返回到主节点。l 任何子节点均应该

23、定义并管理Modbus 诊断计数器以提供诊断信息。通过使用Modbus诊断功能码,可以得到这些计数值。 2.2总体描述MODBUS协议定义了一个与基础通信层无关的简单协议数据单元(PDU)。特定总线或网络上的MODBUS协议映射能够在应用数据单元(ADU)上引入一些附加域。图2-4通用MODBUS帧启动MODBUS事务处理的客户机创建MODBUS应用数据单元。功能码向服务器指示将执行哪种操作。MODBUS协议建立了客户机启动的请求格式。用一个字节编码MODBUS数据单元的功能码域。有效的码字范围是十进制1-255(128-255为异常响应保留)。当从客户机向服务器设备发送报文时,功能码域通知服

24、务器执行哪种操作。向一些功能码加入子功能码来定义多项操作。从客户机向服务器设备发送的报文数据域包括附加信息,服务器使用这个信息执行功能码定义的操作。这个域还包括离散项目和寄存器地址、处理的项目数量以及域中的实际数据字节数。在某种请求中,数据域可以是不存在的(0长度),在此情况下服务器不需要任何附加信息。功能码仅说明操作。如果在一个正确接收的MODBUS ADU中,不出现与请求MODBUS功能有关的差错,那么服务器至客户机的响应数据域包括请求数据。如果出现与请求MODBUS功能有关的差错,那么域包括一个异常码,服务器应用能够使用这个域确定下一个执行的操作。例如,客户机能够读一组离散量输出或输入的

25、开/关状态,或者客户机能够读/写一组寄存器的数据内容。当服务器对客户机响应时,它使用功能码域来指示正常(无差错)响应或者出现某种差错(称为异常响应)。对于一个正常响应来说,服务器仅对原始功能码响应。图2-5Modbus事物处理(无差错)图2-6Modbus事物处理(异常响应)2.3两种传输方式控制器能设置为两种传输模式(ASCII或RTU)中的任何一种在标准的Modbus网络通信。用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。 2.3.1 RTU模式当控制器设为在Modbus网络上以RT

26、U(远程终端单元)模式通信,在消息中的每个8Bit字节包含两个4Bit的十六进制字符。这种方式的主要优点是:在同样的波特率下,可比ASCII方式传送更多的数据。 代码系统 8位二进制,十六进制数0.9,A.F 消息中的每个8位域都是一个两个十六进制字符组成 每个字节的位 1个起始位 8个数据位,最小的有效位先发送 1个奇偶校验位,无校验则无 1个停止位(有校验时),2个Bit(无校验时) 错误检测域 CRC(循环冗长检测) 2.3.2 ASCII传输模式 当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信,在消息中的每个8Bit字节都作为两个ASCII字符发送。这种方

27、式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。 代码系统 十六进制,ASCII字符0.9,A.F 消息中的每个ASCII字符都是一个十六进制字符组成每个字节的位 1个起始位 7个数据位,最小的有效位先发送 1个奇偶校验位,无校验则无 1个停止位(有校验时),2个Bit(无校验时) 错误检测域 LRC(纵向冗长检测) 2.3.2.1 ASCII报文帧由发送设备将Modbus 报文构造为带有已知起始和结束标记的帧。这使设备可以在报文的开始接收新帧,并且知道何时报文结束。不完整的报文必须能够被检测到而错误标志必须作为结果被设置。报文帧的地址域含有两个字符。在 ASCII 模式, 报文用特殊

28、的字符区分帧起始和帧结束。一个报文必须以一个冒号 ( : ) (ASCII 十六进制3A )起始,以回车-换行 (CR LF) 对(ASCII十六进制0D 和0A) 结束。对于所有的域,允许传送的字符为十六进制09, AF (ASCII 编码)。设备连续的监视总线上的冒号 字符。当收到这个字符后,每个设备解码后续的字符一直到帧结束。报文中字符间的时间间隔可以达一秒。如果有更大的间隔,则接受设备认为发生了错误。下图显示了一个典型的报文帧必然的, Modbus ASCII 帧的最大尺寸为513 个字符图2-7ASCII报文帧2.3.2.2 ASCII传输模式状态图图2-8ASCII传输状态图上面状

29、态图的一些解释: l “空闲” 态是没有发送和接收报文要处理的正常状态。l 每次接收到 : 字符表示新的报文的开始。如果在一个报文的接收过程中收到该字符,则当前地报文被认为不完整并被丢弃。而一个新的接收缓冲区被重新分配。l 检测到帧结束后,完成LRC 计算和检验。然后,分析地址域以确定帧是否发往此设备,如果不是,则丢弃此帧。为了减少接收处理时间,地址域可以在一接到就分析,而不需要等到整个帧结束。2.4 LRC校验使用ASCII模式,消息包括了一基于LRC方法的错误检测域。LRC域检测了消息域中除开始的冒号及结束的回车换行号外的内容。 LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备

30、来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。 LRC方法是将消息中的8Bit的字节连续累加,丢弃了进位。 LRC简单函数如下: static unsigned char LRC(auchMsg,usDataLen) unsigned char *auchMsg ; /* 要进行计算的消息 */ unsigned short usDataLen ; /* LRC 要处理的字节的数量*/ unsigned char uchLRC = 0 ; /* LRC 字节初始化 */ while (usDataLen-) /*

31、传送消息 */ uchLRC += *auchMsg+ ; /* 累加*/ return (unsigned char)(-(char_uchLRC) ; 2.5功能码定义 2.5.1 功能码分类有三类MODBUS功能码。它们是: (1)公共功能码 l l 是较好地被定义的功能码, l l 保证是唯一的, l l MODBUS组织可改变的, l l 公开证明的, l l 具有可用的一致性测试, l l MB IETF RFC中证明的,l l 包含已被定义的公共指配功能码和未来使用的未指配保留供功能码。(2)用户定义功能码 l l 有两个用户定义功能码的定义范围,即65至72和十进制100至11

32、0。l l 用户没有MODBUS组织的任何批准就可以选择和实现一个功能码l l 不能保证被选功能码的使用是唯一的。l l 如果用户要重新设置功能作为一个公共功能码,那么用户必须启动RFC,以便将改变引入公共分类中,并且指配一个新的公共功能码。(3)保留功能码 l 一些公司对传统产品通常使用的功能码,并且对公共使用是无效的功能2.5.2 功能码定义表ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。下表2-1是ModBus的功能码定义。 表2-1 功能码定义表功能码名称

33、作用01读取线圈状态取得一组逻辑线圈的当前状态(ON/OFF)02读取输入状态取得一组开关输入的当前状态(ON/OFF)03读取保存寄存器在一个或多个保持寄存器中取得当前的二进制符04读取输入寄存器在一个或多个输入寄存器中取得当前的二进制值05设置单线圈强制一个逻辑线圈的通断状态06预设单寄存器把具体二进制值装入一个保持寄存器07读取异常状态取得8个内部线圈的通断状态,这8个线圈的地址由控制器决定,用户逻辑可以将这些线圈定义,以说明从机状态,短报文适宜于迅速读取状态08回送诊断校验把诊断校验报文送从机,以对通信处理进行评鉴09编程(只用于484)使主机模拟编程器作用,修改PC从机逻辑10控询(

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

35、的二进制值装入一串连续的保持寄存器17报告从机标识可使主机判断编址从机的类型及该从机运行指示灯的状态18(884和MICRO 84)可使主机模拟编程功能,修改PC状态逻辑19重置通信链路发生非可修改错误后,是从机复位于已知状态,可重置顺序字节20读取通用参数(584L)显示扩展存储器文件中的数据信息21写入通用参数(584L)把通用参数写入扩展储存文件,或修改之22-64保留扩展功能备用65-72保留以备用户功能所用留作用户功能的扩展编码73-119非法功能120- 127保留留作内部作用128- 255保留用于异常应答ModBus网络只是一个主机,所有通信都由他发出。网络可支持247个之多的

36、远程从属控制器,但实际所支持的从机数要由所用通信设备决定。采用这个系统,各PC可以和中心主机交换信息而不影响各PC执行本身的控制任务。表2-2是ModBus各功能码对应的数据类型。 表2-2功能码与数据类型对应表代码功能数据类型01读位02读位03读整型、字符型、状态字、浮点型04读整型、状态字、浮点型05写位06写整型、字符型、状态字、浮点型08N/A重复“回路反馈”信息15写位16写整型、字符型、状态字、浮点型17读字符型2.6 Modbus异常响应当客户机设备向服务器设备发送请求时,客户机希望一个正常响应。从主站询问中出现下列四种可能事件之一: l 如果服务器设备接收到无通信错误的请求,

37、并且可以正常地处理询问,那么服务器设备将返回一个正常响应。l l 如果由于通信错误,服务器没有接收到请求,那么不能返回响应。客户机程序将最终处理请求的超时状态。l l 如果服务器接收到请求,但是检测到一个通信错误(奇偶校验、LRC、CRC、.),那么不能返回响应。客户机程序将最终处理请求的超时状态。l l 如果服务器接收到无通信错误的请求,但不能处理这个请求(例如,如果请求读一个不存在的输出或寄存器),服务器将返回一个异常响应,通知用户错误的本质特性。异常响应报文有两个与正常响应不同的域: 功能码域:在正常响应中,服务器利用响应功能码域来应答最初请求的功能码。所有功能码的最高有效位(MSB)都

38、为0(它们的值都低于十六进制80)。在异常响应中,服务器设置功能码的MSB为1。这使得异常响应中的功能码值比正常响应中的功能码值高十六进制80。通过设置功能码的MSB,客户机的应用程序能够识别异常响应,并且能够检测异常码的数据域。数据域:在正常响应中,服务器可以返回数据域中数据或统计表(请求中要求的任何报文)。在异常响应中,服务器返回数据域中的异常码。这就定义了产生异常的服务器状态。2.7本章小结本章介绍了Modbus协议内容,两种传输方式,功能码及异常响应,使之更加深刻的理解Modbus通讯协议。第三章 PLC软件介绍及操作3.1 项目的新建双击SIMATIC管理器图标进入SIMATIC M

39、anager(SIMATIC管理器),弹出新项目小窗口,单击“Next”按钮,选择CPU模块型号、需要生成的逻辑块和输入项目名称。项目建立完成后,鼠标单击SIMATIC管理器左侧的项目名称,选择“插入新对象”选择“SIMATIC S7-300站”,既将此项目下插入一个S7-300站。图3-1 项目新建插入站点3.2硬件组态选中插入的站,SIMATIC管理器右侧将出现“硬件”文件,双击或用鼠标右键选择“打开对象”将打开“硬件组态编辑器”,如图3.2所示。图3-2 硬件组态编辑器图3.2左侧为编辑区,右侧为“目录”命令。进行硬件组态时的各种模块既从左侧目录中选择。如图3.2所示,从左侧目录中选择“

40、CPU 315-2DP”“CP 340-RS232”。硬件组态设置完成后,编译并保存。3.3 CP340参数设置双击CP340所在的槽位,会弹出如图3-3所示的对话框,点击左下角的“Parameter”按键,配置CP340。图3-3 CP340参数配置点击“Parameter”后出现图3-4,弹出CP340参数设定窗口,在“Protocol”处选择“ASCII”。图3-4 CP340参数设定窗口双击图3-4中“Protocol”处,弹出“Protocol”设置窗口,如图3-5。在这里设置CP340通讯口波特率、数据格式、奇偶校验方式。图3-5 “Protocol”设置窗口3.4编写程序保存编译

41、后在SIMATIC管理器右侧S7程序栏下会有一个“块”文件夹,点击会看到SIMATIC管理器左侧里自动生成一个空的组织块OB1,点击打开OB1块,会跳出程序编辑窗口,如图3.3。可从右侧“程序元素”表中选择相应程序元素进行程序。图3.3 程序编辑器窗口第四章 程序运行流程图图4-1 ASCII模式下流程图图4-2字结接收处理过程流程图流程图说明:ASCll方式下,开启端口接收,关闭发送。将接收缓冲区的有效字段进行LRC校验,如果校验无错则将接收缓冲区中的数据进行分离,分离出地址码、功能码、数据段、数据字节长度信息,保存到固定的位置,以备分析和调用。将待发送侦的地址、功能码、数据、数据长度信息先

42、进行LRC运算,然后连同LRC运算结果放入到发送缓冲区。ASCll模式下每两个字节代表一个信息码(即起始符、结束符、从设备地址、功能码、数据、校验),每接收到一个字符,必须判断是信息码的高四位还是低四位。侦结束处理中,如果所接收的字符是换行符,则将定时器关闭,接收状态置为“空闲”,然后向系统发送“侦接收完毕”消息;否则出错,置接收状态为“空闲”,返回。处理接收部分的过程中,将接收到信息放到对应的缓冲区,其过程如图4-2。第五章 总结Modbus通信协议适用于中小型远程监控系统,实现简单实时性、有效性强,通过主机轮询机制,保证每一个从设备的信息能够及时的发送到主站进行分析处理。理论上讲,一个主设

43、备可以查询247个从站。本文在研究了Modbus协议的规则基础上,运用西门子PLC软件,通过CP340模块实现Modbus通讯协议的从站功能。工作主要体现在: 1、分析课题的背景和意义。讲述了Modbus协议的现状和将来的发展趋势。 2、分析Modbus协议的通信规则。Modbus协议可采取RTU和ASCII两种模 式,两种模式各有其优缺点。前者实时性较后者前,吞吐率比后者高, 适用于速度要求高的场合。而后者的出错率比前者低,适用于对速到要 求不高,通信有效性比较高的场合。本文是采用的是ASCII模式,重点介 绍ASCII传输的方式及LRC校验 3、介绍西门子STEP 7软件的操作。如何进行项

44、目新建,站点的建立,硬件组态的设置以及CP340模块参数的配置。 4、给出了CP340模块实现Modbus从站功能的程序流程图。 Modbus是一个开放的协议,本文只是简单介绍了Modbus的其中一项功能。关于Modbus还有很多值得进一步发展和深化的 地方。 致 谢经过半年的忙碌和工作,本次毕业设计已经接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及一起工作的同学们的支持,想要完成这个设计是难以想象的。在完成终稿的今天,在敲完最后一个句号的时刻,我由衷的感谢我的指导老师袁文华老师,感谢在毕业设计过程中帮助过我的同学舍友们,还要感谢多年来培育我,让给我完成学业的父母。首先,我需要感谢我的指导老师,袁文华老师。我不是您最出色的学生,而您却是我最尊敬的老师。您治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围。授人以鱼不如授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想观念,树立了宏伟的学术目标,领会了基本的思考方式,从论文题目的选定到论文写作的指导,经

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号