(完整版)三菱plc自动售货机PLC设计毕业设计论文 联系客服

发布时间 : 星期三 文章(完整版)三菱plc自动售货机PLC设计毕业设计论文更新完毕开始阅读9ee5ae5102d8ce2f0066f5335a8102d276a261ee

DF 1 1 F25- , WR 9 , WR 3 F20+ , WR 9 , WR 2

R20B Y6 R236 YE DF YE

R20B Y6

DF 1 1 F25- , WR 10 , WR 3 F20+ , WR 10 , WR 2

R20C Y7 R237 YF DF YF

R20C Y7

DF 1 1 F25- , WR 11 , WR 3 F20+ , WR 11 , WR 2 图9 选择商品梯形图 (5)退币过程

在退币过程中,最主要的是完成退币的运算过程,根据结果输出相应的钱币,

退币结束时还要使用到的某些寄存器重新赋零。所建立的变量如表5所示。对应的梯形图程序如图10所示。

表5 退币过程变量表

整个退币过程在按下按钮(即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