《自动售货机的PLC控制系统设计论文1.doc》由会员分享,可在线阅读,更多相关《自动售货机的PLC控制系统设计论文1.doc(23页珍藏版)》请在三一办公上搜索。
1、课 程 设 计(论文) 题目 自动售货机的PLC控制系统设计沈阳航空航天大学课 程 设 计 任 务 书课 程 名 称 控制系统课程设计 院(系) 自动化学院 专业 自 动 化 班级 140702013 学号 2011040702013 学生姓名 黄元祥 课程设计题目 自动售货机的PLC控制系统设计 课程设计时间 2014 年 12 月 15 日至 2014 年 12 月 26 日课程设计内容及要求:1自动售货机有3个投币孔,分别为1元、5元和10元。2售货共有2种饮料供选择,分别为汽水和咖啡。3如投币总额超过销售价格,将可由退币钮找回余额。4投币总额或当前值显示在7段数码管上。5投币值等于或大
2、于12元时,汽水和花茶指示灯亮,表示只可选择汽水和花茶。6投币值等于或大于20元时,花茶和咖啡指示灯亮,表示2种均可选择。7按下要饮用的饮料按钮,则相对应的指示灯开始闪烁,3s后自动停止,表示饮料已经掉出。8动作停止后按退币钮,可以退回余额。 具体要求如下:1. 根据控制对象的控制要求完成PLC程序设计并调试成功。2. 应用组态王软件完成上位机监控程序。3. 完成课程设计说明书。指导教师 年 月 日负责教师 年 月 日学生签字 年 月 日目录0.前言11.总体方案设计22.自动售货机的硬件设计32.1.PLC的工作原理32.2.自动售货机的I/O口分配42.3.自动售货机的外部接线43.自动售
3、货机的软件设计53.1编程软件介绍53.2自动售货机程序及设计53.2.1.投币按钮的设计63.2.2自动售货机的购物设计63.2.3自动售货机的金额显示设计74.自动售货机的监控界面的设计84.1组态软件的概述84.2定义数据词典84.3用户界面的制作95 联合调制105.1 PCL的调制105.2 组态的调试106 课设小结及进一步设想13参考文献14附录I 源程序清单15自动售货机的PLC控制系统设计黄元祥 沈阳航空航天大学自动化学院摘要:本论文设计的是基于西门子S7-200 系列PLC构成的自动售货机监控系统,本文阐述了自动售货机的来源与发展,以及它在国内外发展的现状,对自动售货机的方
4、案进行了论证,介绍了PLC的基本组成、特点以及工作原理,对基于西门子S7-200 系列PLC构成的自动售货机系统整体设计过程进行较为细致的论述。在PLC梯形图的编写时,文中采用的是西门子PLC梯形图专用编译软件STEP7来进行编写。介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。具体说明了可编程序控制器在自动售货机中的作用。程序涉及到了自动售货机工作的绝大部分过程。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。关键字:PLC;顺序功能图;梯形图;I/O点的分配0.前言科学技术的迅猛发展带动了我国
5、工业的腾飞,机械制造业作为现代工业的重要组成部分也在快速的向前发展。为顺应现代工业发展生产出小批量,多品种、多规格的产品和降低产品的成本,提高产品的质量的要求,使我们的生产设备和自动化生产线的控制系统必须具有极高的可靠性和极强的灵活性。可编程控制器顺应这一要求应运而生,现在可编程控制器已经广泛的运用在各种机械设备和生产过程的自动化控制系统中。可编程控制器(Programmable Logic Controller)简称PLC,是一种专门用于工业环境下的数字运算操作系统。PLC 是在微电子技术的基础上,结合了自动控制技术、计算机技术和通信技术发展起来的一种用于自动控制的装置,与继电器控制相比它体
6、积小,维护操作方便,抗干扰能力强,可靠性高,可在线更改程序,而且编程方便,通用性强,功能完善,设计、施工、调试的周期短,价格低廉,采用编程代替了大部分的连线给安装调试省了不少的功夫,在其硬件上还设计了屏蔽电路、滤波电路和采用了光电隔离技术相对于继电器控制而言抗干扰能力要强,可靠性也要高。软件设计中采有故障检测、信息保护与恢复等措施,使它的可靠性得到进一步提高。PLC控制技术在现代化工业控制中承担着举足轻重的作用。它不仅承担从单机自动化和小型企业的整条流水生产线的自动化,还承担着大企业整个企业的生产自动化控制。现在PLC控制技术已经成为了现代工业自动化控制的一个重要组成部分。给PLC通电后,PL
7、C首先对硬件和软件作初始化处理。 PLC采用循环扫描的工作方式,使PLC的输出能够及时的响应各种输入信号。PLC的用户程序是按照先后顺序存储,执行程序时CPU从第一条程序开始执行直到遇到结束指令后返回第一条程序。全过程扫描一次所需的时间称为扫描周期。图1 西门子S7-200系列PLC随着PLC技术的不断发展,传统的机械设备已经逐步被新一代的智能化设备所代替。现代加工的工艺要求和稳定性要求以及复杂的控制功能,传统的控制柜控制已经很难达到预定的控制要求尤其是在抗干扰能力和可靠性方面。PLC应时而生顺势发展。在我国随着制造业的发展, 剪板机床的发展越来越成为机械制造行业的中流砥柱,通用型高性能剪板机
8、,广泛应用于航空、汽车、农机、电机、电器、仪器仪表、医疗器械、家电、五金等行业。此次设计的是剪板机控制系统,能实现板材的自动进料、自动压料、自动剪切功能。在板材加工的过程中,板材的进料、压紧、剪切等过程都按一定的顺序精确控制。此次设计采用西门子PLC S7-200系列,如图1,根据剪板机的工艺要求设计相应的控制方案。1.总体方案设计自动售货机的基本功能就是对投入的钱币数进行计算,然后根据运算结果做出相应的判断,看看哪种商品可以进行购买,哪种商品不能购买,本次课程设计的要求是可识别三种钱币,分别是1元、5元、10元,采用三个按钮进行模拟,自动售货机共出售两种货物,其价格分别定为12元、20元,当
9、投币数大于等于货物价格时且售货机里有这种货物时,指示灯亮,表示可以进行购买,两种货物分别用两个小灯代替进行模拟。除此之外,本次设计还涉及了显示、找零、送货等功能的实现,其中显示部分采用数码管进行显示,显示投币总数和购买后的余额;当按下找零按钮后,数码管显示进行清零退币,且退币指示灯闪烁。由于售货机的全部功能是在下位机上模拟的,而监控是用上位机组态王进行实时监控。所以售货机的部分硬件是由计算机软件来模拟替代的,这些并不会影响实际程序的操作,完全能模拟现实售货机的运行。图2 自动售货机的顺序功能图2.自动售货机的硬件设计2.1.PLC的工作原理在PLC的存储器中,有一片区域是用来存放输入信号和输出
10、信号的状态的,他们分别称为输入过程映像寄存器和输出映像寄存器。在读取输入时,PLC把所有的输入电路的1/0状态读入输入过程映像寄存器中。电路闭合输入状态为1,输入断开输入状态为0。PLC的用户程序由若干条指令组成,PLC的指令再存储器中是按顺序存储的。执行用户程序时,在没有跳转指令的情况下,CPU按照从上到下,从左到右的执行原则从第一条指令开始,按顺序逐条执行。在整个执行阶段,各个输入点的状态是固定不变的,程序执行完成之后再用输入过程映像寄存器的值更新输出点,使系统的运行更稳定。在处理通信请求时,CPU处理从通信接口和智能模块接收到的信息,并在适当的时候将信息传送给通信请求方。PLC具有自诊断
11、功能,自诊断包括定期的检查CPU模块的操作和扩展模块的状态是否正常,将监控定时器复位以及一些别的内部工作。输出过程的状态都存入到输出过程映像寄存器中,CPU在执行完用户程序后,将输出过程映像寄存器的0 /1状态传送到输出模块并锁存起来。当PLC的操作模式由RUN模式变成STOP模式时,数字量输出被置为系统块中的输出表定义的状态,或保持原有的状态,默认的设置时将所有的数字量的输出都清零。当PLC程序中有中断程序时,当有中断事件发生了时,CPU停止正常的扫描工作方式,马上跳入中断立即执行中断程序,执行完中断程序后CPU又返回到正常的扫描工作中。PLC通过中断可以大大的提高CPU对某些事件的响应速度
12、。2.2.自动售货机的I/O口分配根据控制要求,系统的输入量有:启动、投币一元、投币五元、投币十元、购买汽水、购买咖啡、退币。系统的输出量有:两组LED数码管、汽水指示灯、咖啡指示灯。共需实际输入点数7个,输出点数18个。配置表如表1所示:输 入I0.0启动输 出Q0.0-Q0.7LED数码管I0.1投币一元Q1.0汽水指示灯I0.2投币五元Q1.1咖啡指示灯I0.3投币十元Q2.0-Q2.7LED数码管I0.4购买汽水I0.5购买咖啡I0.6退币表1系统I/O资源配置表2.3.自动售货机的外部接线PLC控制系统的设计中,虽然接线工作占的比重较小,大部分工作还是PLC的编程设计工作,但它是编程
13、设计的基础,只要接线正确后,才能顺利地进行编程设计工作。而保证接线工作的正确性,就必须对PLC内部的输入输出电路有一个比较清楚的了解。 LED数码管显示商品指示灯PLC 启动、投币、购买退币按钮 电源、图3 自动售货机的外部接线图3.自动售货机的软件设计3.1编程软件介绍西门子S7-200采用的是STEP7-Micro/WIN编程软件,本次设计也是采用这一软件实现的。STEP 7-Micro/WIN是在Windows平台上运行的SIMATIC S7-200 PLC编程软件,简单易学,能够解决复杂的自动化任务,适用于所有SIMATIC S7-200 PLC机型软件编程。它可以使用包括中文在内的多
14、种语言,支持梯形图、语句表和功能块图,还可以对三种语言进行切换。软件界面包括程序块、数据块、系统快、符号表、状态表、交叉引用表、通信和设置PG/PC接口组成。程序块由编程代码和注释组成,注释是方便我们读程序而设的是可选量,代码有主程序代码、子程序代码和中断程序代码,代码下载到PLC中使PLC运行既定的控制。数据块是设定程序块中程序中的参数用的,它由数据和注释组成。系统块是用来设置系统参数的,一般情况下系统参数都采用默认值。我们只有在用户程序处于运行状态时才用状态表,状态表可用来监视、修改和强制程序执行时指定的变量的状态。交叉引用表列举出程序中使用的各编程元件的触点、线圈等在程序的哪个具体位置出
15、现。通信和设置PG/PC接口主要用来设置PLC与计算机通信参数。STEP7-Micro/WIN编程软件为用户提供了三种编程语言,分别是梯形图、功能块图和指令表。本次课设使用的编程语言是梯形图。3.2自动售货机程序及设计3.2.1.投币按钮的设计 自动售货机的投币按钮分别表示1元、5元、10元的投币金额,每次投币金额存在PLC的内部寄存器的MW20中,且用加法计算器ADD_I分别进行累加。但是在操作PLC的按钮时存在抖动问题,导致按一次而进行了多次加法操作。所以在PLC程序的加法计算器之前就必须加一个上升沿对其进行触发,就可以消除这类多次操作的现象,使设计变得更准确。图3 投币程序3.2.2自动
16、售货机的购物设计自动售货机的购物按钮用I0.4和I0.5分别表示汽水和咖啡购买键,其原理与投币按钮的原理相同,都是对PLC的内部寄存器MW20进行加减操作。只是在购买后多了一个货物指示灯的闪烁设计,当投币金额大于或等于商品价格后,该商品的指示灯亮起,如果购买该商品之后,商品指示灯就会闪烁3秒以表示该商品已被购买且正在出货。其程序设计是利用两个定时器和一个计数器对指示灯进行一个脉冲控制。图4 商品指示灯闪烁程序3.2.3自动售货机的金额显示设计 在自动售货机的实际操作中,需要对投币金额进行实时显示,以方便购买者。本次设计LED数码管显示控制是利用PLC中的SEG语句进行输出的,但是SEG语句有特
17、殊的要求,它必须要求输入是Bit字节8位寄存器,而我们用的加减法计算器是对MW20寄存器里的数据进行操作的,且要求有个位和十位同时显示。所以就先要对MW20寄存器进行除法运算,除以10,且将商和余数存入VD30寄存器中,这里VD30寄存器是由VW30和VW32两个寄存器组成,在将这两个寄存器分别用转换指令I_B把W字节转换为B字节,再用SEG指令。SEG指令会自动讲输入寄存器中的数据转换为8段的数字量,且输出必须是连续的8位Q口,而在这次课设是用Q0.0Q0.7表示个位,Q2.0Q2.7表示十位。还要特别要注意,如果在组态王中不用许多小灯代表PLC控制的LED数码管,而直接使用数字显示时,那就
18、要对PLC程序就行处理,使之能转换为组态王能识别的寄存器中。图4 LED数码显示程序图5 组态显示程序4.自动售货机的监控界面的设计4.1组态软件的概述MCGS(Monitor and Control Generated System)即监视与控制通用系统,它是由北京昆仑通态自动化软件科技有限公司研发的一款组态软件。MCGS主要为工程技术人员快速构造和生成上位机人机界面,它可在Microsoft Windows 95/98/Me/NT/2000等操作系统下良好运行。MCGS操作简单,它不需要你具有专业的计算机编程技术,就算你对计算机编程一点也不明白你也能够通过短时间的学习编译一个运行可靠的人机
19、界面。此次设计选用MCGS做上位机界面主要是因为他的可靠性以及简单易学。MCGS组态软件使用广泛,现已成功应用于石油化工、钢铁行业、电力系统、水处理、环境监测、机械制造、交通运输、能源原材料、农业自动化、航空航天等领域,并在这些领域里面发挥了积极的作用。 4.2定义数据词典 组态王的数据词典是PLC与组态之间通信的桥梁,只有数据词典设置正确,才能使上位机控制下位机,上位机监测下位机。这里应该注意,在PLC中所以开关量都是以I来控制的,但是在组态王中,如果同样选择相应的寄存器I,是不能达到用哪个组态控制PLC的目的。所以在PLC程序中就要在所以开关量处加上相应的M寄存器,若原程序的开关量I处是常
20、开触点,那就用相应的M寄存器与之并联,若是原程序的开关量I处是常闭触点,那就用相应的M寄存器与之串联。这样在组态王中数据词典定义中的寄存器选择就与之对应。如图6所示:图6 组态数据词典列表4.3用户界面的制作在组态王中,用户界面是操作人员通过组态上位机监控PLC工作最直接的窗口,它的功能关系到对PLC监控的全面性。如果用PLC实现的功能特别复杂,那在组态王用户界面的制作过程就变得相对复杂,因为它涉及到对用户界面的画面属性进行编程。而且用户界面的制作是否美观、应用得体,也关系到组态监控PLC是否得心应手。图7 用户界面制作图5 联合调制5.1 PCL的调制在完成下位机PLC程序的设计之后,我们要
21、对PLC程序进行调试检验编写的程序的能否完成此次设计要求实现的功能,并对程序中的不足之处进行修改。首先,在单独运行PLC中看看所编程序是否满足本次课程设计的基本要求,如是否能正确显示投币金额、是否能让商品指示灯闪烁、是否按退币按钮后能将金额显示清零等等。图8 外部调试图5.2 组态的调试 组态的调试的确费时费事,因为它不像PLC调试那样可以单步调试。当打开运行窗口是发现并不能按照预先设计的那样工作时,就得慢慢的在制作界面中一点点的检查。特别是当两者波特率不一样的时候,组态王与PLC之间就不能通信,更谈不上用组态对PLC的监控。一切就绪后,如图所示表示组态界面刚开始时,等待投币显示,其中投币金额
22、LED显示是为了对应S7-200模拟实验挂箱上的7段数码管,而右边的投币金额则是数字显示。如图9所示:图9 用户界面当操作组态王用户界面时,如投币15元和31元时,可以看到指示灯亮起,如图10和11所示:图10 投币15元图11投币31元当购买商品时,指示灯会闪烁,且投币金额会减去所购买的金额。如图12所示:图12 购买后余额6 课设小结及进一步设想通过这两周的控制系统课程设计,可以说感受颇深啊!其中的酸甜艰辛与成功的喜悦并不能用言语去表达。与其说完成这次课程设计,不如说学会关于PLC和组态王的一点点皮毛,因为在这两周的时间里,自己可以明显的感觉到认知的改变。之前从PLC和工程组态的老师那了解
23、一些关于工程上的应用,现在通过大家的课程设计题目上,可以发现PLC的确离我们的生活很近。作为一位自动化专业的学生,控制系统是我们的必修课,怎样使我们所控制的系统变得更简便而又不影响控制效果,这是我们不论在工作还是在学习上都应该时刻注意的问题。关于这个问题,在这次的课程设计中,自己是深有体会。首先是分析课程设计要求,画出相应的流程图,这是所有设计都必须考虑,它的明确与否关系到后面的编程思路是否正确简便。其次是在编程的过程中使用简便的语句,在这次课程设计的编程中,对于这点,我可伤透脑筋。由于我在编程时是从单个模块开始的,所以导致之前设计好的各个组合在一起时就变得不那么的让人满意。就那LED数码显示
24、来说,我用到七段数码管,但程序中输出的是八段信号,也就是说最后的H段已经被一个制零的信号给占据,而它对应的Q口以就不能在作为其他输出量进行输出。最后是做组态界面碰到各种各样的问题,其原因是之前在组态课上所学是模拟PLC,而现在真枪实弹的控制PLC就感觉什么都不会了,感叹纸上得来终觉浅。好在我有一颗好奇摸索的心,尝试去解决问题,只有这样才能最终从根本上解决所有的难题。当然,在这次课程设计中也有一点遗憾,因为实验室PLC实验台的输入输出口并不是太多,它只能满足简单实验设计。如果它若是能满足我们的好奇心,让我们尝试完成更复杂的控制设计,那该有多激动人心!重要的不是结果而是在过程中学会了什么!总体来说
25、,这次课设我受益匪浅.在摸索该如何设计程序使之实现所需功能的过程中,特别有趣,培养了我的设计思维,增加了实际操作能力.在让我体会到了设计的艰辛的同时,更让我体会到成功的喜悦和快乐。这次控制系统课程设计,虽然短暂但是让我得到多方面的提高。参考文献1 罗宇航流行PLC实用程序及编程 西安电子科技大学出版社, 2006年2 王永华现代电气控制及PLC 应用技术. 北京:北京航空航天大学出版社,20003 周美兰,周封,忘岳宇PLC电气控制与组态设计北京:科学出版社,20034 吴建强,姜三勇可编程控制器原理及应用哈尔滨工业大学出版社,20005 吴中俊,黄永红可编程序控制器原理及应用北京:机械工业出版社,20036 王兆义可编程序控制器教程北京:机械工业出版社,20017 廖常初S7-200 PLC 基础教程北京:机械工业出版社,2001附录I 源程序清单