当前位置:文档之家› 基于组态软件的PLC控制自动售货机系统的设计

基于组态软件的PLC控制自动售货机系统的设计

题目基于组态软件的PLC控制自动售货机系统的设计学生姓名学号

系别

错误!未指定书

签。错误!未指定书

签。错误!未指定书

签。

专业电气工程及其自动化

班级

开题时间答辩时间指导教师职称

防灾科技学院毕业设计(论文、综合实践报告)

基于组态软件的PLC控制自动售货机系统的设计

作者

指导教师

摘要随着社会的发展,越来越多方便人们使用的东西出现了,自动售货机就是其中之一。自动售货机的新奇、高档、灵活、方便等深受广大人们的青睐。为此,本文设计了一个基于组态王6.53作为上位机监控画面,PLC作为下位机的简易自动售货机的控制系统。简易自动售货机能出售2.5元/瓶的可乐,1.5元/瓶的纯水,3元/瓶的牛奶和3.5元/瓶的酸奶。机器有三个投币口,能识别5角、一元、5元的硬币。当投入的钱足够购买饮料后,顾客可选择要购买饮料,售货机会自动售出等等。设计实现了组态王画面能实时监控售货机,画面与实际控制同步,美观形象,功能齐全,画面易于切换,同时有实时报表,历史报表和报警记录等。

关键词:自动售货机;组态软件;可编程序控制器

目录

引言 (1)

1自动售货机系统概述 (1)

1.1 自动售货机的背景与实际意义 (1)

1.2自动售货机的功能分析 (2)

1.3自动售货机监控系统设计的基本思路 (2)

2自动售货机系统 (3)

2.1下位机PLC程序 (3)

2.1.1 PLC概念、功能及基本结构和原理 (3)

2.1.2可编程序控制系统设计原则及步骤 (4)

2.1.3程序设计以及说明 (6)

2.2上位机组态监控画面 (9)

2.2.1 组态王软件 (9)

2.2.2 组态王监控画面的制作 (10)

3结果分析 (23)

3.1下位机PLC程序运行结果 (23)

3.2上位机组态王画面仿真结果 (24)

结论 (25)

致谢 (26)

参考文献 (26)

附录 (27)

引言

自动售货机是可以完成无人售货,集机、电一体化的商业自动化设备,自动售货机可以不受任何场地限制,方便快捷,可以每天24小时售货,因此深受上班族们的欢迎,很多城市的公共场所里都放置着自动售货机,出售的商品五花八门。近年来,我国的自动售货机行业突飞猛进,在汽车站、商场、医院等地方纷纷涌现出了自动售货机的踪迹。这种方便快捷的购物方式越来越受到人们的青睐,同时也是现代化城市配套设施的要求[1]。可编程序控制器(PLC)是以微机技术为核心的通用工业控制装置,具有功能强大,环境适应性好、编程简单、使用方便等优点,因此,近年来在工业自动控制、改造传统产业等方面得到广泛的应用。组态软件是一种通用的工业监控软件,它集过程控制、现场操作以及工厂资源管理于一体,实现最优化管理。本设计就是一种采用了PLC实现的自动售货机控制系统以及使用组态王实现监控系统的设计。

1.自动售货机系统

1.1自动售货机的背景与实际意义

从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了[2]。

在中国,自动售货机1999年开始进入中国市场。如今,在机场、地铁、商场、公园等客流较大的场所,已不难发现自动售货机的身影。

从广义来讲,自动售货机是投入硬币、纸币、信用卡等后便可以销售商品的机械;从狭义来讲,自动售货机就是自动销售商品的机械。从供给的条件看,自动售货机可以充分补充人力资源的不足,适应消费环境和消费模式的变化,24小时无人售货的系统可以更省力,运营时需要的资本少、面积小,可以很好地解决人工费用上升的问题等各项优点。

现在,自动售货机产业正在走向信息化并进一步实现合理化。例如实行联机方式,通过电话线路将自动售货机内的库存信息及时地传送各营业点的电脑中,从而确保了商

