(完整版)三菱plc自动售货机PLC设计毕业设计

整个退币过程在按下按钮(即R20F接通时)时执行,同样也用到一个微分

指令,在接收到信号时产生一次开关脉冲,进而执行一次其下面的指令。F32是除法指令,第一次将余额的币值除以1000,商存储于SV0中,作为退币10元的输出值。余数则存储于特殊数据寄存器DT9015中,下次将不能被1000(10元)整除的余数除以100(5元),商且存储于SV1中,余数继续下传,直至被1角除过,由于所投币值最小是1角,并且商品价格也确定在整角,所以最终能被1角整除。

在程序的初始化时曾给WR13、WR15、WR17、WR19和WR20赋零,WR13、WR15、WR17、WR19和WR20是程序的中间量,为的只是程序在使用过程中能稳定执行,避免出现退币错误。

为什么要除以1000呢?这主要是考虑到PLC的主要特点是执行过程稳定可靠,但执行速度较慢。在计算时尽量将数值作为整数计算,因为是在计算机上模拟,可以把一部分功能交由计算机来实现,这里把1角当作10、5角当作50、1元当作100、5元当作500、10元当作1000,可以避免把这些数据当作有小数点的实数计算,这同前面的加1角等于10(K10)是相同的道理。至于交由计算机的任务将在以后叙述。

退币过程结束后,PLC要将寄存器中的数值置回原定的初值0,完成一次交易,防止下一次交易时出错。梯形图3-6用来完成对数据的初始化。

程序中分别将投入显示、消费显示、余额显示、10元存储、5元存储、1元存储、5角存储和1角存储清零,还将中间量WR13、WR15、WR17、WR19和WR20清零。

完成了以上5个过程,自动售货机的PLC控制程序基本完成,程序可以控制售货机实现各种要求的功能。

图 10 退币过程梯形图

3.4 仿真界面与PLC的配合定义

在这一段中,将仔细分析仿真界面各部分是如何与PLC连接的。分析过程是按照一次交易的实际情况来进行的,即由初始状态、投币状态、购买状态、退币状态到交易结束。 (1)初始状态

通过分析得知,当电子标签显示各商品的价格、显示屏显示友好界面时,不能购买任何商品。因此先让变量poiwindows=0(系统默认)。电子标签中的字符‘J.01’(以01商品为例)对应的变量JG01.PV与PLC程序中的地址WR4相匹配,WR4中存储的数据为250,即让字符显示2.50元。对应的梯形图如图11所示 (2)投币状态

当投币时,按下“投币”提示字,出现投币框。如何定义“投币”呢?双击汉字“投币”,来到“动画连接”画面,选择“触敏动作”,在“动作描述”框中做如下定义:按下鼠标时,poiwinJB=1,poiwinJB这个变量是控制投币框的,当poiwinJB=1时,出现钱币和提示框;poiwinJB=0

R0

F0 MV , K 0 , WR 1

F0 MV , 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 数据初始化梯形图 时,钱币和提示框隐藏。

下面分别定义提示框和钱币以及“确认”按钮,双击提示框,来到“动画连接”画面,定义poiwinJB=1时显示,各硬币也用同样的方法定义,“确认”按钮也同样定义,这样就使在按下汉字“投币”时,变量poiwinJB=1,从而出现投币框,以及硬币等。我们只是定义了投币框的显示状态,用鼠标点击代替了实际过程中的饿钱币投入动作,最重要的任务是投币运算,下面介绍钱币的定义方法。

以10元为例:双击10元硬币,开到“动画连接”画面,选择“触敏动作”中的“左键动作”,在动作描述中如下定义:按下鼠标时,poiwinJB=1;TR$100.PV=1;释放鼠标时,TR$100.PV=0。

其中poiwinJB=1,是让显示屏不再显示友好界面,来到交易界面;TR$100.PV=1时给PLC发出一个接通信号,由于TR$100.PV对应的PLC地址是R204,使得204继电器导通,转而执行相应的加10元程序。同样定义其他钱币,注意其对应的PLC软继电器。最后还要定义“确认”按钮。要实现的功能是按下“确认”按钮时,所有的钱币以及提示框均消失。

当投币以后,显示屏要及时反映出投币情况,同时“选择”指示也要相应变化。下面来定义显示屏和“选择”按钮。

显示屏要显示3种数据,分别为:投入显示、消费显示、余额显示。三种显示均

联系客服:779662525#qq.com(#替换为@)