(1)控制要求
自动售货机的面板如图2.95所示。
图2.95 自动售货机面板示意图
①按1元、5元、10元按钮,可以投入货币,按下“可乐”和“雪碧”按钮分别代表购买“可乐”和“雪碧”。出货口的“出可乐”和“出雪碧”表示可乐和雪碧已经取出。购买后用两个LED数码管显示当前余额,按下“找零按钮”,退币口退币。
②该售货机可以出卖雪碧和可乐两种饮料,价格分别为5元/瓶和8元/瓶。当投入的货币大于等于其售价时,对应的可乐指示灯、雪碧指示灯点亮,表示可以购买。
③当可以购买时,按下相应的“可乐”或“雪碧”按钮,与之对应的指示灯闪烁,表示已经购买了可乐或雪碧,同时出货口延时3s吐出可乐或雪碧。
④在购买了可乐或雪碧后.余额指示显示当前的余额,若余额还可以购买饮料,按下“可乐”或“雪碧”选择按钮可以继续购买,若不想再购买,按下“找零按钮”后,退币口退币。
(2)I/O分配
根据控制要求可知,该控制系统有6个输入,21个输出,各元件的I/O分配和作用如表2.18所示,其I/O接线图如图2.96所示。
表2.18 自动售货机I/O分配及软元件说明
图2.96 三菱plc FX2N-48MR PLC自动售货机的I/O接线图
(3)程序设计
自动售货机的程序如图2.97所示。
图2.97 自动售货机程序
步0~步18是投币加法电路,将计算后的投币总数额存入D0数据寄存器中。
步27利用比较指令CMP判断所投货币能否购买雪碧或可乐。假如所投货币大于或等于每瓶雪碧的价格5元时,则M0或M1为ON。可乐的判断与此相同。
步42~步45是将可以购买雪碧或可乐的状态用辅助继电器M30或M33记忆下来。
步48~步59是在投入的货币大于等于其售价时,即M30或M33闭合时,才能选择需要购买的饮料,并用减法指令SUB计算购买雪碧或可乐后的余额,将余额仍存入D0中。
步70~步76是雪碧和可乐的指示电路,若可以购买雪碧或可乐,则相应指示灯点亮,当选择购买雪碧或可乐后,相应指示灯闪烁(串入M8013),表示正在吐出雪碧或可乐。
步82是余额显示电路,只有在M20或M21闭合后,即购买过饮料后,才能将D0中的余额转换成8位BCD码存在M67~M60中,并用SEGD指令分别显示余额的个位和十位。
步99~步119是出货电路,当M20或M21闭合时,即选择购买相应饮料后,T2或T4延时3s,出货口开始出货,T3或T4是出货时间定时,定时时间到,则停止出货。
步121用比较指令CMP判断购买饮料后,还有无余额,若有余额,则M50为ON。
步130是投币电路,若有余额,需要继续购买,只需按下雪碧或可乐选择按钮即可继续购买;若需要退币,则按下退币按钮X5后,余额从退币口退出,5s后停止退币。
步137是复位电路,若没有余额,即D0=0,或退币后(即T6闭合),即可以对所有的辅助继电器M、数据寄存器D0和输出Y1~Y27复位,以便下一次继续投币购买。
(4)调试运行
①按图2.96连接I/O接线图。
②用GX软件编写图2.97所示的梯形图并将编译无误的控制程序下载至PLC中,将模式选择开关拨至RUN状态。
③按照系统操作要求调试程序,观察程序能否达到控制要求。