能源以及高功能化的方向发展[3]。

1.2自动售货机的功能分析

1. 自动售货机有3个投币孔,分别为5角、1元和5元。

2.售货共有4种饮料供选择,分别为纯水、可乐、牛奶和酸奶。

3.如投币总额超过销售价格,将可由退币钮找回余额。

4.投币总额或当前值显示在7段数码管上。

5.投币值等于或大于1.5元时,纯水指示灯亮,表示只可选择纯水。

6.投币值等于或大于2.5元时,纯水和可乐指示灯亮,表示只可选择纯水和可乐。

7.投币值等于或大于3元时,纯水、可乐和牛奶指示灯亮,表示3种饮料可选择。

8.投币值等于或大于3.5元时,纯水、可乐、牛奶和酸奶的指示灯都亮,表示4种饮料可选择。

9.按下要饮用的饮料按钮,则相对应的指示灯开始闪烁,2s后自动停止,表示饮料已经掉出。

10.动作停止后按退币钮,可以退回余额,退回金额如果大于1元,则先退1元再退5角,如果小于1元则直接退5角的。

1.3自动售货机监控系统设计的基本思路

上位机组态王监控画面和下位机PLC程序不必一口气完成,可以分步进行设计。

PLC程序设计思路如下:①编写硬币识别程序,识别投入硬币面值并保存,②编写数码管显示程序,能显示投入的钱数,③编写指示灯程序,自动判断投入钱数点亮相应指示灯,④编写售货程序,当投入钱数足够购买货物时,可选择购物,⑤编写计时程序,作指示灯亮灭的计时。各步程序的编写都是基于上一步完成的程序上,最后修善可得完整的控制程序。

组态王监控画面设计思路如下:①建立监控主画面,设置相应变量及动画效果,②建立报表、报警等画面,并完成相关设置。组态王各画面要美观形象、易于切换。

2自动售货机监控系统

2.1下位机PLC程序

2.1.1 PLC概念、功能及基本结构和原理

PLC是一种专门为在工业环境下应用而设计的数字运算操作的电子装置,它采用可以编制程序的存储器,用来在其内部存储执行逻辑运算、顺序运算、计时、计数和算术运算等操作的指令,并能通过数字式或模拟式的输入和输出,控制各种类型的机械或生产过程。PLC具有体积小、结构简单、操作方便、可靠性好等特点[4]。

2.PLC的基本功能

(1).条件控制功能

(2).定时/计数控制功能

(3).数据处理功能

(4).A/D与D/A转换功能

(5).运动控制功能

(6).过程控制功能

(7).扩展功能

3.PLC基本结构和原理

PLC采用了典型的计算机结构,主要是由CPU,RAM,ROM,和专门设计的输入/输出接口电路组成[5]。PLC的硬件结构如图2.1.1。

PLC采用循环扫描的工作方式,从第一条指令开始逐条顺序执行用户程序,直至遇到结束符后返回第一条指令,如此周而复始不断循环。

2.1.2可编程序控制系统设计原则及步骤

1.控制系统设计原则

任何一种电气控制系统都是为了实现被控制对象(生产设备活生产过程)的工艺要求,以提高生产效率和产品质量。因此,在设计PLC控制系统时,应遵循以下基本原则:

(1)最大限度的满足被控制对象的控制对象。设计前,应深入现场进行调查研究,收集资料,并于机械部分的设计人员和实际操作人员密切配合,共同拟定电气控制方案,协同解决设计中出现的各种问题。

(2)在满足控制系统要求的前提下,力求使控制系统简单、经济,使用及维修方便。

(3)保证控制系统的安全、可靠。

(4)考虑到生产的发展和工艺的改进,在选择PLC容量时,应适当留有裕量[6]。

2.控制系统设计的一般步骤

(1)根据生产的工艺过程分析控制要求。

