1、PLC控制自动售货机系统设计实现可行性研究报告PLC控制自动售货机系统设计实现可行性研究报告摘要: 本文介绍了自动售货机的基本原理以及工作流程l、然后以一次交易过程为例l、把交易过程分为几个程序块l、然后分别对程序块进行编程.具体说明了可编程序控制器在自动售货机中的作用.程序涉及到了自动售货机工作的绝大部分过程.利用PLC控制的自动售货机提高了系统的稳定性l、保证自动售货机能够长期稳定运行.关键词 自动售货机;可编程序控制器;绪论.11自动售货机的介绍.41.1自动售货机功能分析.41.1.1自动售货机的基本功能.5 1.2 PLC的基本结构及原理 .51.3 PLC的选型原则52PLC系统设
2、计. .72.1可编程序控制系统设计的基本原则72.1.1控制系统设计原则 72.1.2控制系统设计的基本内容. 72.1.3控制系统设计的一般步骤 .82.1.4程序设计的步骤. 83自动售货机PLC程序设计.103.1仿真实验中售货机的分析.103.2设计任务的确定.103.3程序设计部分.113.3.1程序设计说明.113.3.2PLC程序设计.113.4仿真界面与PLC203.5数据连接243.5.1定义I/O设备.243.5.2设计 263.5.3运行 294结束语.29参考文献 .30绪论从自动售货机的发展趋势来看l、它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物.大
3、量生产、大量消费以及消费模式和销售环境的变化l、要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生l、人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约l、无人自动售货机作为一种必须的机器便应运而生了.从广义来讲投入硬币、纸币、信用卡等后便可以销售商品的机械l、从狭义来讲就是自动销售商品的机械.从供给的条件看l、自动售货机可以充分补充人力资源的不足l、适应消费环境和消费模式的变化l、24小时无人售货的系统可以更省力l、运营时需要的资本少、面积小l、有吸引人们购买好奇心的自身性能l、可以很好地解决人工费用上升的问题等各项优点.现在l、自动售货机产业正在走向信
4、息化并进一步实现合理化.例如实行联机方式l、通过电话线路将自动售货机内的库存信息及时地传送各营业点的电脑中l、从而确保了商品的发送、补充以及商品选定的顺利进行.并且l、为防止地球暖化l、自动售货机的开发致力于能源的节省l、节能型清凉饮料自动售货机成为该行业的主流.在夏季电力消费高峰时l、这种机型的自动售货机即使在关掉冷却器的状况下也能保持低温l、与以往的自动售货机相比l、它能够节约1015的电力.进入21世纪时l、自动售货机也将进一步向节省资源和能源以及高功能化的方向发展.因经济复苏缓慢l、社会对扩大就业与工作场所提供茶点饮料的福利事业更为关注.自动售货机不仅保障了惬意的工休时间l、也是最廉价
5、、提高职工工作效率最有效的手段.特别是在24小时无休工作状态中的办公场所l、使用独具魅力的迷你型饮料冲饮机l、解决了不间断提供咖啡饮品服务的问题l、这种服务加速了自动售货机与咖啡饮品服务的融合.1999年的全美自动售货机协会和全美咖啡服务协会的合并使人们更直观地看到了这种融合现象. 图1 自动售货机工作流程图须经过反复调试、修改l、直到满足要求为止.必要时还需设计控制台编制控制系统的技术文件.2.1.3 控制系统设计的一般步骤(1)根据生产的工艺过程分析控制要求.(2)根据控制要求确定所需的用户输入、输出设备l、据此确定PLC的I/O点数.(3)选择PLC系统.(4)分配PLC饿I/O点l、设
6、计I/O连接图.(5)进行PLC程序设计l、同时可进行控制太的设计和现场施工.2.1.4 程序设计的步骤(1)对于较复杂的控制系统l、需绘制系统控制流程土l、用以清楚地表明动作的顺序和条件.(2)设计梯形图.这程序设计的关键一步l、也是比较困难的一步.(3)根据梯形图编制程序清单.(4)用编程器将程序输入到PLC的用户存储器中l、并检查输入的程序是否正确.(5)对程序进行调试和修改l、直到满足要求为止.(6)待控制台及现场施工完成后l、就可以进行联机调试.若未满足要求l、再从新修改程序或检查接线l、直到满足为止.(7)编写技术文件.(8)交付使用. 控制系统设计步骤流程图如图4所示.图4 PL
7、C控制系统设计步骤3 自动售货机PLC程序设计3.1 仿真实验系统中售货机的分析由于售货机的全部功能时在上位机上模拟的 l、所以售货机的部分硬件是由计算机软件来模拟替代的.如钱币识别系统可以用按压某个“仿真对象”输出一个脉冲直接给PLC发布命令l、而传动系统也是由计算机来直接模拟的l、这些并不会影响实际程序的操作l、完全能模拟现实中自动售货机的运行.(1) 试验状态假设 由于是在计算机上模拟运行l、试验中有一些区别于实际情况的假设l、本试验中假设:1 自动售货机只售8种商品.2 自动售货机可识别10元、5元、1元、5角、1角硬币.3 自动售货机可退币10元、5元、1元、5角、1角硬币.4 自动
8、售货机有液晶显示功能.5 实验中售货机忽略了各种故障以及缺货等因素.(2) 一次交易过程分析 为了方便分析l、我们以一次交易过程为例.1 初始状态.由电子标签显示各商品价格l、显示屏显示友好界面l、此时不能购买任何商品.2 投币状态.按下投币按钮l、显示投币框l、按下所投币值显示屏显示投入、消费、余额数值l、当所投币值超过商品价格时l、相应价格选择按钮发生变化l、提示可以购买.3 购买状态.按下可以购买的选择按钮l、所选的商品出现在出货框中l、同时显示屏上的金额数字根据消费情况相应变化.取走商品后出货框消失.4 退币按钮.按下退币按钮l、显示退币框l、同时显示出应退币值及数量.按下确认钮l、则
9、恢复初始状态.到此为止l、自动售货机的一个完整工作过程结束.3.2 设计任务的确定 在清楚自动售货机运行工作过程的基础上l、制定出设计方案l、确定任务的目标l、以设计出合理的仿真系统. 首先l、应该做上位机与下位机的任务分工:上位机主要用来完成仿真界面的制作过程l、而下位机则主要用来完成PLC程序的编写.其次l、要分别对上位机和下位机进行资料的查找与收集.例如在进行仿真界面的设计时可以去观看一下真正售货机的外观l、必要时可以借助一些宣传图片来设计自动售货机的外型;在进行PLC程序的编写时需要先分配PLC的I/O点l、确定上、下位机的接口.然后l、分别对上、下位机分别进行设计工作.最后l、进行上
10、位机设计结果与下位机设计结果的配合工作l、经调试后完成整个系统的设计另外l、上位机与下位机的设计工作是密切配合的.它们无论在通信中使用的变量l、还是在仿真中控制的对象都应该是一致的.总体上讲l、仿真界面是被控对象l、利用PLC来控制这个仿真的自动售货机l、仿真的自动售货机接受PLC的控制指令并完成相应的动作;另一方面l、仿真界面中的仿真自动售货机的运行l、都是由组态界面所提供的命令语言来完成的.这是整个仿真系统内部各大部件之间的内在关系.我主要是对自动售货机中的下位机l、也就是主要是对PLC在其中的程序进行设计.仿真程序只做了解l、虽然只做了解l、但是也将在下面有所介绍.清楚了仿真实验的整体设
11、计思路l、下面就可以开始着手设计了.3.3 程序设计部分 这部分内容是整个系统设计的主体部分.所要完成的任务是仿真系统的上位机与下位机的程序设计l、即在上述功能分析的基础上l、有针对性地进行设计.3.3.1 程序设计说明下位机程序的编制则是利用松下PLC专用编程软件FPWIN-GR完成的.在设计的过程中l、就像上面所叙述的那样l、并非孤立地分别进行上位机和下位机的设计工作l、而是互相配合的.因此在以下的详细设计过程中l、并没有将上位机的设计与下位机的设计整体分开来写l、而是相互交替l、同时尽量清晰地叙述l、在相应的设计部分中注明是上位机的设计还是下位机的设计.3.3.2 PLC程序设计可以把一
12、次交易过程分为几个程序块:运行初期电子标签价格的内部传递;投币过程;价格比较过程;选择商品过程;退币过程.(1) 运行初期电子标签价格的内部传递程序的设计仿真系统运行初期l、要由PLC向仿真画面相应对象传递已经存储好的价格l、还要给投入显示、消费显示及余额显示存储器清零l、同时也要给存储退币币值的存储器清零.程序编制过程中l、要用到运行初期闭合继电器R9013、16位数据传送指令FO,同时在上位机ForceControl中l、必须定义相应的变量l、来实现与PLC程序的对接.所定义的变量如表1所示. 表1 初始状态变量表根据表1 编制PLC程序如图5所示. 图5 运行初期电子标签价格的内部传递程
13、序 在梯形图程序图5中l、系统初始化时l、通过运行初期闭合继电器R9013在第一次扫描时将数值传递给上位机.给WR1-WR11及SV0-SV4赋初值l、赋值功能通过高级指令FO实现.至于为什么要加入WR13、WR15、WR17、WR19及WR20l、在以后的程序中将介绍它们的作用. (2).投币过程在投币的过程中l、每投下一枚硬币l、投入显示将增加相应的币值l、余额也增加同样币制.先建立变量表l、在编写程序.变量表如表2所示.对应的梯形图程序如图7所示. F60 CMP , WR3 , WR9R900A Y5 R900B . . . . . . 图8 价格比较过程梯形图(4)选择商品过程 当投
14、入的币值可以购买某种商品时l、按下相应的“选择”按纽即可在出货框中出现该种商品l、同时消费显示栏中显示出已经消费掉的金额l、余额也将扣除已消费的币值l、接着余额继续与价格相比较l、判断是否能继续购买.出现在出货口的商品在没有取走前l、一直保持显示状态l、用鼠标点击该商品代表已经取走l、出货口中的商品隐藏.建立的变量表如表4所示.对应的梯形图程序如图9所示. 表4 选择商品过程变量表 在梯形图9中l、一是要使商品出现在出货框中l、二是要实现内部货币的运算.以第一步为例l、按下选择01商品键l、相当于给R205加一个信号(只接受一次脉冲l、所以用DF微分指令)l、当YO接通(01商品灯亮)时l、则
15、系统显示可以购买01商品.由于取01商品R230是常闭触点l、故Y8输出l、代表在出货框中出现01商品l、购买成功.当按下取01商品按钮时l、R230断开l、不能输出Y8l、代表01商品被取走.内部币值的计算和是否取走商品无关l、只要按下选择按钮l、并且可以购买此商品就要从余额中扣除相应的金额l、显示消费的币值.加法由F20指令实现l、减法由F25实现. R205 Y0 R230 Y8 DF Y8 R205 Y0 DF 1 1 F25- , WR 4 , WR 3 F20+ , WR 4 , WR 2 R206 Y1 R231 Y9 DF Y9 R206 Y1 DF 1 1 F25- , WR
16、 5 , WR 3 F20+ , WR 5 , WR 2 R207 Y2 R232 YA DF YA R207 Y2 DF 1 1 F25- , WR 6 , WR 3 F20+ , WR 6 , WR 2 R208 Y3 R233 YB DF YB R208 Y3 DF 1 1 F25- , WR 7 , WR 3 F20+ , WR 7 , WR 2 R209 Y4 R234 YC DF YC R209 Y4 DF 1 1 F25- , WR 8 , WR 3 F20+ , WR 8 , WR 2 R20A Y5 R235 YD DF YD R20A Y5 DF 1 1 F25- , WR
17、 9 , WR 3 F20+ , WR 9 , WR 2 R20B Y6 R236 YE DF YE R20B Y6 DF 1 1 F25- , WR 10 , WR 3 F20+ , WR 10 , WR 2 R20C Y7 R237 YF DF YF R20C Y7 DF 1 1 F25- , WR 11 , WR 3 F20+ , WR 11 , WR 2 图9 选择商品梯形图 (5)退币过程 在退币过程中l、最主要的是完成退币的运算过程l、根据结果输出相应的钱币l、退币结束时还要使用到的某些寄存器重新赋零.所建立的变量如表5所示.对应的梯形图程序如图10所示. 表5 退币过程变量表 整
18、个退币过程在按下按钮(即R20F接通时)时执行l、同样也用到一个微分指令l、在接收到信号时产生一次开关脉冲l、进而执行一次其下面的指令.F32是除法指令l、第一次将余额的币值除以1000l、商存储于SV0中l、作为退币10元的输出值.余数则存储于特殊数据寄存器DT9015中l、下次将不能被1000(10元)整除的余数除以100(5元)l、商且存储于SV1中l、余数继续下传l、直至被1角除过l、由于所投币值最小是1角l、并且商品价格也确定在整角l、所以最终能被1角整除. 在程序的初始化时曾给WR13、WR15、WR17、WR19和WR20赋零l、WR13、WR15、WR17、WR19和WR20是
19、程序的中间量l、为的只是程序在使用过程中能稳定执行l、避免出现退币错误.为什么要除以1000呢?这主要是考虑到PLC的主要特点是执行过程稳定可靠l、但执行速度较慢.在计算时尽量将数值作为整数计算l、因为是在计算机上模拟l、可以把一部分功能交由计算机来实现l、这里把1角当作10、5角当作50、1元当作100、5元当作500、10元当作1000l、可以避免把这些数据当作有小数点的实数计算l、这同前面的加1角等于10(K10)是相同的道理.至于交由计算机的任务将在以后叙述.退币过程结束后l、PLC要将寄存器中的数值置回原定的初值0l、完成一次交易l、防止下一次交易时出错.梯形图3-6用来完成对数据的
20、初始化. 程序中分别将投入显示、消费显示、余额显示、10元存储、5元存储、1元存储、5角存储和1角存储清零l、还将中间量WR13、WR15、WR17、WR19和WR20清零.完成了以上5个过程l、自动售货机的PLC控制程序基本完成l、程序可以控制售货机实现各种要求的功能. 图 10 退币过程梯形图3.4 仿真界面与PLC的配合定义在这一段中l、将仔细分析仿真界面各部分是如何与PLC连接的.分析过程是按照一次交易的实际情况来进行的l、即由初始状态、投币状态、购买状态、退币状态到交易结束.(1)初始状态 通过分析得知l、当电子标签显示各商品的价格、显示屏显示友好界面时l、不能购买任何商品.因此先让
21、变量poiwindows=0(系统默认).电子标签中的字符J.01(以01商品为例)对应的变量JG01.PV与PLC程序中的地址WR4相匹配l、WR4中存储的数据为250l、即让字符显示2.50元.对应的梯形图如图11所示(2)投币状态 当投币时l、按下“投币”提示字l、出现投币框.如何定义“投币”呢?双击汉字“投币”l、来到“动画连接”画面l、选择“触敏动作”l、在“动作描述”框中做如下定义:按下鼠标时l、poiwinJB=1,poiwinJB这个变量是控制投币框的l、当poiwinJB=1时l、出现钱币和提示框;poiwinJB=0R0 F0 MV , K 0 , WR 1 F0 MV ,
22、 K 0 , WR 2 F0 MV , K 0 , WR 3 F0 MV , K 0 , WR 13 F0 MV , K 0 , WR 15 F0 MV , K 0 , WR 17 F0 MV , K 0 , WR 19 F0 MV , K 0 , WR 20 F0 MV , K 0 , SV 0 F0 MV , K 0 , SV 1 F0 MV , K 0 , SV 2 F0 MV , K 0 , SV 3 F0 MV , K 0 , SV 4 图11 数据初始化梯形图 时l、钱币和提示框隐藏.下面分别定义提示框和钱币以及“确认”按钮l、双击提示框l、来到“动画连接”画面l、定义poiwin
23、JB=1时显示l、各硬币也用同样的方法定义l、“确认”按钮也同样定义l、这样就使在按下汉字“投币”时l、变量poiwinJB=1l、从而出现投币框l、以及硬币等.我们只是定义了投币框的显示状态l、用鼠标点击代替了实际过程中的饿钱币投入动作l、最重要的任务是投币运算l、下面介绍钱币的定义3.5.1定义I/O设备数据库是从I/O驱动程序中获取过程数据的l、而数据库同时可以与多个I/O驱动程序进行通信l、一个I/O驱动程序也可以连接一个或多个设备.下面创建I/O设备.(1)在Draw导航器中双击“实时数据库”项使其展开l、在展开项目中选择“PLC”项双击使其展开后l、选择项目双击并定义.(2)单击“
24、完成”按钮返回l、在“松下电工”项目下增加一项“PLC001”,如果要对I/O设备“PLC001”的配置进行修改l、双击项目“PLC001”,会再次出现PLC001的“I/O设备定义”对话框.若要删除I/O设备“PLC001”l、用鼠标右键单击项目“PLC001”l、在弹出的右键菜单中选择“删除”.1 数据连接刚刚创建了一个名为“PLC001”的I/O设备l、而且它连接的正是假想的PLC设备.现在的问题是如何将已经创建的多个数据库点与PLC联系起来l、以使这些点的PV参数值能与I/O设备PLC进行实时数据交换l、这个过程就是建立数据连接的过程.由于数据库可以与多个I/O设备进行数据交换l、所以
25、必须指定哪些点与哪些个I/O设备建立数据连接.为方便其见l、我们将数据列整理成如表6、表7所示. 表6 数字I/O NAME DESC %IOLINK 点名 说明 I/O连接 1 CX01 01商品出现 PV=PLC001;序号,寄存器,地址l、偏移; 2000008-2-0-0-8 2 CX02 02商品出现 PV=PLC001;序号,寄存器,地址l、偏移; 2000009-2-0-0-9 3 CX03 03商品出现 PV=PLC001;序号,寄存器,地址l、偏移; 20000010-2-0-0-10 4 CX04 04商品出现 PV=PLC001;序号,寄存器,地址l、偏移; 200000
26、11-2-0-0-11 5 CX05 05商品出现 PV=PLC001;序号,寄存器,地址l、偏移; 20000012-2-0-0-12 6 CX06 06商品出现 PV=PLC001;序号,寄存器,地址l、偏移; 20000013-2-0-0-13 7 CX07 07商品出现 PV=PLC001;序号,寄存器,地址l、偏移; 20000014-2-0-0-14 8 CX08 08商品出现 PV=PLC001;序号,寄存器,地址l、偏移; 20000015-2-0-0-15 9 D01 01商品灯亮 PV=PLC001;序号,寄存器,地址l、偏移; 2000000-2-0-0-0 10 D02
27、 02商品灯亮 PV=PLC001;序号,寄存器,地址l、偏移; 2000001-2-0-0-1 11 D03 03商品灯亮 PV=PLC001;序号,寄存器,地址l、偏移; 2000002-2-0-0-2 12 D04 04商品灯亮 PV=PLC001;序号,寄存器,地址l、偏移; 2000003-2-0-0-3 13 D05 05商品灯亮 PV=PLC001;序号,寄存器,地址l、偏移; 2000004-2-0-0-4 14 D06 06商品灯亮 PV=PLC001;序号,寄存器,地址l、偏移; 2000005-2-0-0-5 15 D07 07商品灯亮 PV=PLC001;序号,寄存器,
28、地址l、偏移; 2000006-2-0-0-6 16 D08 08商品灯 PV=PLC001;序号,寄存器,地址l、偏移; 2000007-2-0-0-7 17 Q01 取01商品 PV=PLC001;序号,寄存器,地址l、偏移; 3002300-3-0-23-0 18 Q02 取02商品 PV=PLC001;序号,寄存器,地址l、偏移; 3002301-3-0-23-1 19 Q03 取03商品 PV=PLC001;序号,寄存器,地址l、偏移; 3002302-3-0-23-2 20 Q04 取04商品 PV=PLC001;序号,寄存器,地址l、偏移; 3002303-3-0-23-3 21 Q05 取05商品 PV=PLC001;序号,寄存器,地址l、偏移; 3002304-3-0-23-4 22 Q06 取06商品 PV=PLC001;序号,寄存器,地址l、偏移; 3002305-3-0-23-5 23 Q07 取
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1