- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1、总体设计方案
1.1、总体设计思路
自动售货机的基本功能就是对投入的钱币数进行计算,然后根据运算结果做出相应的判断,看看哪种商品可以进行购买,哪种商品不能购买,本次课程设计的要求是可识别三种钱币,分别是1元、2元、5元,采用三个按钮进行模拟,自动售货机共出售四种货物,其价格分别定为1元、3元、4元、6元,当投币数大于等于货物价格时且售货机里有这种货物时,指示灯亮,表示可以进行购买,四种货物分别用四个小灯代替进行模拟。除此之外,本次设计还涉及了显示、找零、送货等功能的实现,其中显示部分采用数码管进行显示,显示投币总数和购买后的余额;当按下找零按钮后,数码管显示进行清零,采用从高到低递减的形式进行清零,例如:当余额为17元时,按下找零按钮后,先找三个五元数码管分别显示12、7、2,然后再找2元,清零。送货部分采用小车直线运动进行模拟,将四种货物分别送到四个不同的地点,采用四个光电开关分别代表四个不同的送货地点,当按下不同的送货按钮后,小车会以其对应的光电开关为终点做直线往返运动,表示送货过程
由于售货机的全部功能是在上位机上模拟的,所以售货机的部分硬件是由计算机软件来模拟替代的这些并不会影响实际程序的操作,完全能模拟现实售货机的运行。
1.2、PLC总体设计流程
以下为PLC的一般工作过程流程图。
图一 PLC工作过程流程图
2、硬件设计
我们本次采用的是西门子公司的S7—200系列PLC,它可以提供4种不同的基本单元和6种型号的扩展单元,其系统构成包括基本单元、扩展单元、编程器、存储卡、写入器、文本显示器等。
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 电机正转 M0.5 限位开关S3 M2.0 送货延时 M0.6 送D货 M2.1 送货延时 M0.7 限位开关S4 M2.2 送货延时 M1.0
电机反转 M20.0 找零 M1.1 电机正转
2.3、整体系统工作流程
整个系统的整体工作流程如图二所示
图二 整体工作流程图
2.4、硬件接线图
图三 硬件接线图
2.5、实物接线图
图四 实物接线图
3、软件设计
4、程序调试
在整个程序的调试过程中,我遇到了一些问题,最初的设计比较简单,只是将投币,购买的过程考虑进去,而没有将购买之后送货的过程加进设计的方案中,后来在老师的提醒之下,我又将送货的过程采用了小车直线运动进行模拟,将四个光电开关模拟成四种货物的送货地点,分别在按下四个送货按钮之后,将货物送到四种地点,使得整个系统更加完善,功能更加强大。
在数码显示的过程中也遇到了一些问题,数码显示时数据的传输所用到的中间继电器和后来送货时的中间继电器发生了冲突,使得程序运行过程发生了紊乱,后来在同学的帮助下,我明白了问题的关键,将其解决,使数码显示功能顺利实现。
在最后的送货过程中,由于有四个地点,所以要对电机的正反转分别进行控制,最初我是将所有的正转输入都采用了Q2.6进行驱动,所有的反转输入都采用了Q2.5进行驱动,当程序运行时,发现得不到预期的现象,经检查程序没有问题,后来经过考虑和同学的提醒,采用中间继电器进行驱动,现象就出现了,实现了最初预想的送货过程。
在找零阶段,最初只是按下找零按钮后直接将数码显示清零,后来经过思考和老师的提醒,将找零部分又逐步进行了完善,将找零的过程在数码管上显示了出来先找大面额的钱币,后找小面额的钱币,其内部进行减法运算,使得整个找零的过程清晰可见。
在购买货物的过程中最初忽略了如果货物售完该怎么办,后来经过完善将货物的
文档评论(0)