(2)根据控制要求确定所需的用户输入、输出设备、据此确定OLC的I/O点数。

(3)选择PLC系统。

(4)分配PLC和I/O点,设计I/O连接图。

(5)进行PLC程序设计,同时可进行控制态的设计和现场施工。

2.1.3程序设计以及说明

1.自动售货机的状态分析

图2.1.3(1)为一次交易过程的状态分析

3.PLC梯形图程序设计

梯形图是用的最多的PLC图形编程语言。梯形图语言是在传统电器控制系统中常用的接触器、继电器等图形表达符号的基础上演变而来的。它与电器控制线路图相似。继承了传统电器控制逻辑中使用的框架结构、逻辑运算方式和输入输出形式,具有形象、直观、实用的特点。因此,这种编程语言为广大电气技术人员所熟知,是应用最广泛的PLC的编程语言,是PLC的第一编程语言[6]。

本设计选用松下可编程控制器(PLC)FP0,编辑的部分PLC梯形图程序如图2.1.3(2)。

图2.1.3(1)一次交易过程的状态分析2. PLC的I/O点定义

PLC的I/O点定义如表2.1.3

表2.1.3 I/O点定义

图2.1.3 (2)PLC梯形图程序2.2上位机组态监控画面

2.2.1 组态王软件

源管理融于一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现最优化管理。它是运行于Microsoft Windows XP/NT/2000 的人机界面软件,采用了多线程、COM组件等新技术,实现了实时多任务,软件使用方便,功能强大,性能优异,运行稳定,质量可靠[7]。采用组态王软件开发工业监控工程,可以极大地增强用户生产控制能力、提高工厂的生产力和效率、提高产品的质量、减少成本及原材料的消耗。它适用于从单一设备的生产运营管理和故障诊断,到网络结构分布式大型集中监控管理系统的开发。

组态王软件结构由工程管理器、工程浏览器及运行系统三部分构成。

工程管理器:工程管理器用于新工程的创建和已有工程的管理,对已有工程进行搜索、添加、备份、恢复以及实现数据词典的导入和导出等功能。

工程浏览器:工程浏览器是一个工程开发设计工具,用于创建监控画面、监控的设备及相关变量、动画链接、命令语言以及设定运行系统配置等的系统组态工具。

运行系统:工程运行界面,从采集设备中获得通讯数据,并依据工程浏览器的动画设计显示动态画面,实现人与控制设备的交互操作。

组态王与I/O 设备

组态王软件作为一个开放型的通用工业监控软件,支持与国内外常见的PLC、智能模块、智能仪表、变频器、数据采集板卡等通过常规通讯接口(如串口方式、USB 接口方式、以太网、总线、GPRS 等)进行数据通讯。

组态王软件与I/O 设备进行通讯一般是通过调用*.dll 动态库来实现的,不同的设备、协议对应不同的动态库。工程开发人员无须关心复杂的动态库代码及设备通讯协议,只须使用组态王提供的设备定义向导,即可定义工程中使用的I/O 设备,并通过变量的定义实现与I/O设备的关联,既简单又方便[8]。

本设计选用组态王6.53软件设计简易售货机组态画面。

2.2.2 组态王监控画面的制作

(1)售货机主画面

新建工程,工程名称为“简易售货机”。

新建画面,画面名称“售货机主画面”。售货机主画面如图 2.2.2(1)所示,售货机表面由按钮、指示灯、文字、多边形图形、点位图等组成。画面是经过各种图形的堆叠,组合而成。

本设计中的自动售货机的画面是由四种饮料的选择按钮、四种饮料的指示灯、退币

按钮和出货口和退币口组合而成。

图2.2.2(1)售货机主画面

在画面中,选择对象后,单击右键,在弹出的选项中选择“图素位置——图素前移(图素后移)”,可以设置各单元图的层次。

(2)定义I/O设备

