选择汽水:
图4.4.1 选择汽水
选择花茶:
图4.4.2 选择花茶
(2)选择钱币部分: 选择出币1元或5角
图4.4.3 选择1元
图4.4.4 选择5角
17
4.5比较环节
比较指令在PLC控制系统中起着非常重要的作用,是一条非常重要的指令功能,如图4-5-1所示它将IN1和IN2中的数据进行比较,下图是CMP>1比较,当IN1大于IN2是,执行CMP指令,把IN1给到下一个环节中
图4.5.1 比较程序
运算指令有加法运算和减法运算,运算指令是用来计算钱币的总值和剩余的钱币。 加法运算:加法运算指令是把指定的元件相加,再把结果送到指定目标中,如图4-6-2所示,当每投入一元时, IN1都会与IN2累次相加起来。
图4.5.2 加法运算
减法运算:减法运算指令是把指定元件二者相减,把结果送到指定目标中,如图4-6-3所示,当每出货一件物品时,系统中的物品存量会累次减一。
图4.5.3 减法运算
18
4.6退出环节设计
退出环节分为退币和出货两部分; (1)退币部分
当用户投入钱币后在限定的时间内,本设计中限定时间为2分钟,不按任何按键,或者当顾客投入钱币之后不想购买商品了,按下退款按钮,那么自动售货机就会将钱币退还给顾客;如果用户在成功购买了一件商品后20秒内没有任何操作,那么自动售货机就会自动将剩余的钱币退还给顾客;
图4.6.1 退币程序
(2)出货部分
当按了所需要的商品时,并且投入金额达到或超过所选商品价格时,商品就会从商品排出口排出;如图4-7-2所示是选择汽水,当投入钱币大于或等于汽水价格时,按下汽水按钮汽水就会从出货口排出(用出货指示灯代替)。
图4.7.2 出货程序
19
4.7 本章总结
本章主要介绍了自动售货机控制系统的软件设计。本次我采用的是模块化编程,将控制系统程序分块进行编程设计。分为了投币程序、选择程序、内比较与运算程序、退币程序5个模块进行设计。最后将这5个模块的程序结合起来组成自动售货机控制系统的完整程序。
20
5自动售货机的实现
5.1组态王通讯
5.1.1 外部设备定义
外部设备就是组态王把需要与之交换数据的设备。外部设备包括:PLC等,它们正常都是是通过串行口与上位机进行数据交换的。只有当外部设备定义了之后,组态王才能通过I/O变量与之交换数据。
在工程浏览器中选择“COM1”,双击“新建”,运行“设备配置导向”。选择“PLC”中“西门子”、“S7-300系列”、“MPI(串口)”,单击“下一步”为外部设备取一个名称,输入“XMZPLC”,单击“下一步”为设备选择连接串口,选择为COM1端口,单击“下一步”填写设备地址设为1,单击“下一步”检查各项设置是否正确,确认无误后单击“完成”。在定义数据库变量时,只要把IO变量连接到该外部设备上即可,这样就可以与组态王实现数据交换了。
外部设备的定义如下图5.1.1所示:
图5.1.1 外部设备定义
串口设置如图5.1.2所示:
21