基于PLC的自动售货机PLC设计.docx
《基于PLC的自动售货机PLC设计.docx》由会员分享,可在线阅读,更多相关《基于PLC的自动售货机PLC设计.docx(27页珍藏版)》请在冰豆网上搜索。
![基于PLC的自动售货机PLC设计.docx](https://file1.bdocx.com/fileroot1/2023-2/17/1e948ff1-24cd-4db8-ad93-4bea76216619/1e948ff1-24cd-4db8-ad93-4bea762166191.gif)
基于PLC的自动售货机PLC设计
题目:
自动售货机PLC设计
目 录
引言3
1自动售货机介绍4
1.1自动售货机功能分析4
1.1.1自动售货机的基本功能4
1.2PLC的选型原则5
1.3PLC的概述6
1.3.1PLC的产生6
1.3.2PLC的定义6
1.3.3PLC的发展趋势7
1.3.4PLC的特点8
1.3.5PLC的主要功能9
1.4PLC的基本结构及原理10
1.4.1PLC的系统结构10
1.4.2PLC各部分的作用11
1.4.3PLC的基本工作原理12
1.5西门子公司可编程序控制器产品—S7-300介绍13
1.5.1S7-300PLC的系统组成14
1.5.2技术性能15
1.5.3硬件结构15
2PLC系统设计16
2.1可编程序控制系统设计的基本原则16
2.1.1控制系统设计原则16
2.1.2控制系统设计的基本内容16
2.1.3控制系统设计的一般步骤17
2.1.4编写梯形图的注意事项17
2.1.5程序设计的步骤17
3自动售货机PLC程序设计19
3.1仿真实验系统中售货机的分析19
3.2设计任务的确定19
3.3程序设计部分20
3.3.1程序设计说明20
3.3.2PLC程序设计20
3.4下载和调试程序29
3.4.1下载程序及模块信息29
3.4.2用S7-PLCSIM调试程序29
4结束语30
参考文献30
致谢30
附录31
引言
1自动售货机介绍
1.1自动售货机功能分析
这部分阐述了自动售货机的各种动作功能和控制要求,给出了完整的自动售货机操作规程,并介绍了自动售货机运行系统种所包括的人工操作步骤。
1.1.1自动售货机的基本功能
在进行上、下位机程序编写之前,首先要做的工作是确定自动售货机本身所具备的功能及在进行某种操作后所具有的状态。
在实际生活中,我们见到的售货机可以销售一些简单的日用品,如饮料、常用药品和小的生活保健用品等。
售货机的基本功能就是对投入的货币进行运算,并根据货币数值判断是否能够购买某种商品,并作出相应的反应。
举一个简单的例子来说明,例如:
售货机中有8中商品,其中01号商品(代表第一种商品)价格为2.60元,02商品为3.50元,其余类推。
现投入1个1元硬币,当投入的货币超过01商品的价格时,01商品的选择按钮处应有变化,提示可以购买,其他商品同比。
当按下选择01商品的价格时,售货机进行减法运算,从投入的货币总值中减去01商品的价格同时启动相应的电机,提取01号商品到出货口。
此时售货机继续进行等待外部命令,如继续交易,则同上,如果此时不再购买而按下退币按钮,售货机则要进行退币操作,退回相应的货币,并在程序中清零,完成此次交易。
由此看来,售货机一次交易要涉及加法运算、减法运算以及在退币时的清零指令,这是它的内部功能。
还要有货币识别系统和货币的传动来实现完整的售货、退币功能。
自动售货机的工作流程图如图1所示。
图1自动售货机工作流程图
(2)价格方面不同厂家的PLC产品价格相差很大,有些功能类似、质量相当、I/O点数相当的PLC的价格能相差40%以上。
在使用PLC较多的情况下,这样的差价当然是必须考虑的因数。
PLC主机选定后,如果控制系统需要,则相应的配套模块也就选定了。
1.4PLC的基本结构及原理
1.4.1PLC的系统结构
目前PLC种类繁多,功能和指令系统也都各不相同,但都是以微处理器为核心用做工业控制的专用计算机,所以其结构和工作原理都大致相同,硬件结构与微机相似。
主要包括中央处理单元CPU、存储器RAM和ROM、输入输出接口电路、电源、I/O扩展接口、外部设备接口等。
其内部也是采用总线结构来进行数据和指令的传输。
如图2所示,PLC控制系统由输入量—PLC—输出量组成,外部的各种开关信号、模拟信号、传感器检测的各种信号均作为PLC的输入量,它们经PLC外部输入端子,作为PLC的输出量对外围设备进行各种控制。
由此可见,PLC的基本结构有控制部分输入和输出组成。
图2PLC硬件结构图
图3PLC的扫描全过程
图5PLC控制系统设计步骤
3自动售货机PLC程序设计
3.1仿真实验系统中售货机的分析
由于售货机的全部功能时在上位机上模拟的,所以售货机的部分硬件是由计算机软件来模拟替代的。
如钱币识别系统可以用按压某个“仿真对象”输出一个脉冲直接给PLC发布命令,而传动系统也是由计算机来直接模拟的,这些并不会影响实际程序的操作,完全能模拟现实中自动售货机的运行。
(1)试验状态假设
由于是在计算机上模拟运行,试验中有一些区别于实际情况的假设,本试验中假设:
自动售货机只售3种商品。
自动售货机可识别1元、5角硬币。
自动售货机可退币1元、5角硬币。
自动售货机有液晶显示功能。
实验中售货机忽略了各种故障以及缺货等因素。
(2)一次交易过程分析
为了方便分析,我们以一次交易过程为例。
初始状态。
由电子标签显示各商品价格,显示屏显示友好界面,此时不能购买任何商品。
投币状态。
按下投币按钮,显示投币框,按下所投币值显示屏显示投入、消费、余额数值,当所投币值超过商品价格时,相应价格选择按钮发生变化,提示可以购买。
购买状态。
按下可以购买的选择按钮,所选的商品出现在出货框中,同时显示屏上的金额数字根据消费情况相应变化。
取走商品后出货框消失。
退币按钮。
按下退币按钮,显示退币框,同时显示出应退币值及数量。
按下确认钮,则恢复初始状态。
到此为止,自动售货机的一个完整工作过程结束。
3.2设计任务的确定
在清楚自动售货机运行工作过程的基础上,制定出设计方案,确定任务的目标,以设计出合理的仿真系统。
首先,应该做上位机与下位机的任务分工:
上位机主要用来完成仿真界面的制作过程,而下位机则主要用来完成PLC程序的编写。
其次,要分别对上位机和下位机进行资料的查找与收集。
例如在进行仿真界面的设计时可以去观看一下真正售货机的外观,必要时可以借助一些宣传图片来设计自动售货机的外型;在进行PLC程序的编写时需要先分配PLC的I/O点,确定上、下位机的接口。
然后,分别对上、下位机分别进行设计工作。
最后,进行上位机设计结果与下位机设计结果的配合工作,经调试后完成整个系统的设计
另外,上位机与下位机的设计工作是密切配合的。
它们无论在通信中使用的变量,还是在仿真中控制的对象都应该是一致的。
总体上讲,仿真界面是被控对象,利用PLC来控制这个仿真的自动售货机,仿真的自动售货机接受PLC的控制指令并完成相应的动作;另一方面,仿真界面中的仿真自动售货机的运行,都是由组态界面所提供的命令语言来完成的。
这是整个仿真系统内部各大部件之间的内在关系。
我主要是对自动售货机中的下位机,也就是主要是对PLC在其中的程序进行设计。
仿真程序只做了解,虽然只做了解,但是也将在下面有所介绍。
清楚了仿真实验的整体设计思路,下面就可以开始着手设计了。
3.3程序设计部分
这部分内容是整个系统设计的主体部分。
所要完成的任务是仿真系统的程序设计,即在上述功能分析的基础上,有针对性地进行设计。
3.3.1程序设计说明
自动售货机的程序编制则是利用西门子PLC专用编程软件STEP7完成的。
在设计的过程中,就像上面所叙述的那样,并非孤立地分别进行每个步骤的设计工作,而是互相配合的。
因此在以下的详细设计过程中,并没有将自动售货机的PLC设计整体分开来写,而是相互交替,同时尽量清晰地叙述,在相应的设计部分中注明具体的解说。
3.3.2PLC程序设计
可以把自动售货机运行时的一次交易过程分为几个程序块:
投币过程;价格比较过程;选择商品过程;退币过程。
(1)自动售货机控制要求
①该自动售货机可以同时投入5角或1元硬币,自动销售汽水、果汁和咖啡。
②当投入的硬币总值等于或超过1.5元时,汽水按钮指示灯亮;当投入的硬币总值等于或超过3元时,汽水按钮和果汁按钮同时亮;当投入的硬币总值等于或超过5元时,汽水按钮、果汁按钮和咖啡按钮同时。
③当汽水按钮灯亮时,按汽水按钮,则汽水排出10s后自动停止,同时汽水按钮指示灯闪烁10s。
④当果汁按钮灯亮时,按果汁按钮,则果汁排出10s后自动停止,同时果汁按钮指示灯闪烁10s。
⑤当咖啡按钮灯亮时,按咖啡按钮,则咖啡排出10s后自动停止,同时咖啡按钮指示灯闪烁10s。
⑥若投入的硬币总值超过所购商品的价格(汽水1.5元,果汁3元,咖啡5元),则找钱指示灯亮,同时进行找钱动作。
图6自动售货机示意图
(2)I/O地址定义表
此控制系统可采用自动工作方式,输入信号为汽水按钮、果汁按钮、咖啡按钮,5角硬币投入识别口、1元硬币投入识别口记、数手动复位按钮;输出信号为汽水排出电磁阀、果汁排出电磁阀、咖啡排出电磁阀、找钱电磁阀及相应指示灯,共6个输入点,8个输出点,均为开关量。
I/O地址定义如表7所示。
图7自动售货机控制系统I/O地址定义表
(3)投币过程
在投币的过程中,每投下一枚硬币,投入显示将增加相应的币值,余额也增加同样币值。
先建立地址分配表,再编写程序。
变量表如图8所示。
对应的梯形图程序如图9所示。
图8投币过程地址分配表
图9投币过程梯形图
在图9中,当投入5角硬币时,相当于让SQ1闭合。
每投入一个5角硬币,SQ1就闭合一次,产生一次上升沿指令。
每出现一个上升沿指令,加计数输入端CU的计数器就自动加“1”,累加值保存在MW2。
再经过乘法指令MUL,把累加值MW2乘以5,结果保存在MW4。
就是每投入一个5角硬币,MW4的值就会加5。
投入1元原理同上。
(4)价格比较过程
价格的比较要贯穿实验过程的始终,只要投币数总额大于或等于某种商品的价格时,就需要输出一个信号提示可以购买。
这里只要选择LED指示灯来代表此信号。
所建立的变量表如图10所示。
图10价格比较过程地址分配表
根据地址分配表和控制要求编写的程序如图11所示。
图11价格比较过程梯形图
在图11的梯形图中,为了实现数据的实时比较,用了一个加法运算指令ADD,用来计算投币数的总额,结果保存在MW10。
在程序执行过程中,用了3个比较指令CMP,用它来比较投币数总额MW10和商品的价格。
当投币数总额MW10大于或等于某种商品的价格时,程序使相应的LED指示灯发亮表示可以购买该种商品。
如图12所示。
图12可购买LED指示灯梯形图
(5)选择商品过程
当投入的币值可以购买某种商品时,按下相应的“选择”按纽会使相应商品的电磁阀通电10s后停止。
同时相应按钮的指示灯闪烁10s,其他指示灯熄灭不亮。
建立的地址分配表如图13所示。
图13选择商品过程的地址分配表
根据地址分配表和控制要求,对应的梯形图程序如图14所示。
图14选择商品过程的梯形图
在图14的梯形图中,一是要使相应商品的电磁阀通电10s;二是要实现相应按钮的指示灯闪烁10s;三是使其他指示灯熄灭不亮。
以购买汽水为例,按下选择汽水的按钮SB1,相当于给通电延时定时器T0一个启动信号,使汽水排出电磁阀通电10s。
当T0通电时,在其他指示灯的T0常闭开关断开,使其他指示灯熄灭不亮。
与此同时,控制汽水指示灯的T0常开开关闭合,使控制汽水指示灯闪烁的2个延时定时器通电,汽水指示灯开始闪烁。
汽水排出电磁阀和汽水指示灯闪烁均在选择商品10s停止。
而控制它们停止的T0是一个通电延时定时器S_PEXT,S_PEXT在一次交易过程中只接受一次启动信号,当S_PEXT接受到启动信号开始执行倒计时,T0常闭开关断开,阻止在定时结束之前SB1又一次的启动信号。
购买果汁、购买咖啡的原理同上。
(6)退币过程
在退币过程中,最主要的是检测是否需要退币的运算过程,当选择了购买的商品后,马上检测投入的硬币总值是否超过所购商品的价格(汽水1.5元,果汁3元,咖啡5元),是则找钱指示灯亮,同时进行找钱动作。
否则找钱指示灯不亮,不进行找钱动作。
当退币过程结束后,还要使某些用到的寄存器重新赋零。
所建立的地址分配表如图15所示。
对应的梯形图程序如图16所示。
图15选择商品过程的地址分配表
图16选择商品过程梯形图
整个退币过程在按下选择的商品按钮时执行,同样也用到一个算术指令,马上算出扣除商品价格后的硬币余额,结果保存在MW12,进而执行下面的指令。
CMP是比较指令,将硬币余额MW12与0比较,硬币余额大于0,则表示购买后有余额,找钱指示灯通电亮起,找钱电磁阀通电进行找钱动作。
当整个交易结束后(商品排出电磁阀通电10s后),程序进行初始化,给MW2(C0)、MW4、MW6(C1)、MW8、MW10和MW12赋零,MW2(C0)、MW4、MW6(C1)、MW8、MW10和MW12是程序的中间量,为的只是程序在使用过程中能稳定执行,避免出现错误,防止下一次交易时出错。
整个交易过程考虑到PLC的主要特点是执行过程稳定可靠,但执行速度较慢。
在计算时尽量将数值作为整数计算,因为是在计算机上模拟,可以把一部分功能交由计算机来实现,这里把5角当作5、1元当作10、这样可以避免把这些数据当作有小数点的实数计算。
完成了以上6个过程,自动售货机的PLC控制程序基本完成,程序可以控制售货机实现各种要求的功能。
3.4下载和调试程序
为了调试前面所完成的自动售货机的PLC设计项目,必须将程序和模块信息下载到PLC的CPU模块。
要实现编程设备与PLC之间的数据传送,首先应正确安装PLC硬件模块,然后用编程电缆(如USB-MPI电缆、PROFIBUS总线电缆)将PLC与PG/PC连接起来,并打开电源开关。
3.4.1下载程序及模块信息
在STEP7的应用程序组件中,下载功能都可以通过单击下载按钮或菜单命令【PLC】→【Download】实现,具体步骤如下:
①启动SIMATICManager,并打开自动售货机项目。
②单击仿真工具按钮,启动S7-PLCSIM仿真程序。
③将CPU工作模式开关切换到STOP模式。
④在项目窗口内选中要下载的工作站。
⑤执行菜单命令【PLC】→【Download】,或单击鼠标右键执行快捷菜单命令【PLC】→【Download】将整个S7-300站下载到PLC。
3.4.2用S7-PLCSIM调试程序
调试程序可以在在线状态下进行,也可以在仿真环境下进行。
具体步骤如下:
①双击自动售货机项目下的OB1,在程序编辑器中打开组织块OB1。
然后单击监视按钮,激活监视状态。
②将CPU模式开关转换到RUN模式,开始运行程序。
4结束语
经过几个月的学习、研究以及经过蔺老师的指导,终于按时完成了毕业设计。
设计主要研究的是自动售货机中有关于PLC的部分。
自动售货机是由于劳动密集型的产业构造向技术密集型社会转变的产物。
自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,有吸引人们购买好奇心的自身性能,可以很好地解决人工费用上升的问题等各项优点。
所以说,自动售货机是今后小商品和饮料销售方式的一个很好的发展趋势,它的出现将极大的方便人们购买所需要的小商品。
参考文献
[1]胡健.西门子S7-300PLC应用教程.北京:
机械工业出版社
[2]程周.可编程序控制器原理与应用.北京:
高等教育出版社
[3]王永华.现代电气控制及PLC应用技术.北京:
北京航空航天大学出版社
[4]周美兰,周封,忘岳宇.PLC电气控制与组态设计.北京:
科学出版社
[5]吴建强,姜三勇.可编程控制器原理及应用.哈尔滨:
哈尔滨工业大学出版社
[6]吴中俊,黄永红.可编程序控制器原理及应用.北京:
机械工业出版社
[7]张万忠,刘明芹.电器与PLC控制技术.北京:
化学工业出版社
[8]王兆义.可编程序控制器教程.北京:
机械工业出版社
附录
自动售货机完整的地址分配表:
自动售货机完整的PLC梯形图程序: