开始系统初始化N系统自检?Y顾客按下所选择的商品按钮有货吗?N报警Y投入钱币辨别真伪N报警并退出伪币Y钱币累加并显示N满足商品价格?Y是否有余额?N送出商品Y找零、退币、送出商品
图4-4 自动售货机程序流程图
24
4.5 PLC与现场器件的连接
本系统是一个小型集中控制系统,PLC选型主要取决于控制系统输入、输出开关信号的数量、用户程序的长短及相关的功能。根据控制要求,I/O点数在32个左右,选择性能价格比较适宜的三菱FX2n-32MR,其中其输入点为16点,输出点为16点,该PLC为继电器输出型。
了解各个控制对象的驱动要求,分析对象的控制要求,完成PLC硬件结构配置。本设计中输入有开始按钮、钱币的投入按钮、选择饮料按钮、退币按钮;输出有指示灯显示输出、饮料输出、退币输出。这些功能都能够通过PLC进行得到很好的控制;电机提供动力进行对饮料的输出。
根据上述要求,因条件所限输出均用指示灯代替,由此绘制出PLC控制电路接线图,如图2-1所示:
图4-3 PLC外部I/O接线图
25
该PLC自动售货机I/O接线图中, PLC元件X004,X005,X006,X007是选择控制按钮,选择可乐,绿茶,奶茶。线圈Y010,Y011,Y012,Y016,是作为指示灯的输出线圈。当你投币,选择可乐、绿茶,或奶茶时的指示引导购物作用。按钮和指示灯,直接明了,方便简单,易于操作。
4.6程序设计
4.6.1 比较指令和运算指令
比较指令在PLC控制系统中是一条十分重要的功能指令,它将[S1]、[S2]中的数据进行比较,比较结果送到目的操作数[D]中,如下图4-4所示,当X000为OFF时,不执行CMP指令,M10,M11,M12保持不变;当X000为ON时,执行CMP指令,[S1]、[S2]中的数据进行比较,即C10计数器值与K10(数值K10)比较。如果C10当前值小于10,则M10=1;如果C10当前值大于10,则M12=1;如果C10当前值等于10,则M11=1。
图4-4 CMP 指令使用说明
运算指令有加法运算和减法运算,运用运算指令是用来计算钱币的总值和剩余的钱币。
加法运算:加法运算指令是把指定的源元件中的二进制数相加,结果送到指定的目标元件中,如图4-5所示。
当X000为1时,(D0)+(D5)=(D6),运算是代数运算
26
图4-5加法运算使用说明图
减法运算:减法运算指令是把指定的源元件中的二进制数相加,结果送到指定的目标元件中,如图4-6所示。当X000为1时,(D10)+(D12)=(D14),运算为代数运算。
图4-6减法运算使用说明图
4.6.2 投币程序
X001、X002、X003为投币识别,每识别一次,即X001、X002或X003接通一次,往寄存器D10中累加按键代表的相应金额,但是在报警和退币的时候不可投币,此时继电器M206和M208会分别断开,此时投币无效,只有在退币过程结束4s后,再投币才有效,若在4s内投币则直接退币。M204在系统上电按下启动键X000后接通后,M205接通时方可开始下一次操作。其具体梯形图如图4-7所示:
图4-7 投币梯形图
4.6.3 价格比较程序
寄存在D10中的货币金额和商品的单价相比较,如第一句中如果(D10)>45,则M6=1;(D10)=45,则M7=1;(D10)<45,则M8=1。以此类推,其价格比较梯形图如下图4-8所示:
27
图4-8 价格比较梯形图
4.6.4根据投入的钱数指示灯显示的程序
根据选择的饮料价格不同,投入的钱币多少,则饮料的指示灯亮的情况也不一样,指示灯分别有Y010,Y011和Y012分别表示三种饮料的指示灯,具体表现将会在后面具体实例中体现,指示灯的编程梯形图如下图4-9所示:
图4-9指示灯显示梯形图
4.6.5选择商品和送出部分程序
选择商品的输出,当投入的钱币达到规定的价格时,相对应商品的指示灯就会亮,当按下所对应的按钮,则对应的商品就会输出。例如当钱币足够时,选择可乐按钮即X004,其中X005和X006的常闭触点起到互锁的作用,这样的目的就是保证不能同时选择两种饮料,其具体的部分梯形图如下图4-10所示:
28