程序在实际运行中是通过I/O设备和下位机交换数据的,当程序在调试时,可以使用仿真I/O设备模拟下位机向画面程序提供数据,为画面程序的调试提供方便。组态王提供一个仿真PLC设备,用来模拟实际设备向程序提供数据,供用户调试。

在数据词典下新建相关变量,如图2.2.2(2)。

在此图中可以看到所建立的相关变量,可以查看所属的变量类型。变量类型分为实

图2.2.2(2)定义I/O设备

(3)售货机主画面的动态设置

通过组态王开发系统,技术人员可以开发出静态的画面。但是如果仅仅是静态的画面是不能够完全反映出工程现场的实际情况的,因此需要通过建立实时数据库,通过数据库内变量的变化和现场状况的变化同步才能真正反映出来。“动画连接”就是建立画面的图素和数据库变量的对应关系,通过这样的对应关系,此埃及到的现场数据在变化时通过I/O接口,引起实时数据库内变量的变化,从而引起画面的变化动作[9]。

(1)投币口:分别双击三个投币口,在弹出的“动画连接”对话框钩选“闪烁”和“隐含”选项,在弹出的“闪烁连接”对话框分别设置为:

5角:

闪烁条件:\\本站点\投币5角==1

闪烁速度:100毫秒/隔

1元:

闪烁条件:\\本站点\投币1元==1

闪烁速度:100毫秒/隔

5元:

闪烁条件:\\本站点\投币5元==1

闪烁速度:100毫秒/隔

在弹出的“隐含连接”对话框设置分别是:

5角:

条件表达式:\\本站点\投币5角==1

表达式为真时:显示

1元:

条件表达式:\\本站点\投币1元==1

表达式为真时:显示

5元:

条件表达式:\\本站点\投币5元==1

表达式为真时:显示

(2)按钮:分别双击纯水、可乐、牛奶、酸奶四个按钮,在弹出的“动画连接”对话框钩选“按下时”选项,在弹出的“命令语言”框中分别输入命令语言:

纯水:

if(\\本站点\启动系统==1)

{

if(\\本站点\实时钱数2>=1.5)

{

if(\\本站点\定时6秒2==0)

\\本站点\选择纯水=1;

\\本站点\纯水指标灯=1;

\\本站点\定时6秒1=1;

}

}

可乐:

if(\\本站点\启动系统==1)

if(\\本站点\实时钱数2>=2.5)

{

if(\\本站点\定时6秒1==0)

\\本站点\选择可乐=1;

\\本站点\可乐指标灯=1;

\\本站点\定时6秒2=1;

}

}

牛奶:

if(\\本站点\启动系统==1)

{

if(\\本站点\实时钱数2>=3)

{

if(\\本站点\定时6秒2==0)

\\本站点\选择牛奶=1;

\\本站点\牛奶指标灯=1;

\\本站点\定时6秒1=1;

}

}

酸奶:

if(\\本站点\启动系统==1)

