1.1、总体设计思路
自动售货机的基本功能就是对投入的钱币数进行计算,然后根据运算结果做出相应的判断,看看哪种商品可以进行购买,哪种商品不能购买,本次课程设计的要求是可识别三种钱币,分别是1元、2元、5元,采用三个按钮进行模拟,自动售货机共出售四种货物,其价格分别定为1元、3元、4元、6元,当投币数大于等于货物价格时且售货机里有这种货物时,指示灯亮,表示可以进行购买,四种货物分别用四个小灯代替进行模拟。除此之外,本次设计还涉及了显示、找零、送货等功能的实现,其中显示部分采用数码管进行显示,显示投币总数和购买后的余额;当按下找零按钮后,数码管显示进行清零,采用从高到低递减的形式进行清零,例如:当余额为17元时,按下找零按钮后,先找三个五元数码管分别显示12、7、2,然后再找2元,清零。送货部分采用小车直线运动进行模拟,将四种货物分别送到四个不同的地点,采用四个光电开关分别代表四个不同的送货地点,当按下不同的送货按钮后,小车会以其对应的光电开关为终点做直线往返运动,表示送货过程
由于售货机的全部功能是在上位机上模拟的,所以售货机的部分硬件是由计算机软件来模拟替代的这些并不会影响实际程序的操作,完全能模拟现实售货机的运行。
1.2、PLC总体设计流程
以下为PLC的一般工作过程流程图。
II
自动售货机控制系统设计
分析评估控制任务PLC机选型、I/O设备选择I/O地址分配程序设计电器系统安装调试程序设计硬件系统接线图和控制柜检查硬件接线检查修改硬件N满足要求Y联机测试NN满足要求Y编制技术文件现场安装调试交付使用
图一 PLC工作过程流程图
2、硬件设计
我们本次采用的是西门子公司的S7—200系列PLC,它可以提供4种不同的基本单元和6种型号的扩展单元,其系统构成包括基本单元、扩展单元、编程器、存储卡、写入器、文本显示器等。
- 1 -
自动售货机控制系统设计
2.1、I/O地址分配
本次课程设计的主要I/O分配如下:
表一 I/O地址分配
输入单元 PLC地址 输出单元 PLC地址 投币1元 I0.1 A货物显示 Q1.0 投币2元 I0.2 B货物显示 Q1.1 投币5元 I0.3 C货物显示 Q2.0 送货(A货物) I0.4 D货物显示 Q2.1 送货(B货物) I0.5 找零出口 Q2.2 送货(C货物) I0.6 出货口 Q2.3 送货(D货物) I0.7 电机正转 Q2.6 找零 I0.0 电机反转 Q2.5 数码个位显示 I0.0—I0.3 数码十位显示 I0.4—I0.7 限位开关S1 I1.0 限位开关S2 I1.1 限位开关S3 I1.2 限位开关S4 I1.3 2.2、中间继电器分配
表二 中间继电器分配 中间继电器 功 能 中间继电器 功 能 M0.0 送A货 M1.2 电机反转 M0.1 限位开关S1 M1.3 电机正转 M0.2 限位开关S2 M1.4 电机正转 M0.3 送B货 M1.5 电机反转 M0.4 送C货 M1.6 电机正转 - 2 -
自动售货机控制系统设计
M0.5 限位开关S3 M2.0 送货延时 M0.6 送D货 M2.1 送货延时 M0.7 限位开关S4 M2.2 送货延时 M1.0 电机反转 M20.0 找零 M1.1 电机正转
2.3、整体系统工作流程
整个系统的整体工作流程如图二所示
初始状态投入 硬币 投币状态按下选择按钮购买状态是否有Y剩余N按下退币按钮退币状态
图二 整体工作流程图
- 3 -
自动售货机控制系统设计
2.4、硬件接线图
24VL+清零按钮1元按钮2元按钮5元按钮购A货按钮购B货按钮购C货按钮购D货按钮I0.0I0.1I0.2I0.3I0.4I0.5I0.6I0.71MQ0.0Q0.112345A1A2/LT/BIvccfga1615141312111095VfgabcdeQ0.2Q0.3LECD4511bA3A4GNDcde678Q0.4Q0.512345678A1A2/LT/BILEA3A4GNDvccfgabcde1615141312111095V货1、2限位开关货3限位开关货4限位开关I1.0I1.1I1.3CPU-224Q0.6Q0.7Q1.0Q1.1A货指示灯B货指示灯C货指示灯D货指示灯退钱灯MM24V24VQ2.0Q2.1Q2.2MQ2.5Q2.61L+反转正转
图三 硬件接线图
- 4 -
自动售货机控制系统设计
2.5、实物接线图
十位8十位4十位2十位15V地S1S2S3S4正反24V地个位8个位4个位2个位15V地5V24VA货物显示B货物显示C货物显示D货物显示Q0.0Q0.1Q0.2Q0.3Q0.4Q0.5Q0.6Q0.7地退钱灯Q1.0Q1.1Q2.0Q2.1Q2.2Q2.3Q2.5Q2.6投一元投二元投五元购买A货物购买B货物购买C货物购买D货物找零地I0.1I0.2I0.3I0.4I0.5I0.6I0.7I0.0I1.0I1.1I1.2I1.324V
图四 实物接线图
3、软件设计
- 5 -
自动售货机控制系统设计
- 6 -
自动售货机控制系统设计
- 7 -
自动售货机控制系统设计
- 8 -
自动售货机控制系统设计
- 9 -
自动售货机控制系统设计
- 10 -
自动售货机控制系统设计
- 11 -
自动售货机控制系统设计
- 12 -
自动售货机控制系统设计
- 13 -
自动售货机控制系统设计
- 14 -
自动售货机控制系统设计
- 15 -
自动售货机控制系统设计
4、程序调试
在整个程序的调试过程中,我遇到了一些问题,最初的设计比较简单,只是将投币,购买的过程考虑进去,而没有将购买之后送货的过程加进设计的方案中,后来在老师的提醒之下,我又将送货的过程采用了小车直线运动进行模拟,将四个光电开关模拟成四种货物的送货地点,分别在按下四个送货按钮之后,将货物送到四种地点,使得整个系统更加完善,功能更加强大。
在数码显示的过程中也遇到了一些问题,数码显示时数据的传输所用到的中间继电器和后来送货时的中间继电器发生了冲突,使得程序运行过程发生了紊乱,后来在同学的帮助下,我明白了问题的关键,将其解决,使数码显示功能顺利实现。
在最后的送货过程中,由于有四个地点,所以要对电机的正反转分别进行控制,最初我是将所有的正转输入都采用了Q2.6进行驱动,所有的反转输入都采用了Q2.5进行驱动,当程序运行时,发现得不到预期的现象,经检查程序没有问题,后来经过考虑和同学的提醒,采用中间继电器进行驱动,现象就出现了,实现了最初预想的送货过程。
- 16 -
自动售货机控制系统设计
在找零阶段,最初只是按下找零按钮后直接将数码显示清零,后来经过思考和老师的提醒,将找零部分又逐步进行了完善,将找零的过程在数码管上显示了出来先找大面额的钱币,后找小面额的钱币,其内部进行减法运算,使得整个找零的过程清晰可见。
在购买货物的过程中最初忽略了如果货物售完该怎么办,后来经过完善将货物的数量进行了设定,只有当投币金额大于等于所要购买的货物时,且货物数量大于零时才能进行购买,这使得整个过程更加完善。
- 17 -
因篇幅问题不能全部显示,请点此查看更多更全内容