图6-32 投币累加程序
(3)价格比较部分
寄存在D0中的货币金额和商品的单价相比较,如第一句是把投入的币值大小和汽水价格比较,如果(D0)>2,则M0=1;(D0)=2,则M1=1;(D0)<2,则M2=1;其他同理。
图6-33 价格比较程序
上图中用到了BCD码变换指令,它是将源操作数中的二进制数变换成BCD码送至目标操作数中,如上图所示。当M8000为ON时,将D0中的二进制数变换成BCD码送到输出口Y10~Y17中。之后的BCD码可送到LED七段显示器显示钱币数据寄存器D0中的值。 (4)可买饮料显示部分
程序经过价格比较部分的处理,会根据顾客的实际投币状况,得到辅助继电器M0~M8的一系列状态,以汽水即Y0为例:当投入的币值小于2元时,比较指令得到的状态是M0=0,M1=0,M2=1,此时系统的三个饮料指示都不亮;当投入的币值等于2元时,比较指令得到的状态是M0=0,M1=1,M2=0,此时汽水指示灯亮,其他两个饮料指示灯不亮;当投入的币值大于2元时,比较指令得到的状态是M0=1,M1=0,M2=0,此时汽水指示灯也亮;其他两种饮料的指示灯亮灭状态同上。
下图中的M8013为1s周期震荡,T0、T1、T2都是3s的定时器,M10线圈会在顾客按下选择汽水按钮后得电,所以当顾客投入合适的币值后,汽水指示灯亮,当按下汽水选择按钮后,其实指示灯会在M10和M8013的作用下闪烁,在T0的作用下,闪烁三秒。其他同理。
图6-34 可买饮料程序
(5)选择饮料推出部分
选择目标饮料部分由三段程序构成,分别用来处理汽水,可乐和牛奶的不同选择,下面以选择汽水为例进行详细说明,其他同理。下图中Y0表示可购买汽水,X4表示选择汽水,Y4表示输出汽水。当按下购买汽水的按钮之后,相应的商品指示灯闪烁,T0定时器线圈得电,同时推出商品。3秒后,货物排出完毕、相应指示灯停止闪烁。
图6-35 选择饮料程序
(6)货币相减部分
下图中使用了减法运算指令SUB用于计算投币额与商品价格之差。当选择汽水饮料按钮X4被按下后,系统自动对D0中的数据进行减2操作;当选择可乐饮料按钮X5被按下后,系统自动对D0中的数据进行减2操作;当选择牛奶饮料按钮X6被按下后,系统自动对D0中的数据进行减2操作。
图6-36 货币计算程序
(7)退币部分
按下退币按钮X7后,辅助继电器M20得电,定时器T3线圈得电,退币过程计时5s,同时退币指示灯Y3亮,运行比较指令CMP,当D0中的数据大于1时,M21得电。D1等于1时,M22得电。执行DECP指令(减1)、并输出。退币线圈Y7得电。退币过程完成后,T3的动断触点把电路断开,完成售货。
图6-37 退币程序
8.程序说明
此段程序首先采用M8002进行自动清零。用PLS上升沿触发实现投币。用ADD指令进行货币的累加并把数据储存在D0数据存储器中。用比较指令CMP来判断可买的饮料。还使用了T计时器用于计时。用减法指令进行货币的相减以及退币程序。完成整个自动售货的程序。
附录:自动售货机的PLC控制梯形图
图6-35 自动售货机PLC控制程序
任务评价 自动售货机的PLC控制 评价内容 配分 学号 评价标准 根据任务写出I/O分配表、画出PLC接线图及梯形图、并将梯形图转换为指令语句表 布线平整、接线正确、 自评 姓名 评价结果 小组评 综合教师评 得分 任务 班级 序号 1 程序设计 30 2 元件安装 20 安装时不损伤导线或电器元件 3 程序输入 10 将所编程序用编程软件和手持编程器两种方式输入到PLC中 按照被控设备的动作要求进行调试,达到设计要求 互相帮助、共同学习 工具摆放整齐、 不发生伤人事故 4 5 6
程序调试 同组协作 安全文明生产 20 20 只扣分不加分