{

if(\\本站点\实时钱数2>=2.5)

{

if(\\本站点\定时6秒1==0)

\\本站点\选择酸奶=1;

\\本站点\酸奶指标灯=1;

\\本站点\定时6秒2=1;

}

(3退币口:双击退币口,在弹出的“动画连接”对话框钩选“闪烁”和“隐含”选项,在弹出的“闪烁连接”对话框设置都为

闪烁条件:\\本站点\退币按钮==1

闪烁速度:100毫秒/隔

在弹出的“隐含连接”对话框设置都为

条件表达式:\\本站点\退币按钮==1

表达式为真时:显示

(4)售货口:一个纯水、可乐、牛奶和酸奶的图片,分别双击这4张图片,在弹出的“动画连接”对话框钩选“隐含”选项,在弹出的“隐含连接”对话框设置分别为:纯水:

条件表达式:\\本站点\计数1>1

表达式为真时:显示

可乐:

条件表达式:\\本站点\计数2>1

表达式为真时:显示

牛奶:

条件表达式:\\本站点\计数3>1

表达式为真时:显示

酸奶:

条件表达式:\\本站点\计数4>1

表达式为真时:显示

(5)应用程序命令语言

打开“工程浏览器——简易售货机”——“命令语言”,双击“应用程序命令语言”,则弹出“应用程序命令语言”对话框,将右上角“每3000毫秒”改为“每55毫秒”,在“运行时”输入框中输入下面命令语言:

if(\\本站点\启动系统==1)

{

if(\\本站点\投币0.5元==1)

{

\\本站点\投入0.5元币数=\\本站点\投入0.5元币数+1;

\\本站点\投入1元总币数=\\本站点\投入0.5元总币数+1; \\本站点\实时钱数2=\\本站点\实时钱数2+0.5;

\\本站点\投币0.5元=0;

}

if(\\本站点\投币1元==1)

{

\\本站点\投入1元币数=\\本站点\投入1元币数+1;

\\本站点\投入1元总币数=\\本站点\投入1元总币数+1; \\本站点\实时钱数2=\\本站点\实时钱数2+1;

\\本站点\投币1元=0;

}

if(\\本站点\投币5元==1)

{

\\本站点\投入5元币数=\\本站点\投入5元币数+1;

\\本站点\投入5元总币数=\\本站点\投入5元总币数+1; \\本站点\实时钱数2=\\本站点\实时钱数2+5;

\\本站点\投币5元=0;

}

if(\\本站点\实时钱数2>=1.5)

{

\\本站点\纯水指标灯=1;

if(\\本站点\选择纯水==1)

else

{ \\本站点\纯水指标灯=0;}

if(\\本站点\实时钱数2>=2.5)

{

\\本站点\可乐指标灯=1;

if(\\本站点\选择可乐==1)

}

else

{ \\本站点\可乐指标灯=0;}

if(\\本站点\实时钱数2>=3)

{

\\本站点\牛奶指标灯=1;

if(\\本站点\选择牛奶==1)

else

{ \\本站点\牛奶指标灯=0;}

if(\\本站点\实时钱数2>=3.5)

{

\\本站点\酸奶指标灯=1;

if(\\本站点\选择酸奶==1)

else

{ \\本站点\酸奶指标灯=0;}

(4)售货机主实时售货报表

数据报表是反映销售过程中的数据、状态等,并对数据进行记录的一种重要形式。它既能反映系统销售实时的情况,也能对长期的销售过程进行统计、分析,是人们能够实时掌握和分析整个销售情况。组态王不仅为工程人员提供了内嵌式报表系统,实现任意设置报表格式和对报表进行组态,还提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等[10]。

新建画面,画面名称为“实时售货报表”,在画面里插入报表窗口Report0,并设置成如图2.2.2(3)

点击报表工具箱上保存按钮,将此报表存于电脑本工程文件夹下,名为“实时售货报表模板.rtl”。

在报表窗口Report0中连接实时变量,如图2.2.2(4)。

图2.2.2(4)实时售货报表(2)

在电脑本工程文件夹下新建一个文件夹“实时售货报表”(本设计路径为“D:\2011毕业设计\自动售货机\实时售货报表储存”)

在画面属性命令对话框中的“存在时”输入以下命令:

string FileName;

if((\\本站点\计数1==4)||(\\本站点\计数2==4))

{

FileName="D:\2011毕业设计\自动售货机\实时售货报表储存\"+

StrFromReal( \\本站点\$年, 0, "f" )+

StrFromReal( \\本站点\$月, 0, "f" )+

StrFromReal( \\本站点\$日, 0, "f" )+

StrFromReal( \\本站点\$时, 0, "f" )+

StrFromReal( \\本站点\$分, 0, "f" )+

StrFromReal( \\本站点\$秒, 0, "f" )+".rtl";

ReportSaveAs("Report0",FileName);

}

在画面里再插入报表窗口Report1,点击报表工具箱上打开按钮,打开“实时售货

相关主题
文本预览
相关文档 最新文档