1 F25- , WR 11 , WR 3 F20+ , WR 11 , WR 2 图9 选择商品梯形
图 (5)退币过程
在退币过程中,最主要的是完成退币的运算
过程,根据结果输出相应的钱币,退币结束时还要使用到的某些寄存器重新赋零。所建立的变量
如表5所示。对应的梯形图程序如图10所示。
表5 退币过程变量表
整个退币过程在按下按钮(即R20F接通时)
时执行,同样也用到一个微分指令,在接收到信号时产生一次开关脉冲,进而执行一次其下面的指令。F32是除法指令,第一次将余额的币值除以1000,商存储于SV0中,作为退币10元的输出值。余数则存储于特殊数据寄存器DT9015中,
24
下次将不能被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
25
元存储、5元存储、1元存储、5角存储和1角存储清零,还将中间量WR13、WR15、WR17、WR19和WR20清零。
完成了以上5个过程,自动售货机的PLC控制程序基本完成,程序可以控制售货机实现各种要求的功能。
26
图 10 退币过程梯形图
3.4 仿真界面与PLC的配合定义
在这一段中,将仔细分析仿真界面各部分是如何与PLC连接的。分析过程是按照一次交易的实际情况来进行的,即由初始状态、投币状态、购买状态、退币状态到交易结束。
(1)初始状态
27
通过分析得知,当电子标签显示各商品的价格、显示屏显示友好界面时,不能购买任何商品。因此先让变量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
28
PLC控制自动售货机设计毕业论文
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)