自动售货机组态监控设计.docx

上传人:b****2 文档编号:970482 上传时间:2023-04-30 格式:DOCX 页数:24 大小:886.65KB
下载 相关 举报
自动售货机组态监控设计.docx_第1页
第1页 / 共24页
自动售货机组态监控设计.docx_第2页
第2页 / 共24页
自动售货机组态监控设计.docx_第3页
第3页 / 共24页
自动售货机组态监控设计.docx_第4页
第4页 / 共24页
自动售货机组态监控设计.docx_第5页
第5页 / 共24页
自动售货机组态监控设计.docx_第6页
第6页 / 共24页
自动售货机组态监控设计.docx_第7页
第7页 / 共24页
自动售货机组态监控设计.docx_第8页
第8页 / 共24页
自动售货机组态监控设计.docx_第9页
第9页 / 共24页
自动售货机组态监控设计.docx_第10页
第10页 / 共24页
自动售货机组态监控设计.docx_第11页
第11页 / 共24页
自动售货机组态监控设计.docx_第12页
第12页 / 共24页
自动售货机组态监控设计.docx_第13页
第13页 / 共24页
自动售货机组态监控设计.docx_第14页
第14页 / 共24页
自动售货机组态监控设计.docx_第15页
第15页 / 共24页
自动售货机组态监控设计.docx_第16页
第16页 / 共24页
自动售货机组态监控设计.docx_第17页
第17页 / 共24页
自动售货机组态监控设计.docx_第18页
第18页 / 共24页
自动售货机组态监控设计.docx_第19页
第19页 / 共24页
自动售货机组态监控设计.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

自动售货机组态监控设计.docx

《自动售货机组态监控设计.docx》由会员分享,可在线阅读,更多相关《自动售货机组态监控设计.docx(24页珍藏版)》请在冰点文库上搜索。

自动售货机组态监控设计.docx

自动售货机组态监控设计

第七章监控组态软件与PLC应用总体设计

第一节自动售货机PLC控制与监控组态设计

一、仿真系统组成

本仿真系统由上位机和下位机两部分组成。

上位机利用PC机,下位机利用松下的FP1系列可编程控制器FP1-C24。

上位机内装北京力控组态软件FORCECONTROL2.6和松下编程软件FPWIN-GR。

组态软件FORCECONTROL用以制作仿真画面、编写仿真程序并与下位机进行通信。

FPWIN-GR是松下可编程序控制器与PC机联机的编程支持工具,利用它可以实现程序输入、程序注释、程序修改、程序编译、状态监控和测试以及设置系统寄存器和PLC各种参数等。

二、自动售货机功能分析

1.自动售货机的基本功能

售货机基本功能:

对投入的货币进行运算,并根据货币数值判断是否能购买某种商品,并做出相应的反应。

2.仿真实验系统中售货机的分析

售货机的全部功能是在上位机上模拟的,其部分硬件由计算机软件模拟代替。

如钱币识别系统可以用按压某个“仿真对象”输出一个脉冲直接给PLC发布命令。

1)实验状态假设

a自动售货机只售8种商品;

b.自动售货机可识别10元、5元、1元、5角、1角硬币;

c.自动售货机可退币10元、5元、1元、5角、1角硬币;

d.自动售货机有液晶显示功能;

f.实验中售货机忽略了各种故障以及缺货等因素。

2)一次交易过程分析

a.初始状态:

由电子标签显示各商品价格,显示屏显示友好界面,此时不能购买任何商品。

b.投币状态:

按下投币按钮,显示投币框,按下所投币值,显示屏显示投入、消费、余额数值,当所投币值超过某商品价格时,相应商品选择按钮发生变化,提示可以购买。

c.购买状态:

按下可以购买的“选择”按钮,所选的商品出现在出货框中,同时显示屏上的金额数字根据消费情况相应变化。

取走商品后出货框消失。

d.退币状态:

按下退币按钮,显示退币框,同时显示出应退币值及数量。

按下确认钮,则恢复初始状态。

三、设计任务的确定

上位机与下位机之间的任务分工:

上位机主要用来完成仿真界面的制作工作;下位机则主要用来完成PLC程序的编写。

在进行PLC程序的编写时需要先分配PLC的I/O点,确定上、下位机的接口。

然后,对上位机和下位机分别进行设计工作。

最后,进行上位机设计结果与下位机设计结果的配合工作,经调试后完成整个系统的设计。

一方面,仿真的自动售货机接受PLC的控制指令并完成相应的动作;另一方面,仿真界面中的仿真自动售货机的运行,都是由界面所提供的命令语言来完成的。

四、程序设计部分

1.程序设计说明

仿真程序的编写利用了力控组态软件FORCECONTROL2.6。

下位机程序的编制则是利用松下PLC专用编程软件FPWIN-GR完成的。

2.PLC程序设计

把一次交易过程分为几个程序块:

运行初期电子标签价格的内部传递;投币过程;价格比较过程;选择商品过程;退币过程。

1)运行初期电子标签价格的内部传递程序的设计

仿真系统运行初期的任务:

①要由PLC向仿真画面相应对象传递已经存储好的价格;

②给投入显示、消费显示及余额显示寄存器清零;

③给存储退币币值的存储器清零。

程序编制过程中,要用到运行初期闭合继电器R9013、16位数据传送指令F0,同时在上位机FORCECONTROL中,必须定义相应的变量,来实现与PLC程序的对接。

电子标签价格内部传递变量表:

运行初期电子标签价格的内部传递程序:

 

系统初始化时,通过运行初期闭合继电器R9013在第一次扫描时将数值传递给上位机。

通过指令F0给WR1~WR11及SV0~SV4赋初值。

2)投币过程

每投下一枚硬币,投入显示将增加相应的币值,余额也增加同样的币值。

投币过程变量表:

投币过程梯形图:

 

在上图中,当按下投入一角时,相当于让R200接通,之所以用一个微分指令,就是要只在接通时检测一次,不能永远加下去。

投入一角要使投入显示、余额显示都相应增加相同数值,加法由16位加法指令F20实现的。

投入五角、一元、五元、十元,原理同上。

3)价格比较过程

价格的比较要贯穿实验过程的始终,只要余额大于某种商品价格时,就需要输出一个信号,提示可以购买。

这里用选择灯来代表此信号。

 

价格比较过程变量表

价格比较梯形图:

 

本图中,在程序执行过程中,R9010始终保持闭合,是16位数据比较指令,F60用来比较余额和商品的价格,R900A是大于标志,R900B是等于标志。

当余额大于等于某种商品价格时,程序使相应的指示灯闪烁表示可以购买该种商品。

4)选择商品过程

当投入的币值可以购买某种商品时,按下相应的“选择”按钮即可在出货框中出现该种商品,同时消费显示栏中显示出已经消费掉的金额,余额也将扣除已消费的币值,接着余额继续与价格比较,判断是否能继续购买。

出现在出货口的商品在没有取走前,一直保持显示状态,用鼠标点击该商品代表已经取走,出货口中的商品隐藏。

选择商品过程变量表

选择商品梯形图:

 

在选择商品的过程中:

一是要使商品出现在出货框中,二是要实现内部货币的运算。

如:

按下选择01商品键,相当于给R205加一个信号(只接受一次脉冲,所以用DF微分指令),当Y0接通(01商品灯亮)时,则系统显示可以购买01商品。

由于取01商品R230是常闭触点,故Y8输出,代表在出货框中出现01商品,购买成功。

当按下取01商品按钮时,R230断开,不能输出Y8,代表01商品被取走。

内部币值的计算和是否取走商品无关,只要按下选择按钮,并且可以购买此商品就要从余额中扣除相应的金额,显示消费的币值。

加法由F20指令实现,减法由F25指令实现。

5)退币过程

在退币过程中,最主要的是要完成退币的运算过程,根据结果输出相应的钱币,退币结束时还要给程序中使用到的某些寄存器重新赋零。

退币过程变量表

说明

上位机FORCECONTROL变量

对应PLC地址

退币按钮

TENTER

R20F

退币0.1元

TB$1.PV

SV4

退币0.5元

TB$5.PV

SV3

退币1元

TB$10.PV

SV2

退币5元

TB$50.PV

SV1

退币10元

TB$100.PV

SV0

退币确任按钮

TUIBIOK.PV

R0

退币过程梯形图:

退币过程:

在按下退币按钮(即R20F接通)时执行,同样也用到一个微分指令,在接收到信号时产生一次开关脉冲,进而执行一次其下面的指令。

F32是除法指令,第一次将余额的币值除以1000,商存储于SV0中,作为退币10元的输出值。

余数则存储于特殊数据寄存器DT9015中,下次将不能被1000(10元)整除的余数除以500(5元),商存储于SV1中,余数继续下传,直至被1角除过,由于所投币值最小是1角,并且商品价格也确定在整角,所以最终能被1角整除。

在程序的初始化时曾给WR13、WR15、WR17、WR19和WR20赋零,WR13、WR15、WR17、WR19和WR20是程序的中间量。

退币过程结束后,PLC要将寄存器中的数值置回原定的初值0,完成一次交易,防止下一次交易时出错。

数据初始化梯形图:

程序中分别将投入显示、消费显示、余额显示、10元存储、5元存储、1元存储、5角存储和1角存储清零,还将中间量WR13、WR15、WR17、WR19和WR20清零。

五、仿真界面的设计

1.售货机背景的设计

售货机背景是一个不动的画面,可以利用图片处理的方法按照制定样式的功能画出售货机的整体。

2.显示屏部分的设计

图中的欢迎字符是可以闪烁变化的,‘aaaa’字符可以用来显示系统的时间。

交易过程中的币值显示画面如下图:

3.电子标签的设计

电子标签用来显示程序中传递上来的价格,其中要有可以定义的字符,设计出的标签为

其中的字符‘J.03’表示可以显示03商品价格的变量。

4.按钮的设计

“选择”按钮的设计要反映出可以购买和不可购买时的差异,所以其中也要有可以变化的字符。

设计如右图

,其中字符‘选择’在满足条件以后可以闪烁变色。

按钮均可以动作。

5.投退币提示框的设计

投、退币提示框中要有可以投入的硬币、确认按钮以及框架,其中硬币、确认按钮和字符‘a’均是可以定义的变量。

 

投币提示框

退币提示框

6.出货框的设计出货框

出货框中要有01至08商品的示意图以及框架。

其中的商品在满足条件后可以出现,鼠标点击后可以消失,是可定义的变量。

 

出货框

六、仿真界面中各变量的定义

仿真程序上的各部分若实现仿真功能,就必须定义成相应的变量,再与PLC程序中的软继电器相匹配,这样才能实现PLC的控制功能。

1.中间变量

中间变量的作用域为整个应用程序,不限于单个窗口。

中间变量适于作为整个应用程序动作控制的全局性变量、全局引用的计算变量或用于保存临时结果。

该仿真实验系统中有3个中间变量:

⑴poiwindows:

该变量是控制显示屏的。

poiwindows=1:

显示屏进入投币交易状态;

poiwindows=0:

显示屏返回初始欢迎状态。

⑵poiwinJB:

该变量是控制投币框的。

poiwinJB=1:

显示投币框;

poiwinJB=0:

投币框消失。

⑶poiwinTB:

该变量是控制退币框的。

poiwinTB=1:

显示退币框,

poiwinTB=0:

退币框消失。

2.数据库变量

当要在界面上显示处理数据库中的数据时,需要使用数据库变量。

一个数据库变量对应数据库中的一个点参数。

数据库变量的作用域为整个应用程序。

数据库变量有三种:

实型数据库变量、整型数据库变量和字符数据库变量。

仿真系统中有56个整型数据库变量,分别对应PLC程序中的56个软继电器。

3.仿真界面与PLC程序的配合定义

⑴初始状态

poiwindows=0:

显示屏显示初始欢迎状态。

以01商品为例,电子标签中的字符‘J.01’对应的变量JG01.PV与PLC程序中的地址WR4相匹配,WR4中存储的数据为250,如何让字符显示2.50元呢?

方法:

在开发系统(Draw)中,双击字符‘J.01’,来到“动画连接”画面,选择“数值输出”中的“模拟”项,键入‘JG01.PV/100’即可,由250到2.50实际是计算机来完成的。

其它的价格也是如此显示的。

 

动画连接画面

⑵投币状态

 当投币时,按下“投币”提示字,出现投币框。

如何定义“投币”呢?

双击汉字“投币”,来到“动画连接”画面,选择“触敏动作”中的“左键动作”,在“动作描述”框中作如下定义:

按下鼠标时,poiwinJB=1,poiwinJB这个变量是控制投币框的,当poiwinJB=1时,出现钱币和提示框;poiwinJB=0,钱币和提示框隐藏。

下面分别定义提示框和钱币以及“确认”按钮。

双击提示框,来到“动画连接”画面,选择“显示/隐藏”项,定义poiwinJB==1时显示,各硬币也用同样的方法定义,“确认”按钮也同样定义,这样就使在按下汉字“投币”时,变量poiwinJB=1,从而出现投币框,以及硬币等。

定义了投币框的显示状态,用鼠标点击代替了实际过程中的钱币投入动作,最重要的任务是投币运算,下面介绍钱币的定义方法。

以十元为例:

双击十元硬币,来到“动画连接”画面,选择“触敏动作”中的“左键动作”,在动作描述中如下定义:

按下鼠标时,poiwindows=1;TR$100.PV=1;释放鼠标时,TR$100.PV=0;动作描述画面下图所示。

动作描述画面

其中poiwindows=1,是让显示屏不再显示友好界面,来到交易界面;

TR$100.PV=1时给PLC发出一个接通信号,由于TR$100.PV对应的PLC地址是R204,使得R204继电器导通,转而执行相应的加十元程序。

同样定义其它钱币,注意其对应的PLC软继电器。

最后还要定义“确认”按钮。

要实现的功能是按下“确认”按钮时,所有的钱币以及投币提示框均消失。

这里作如下定义:

双击“确认”按钮,来到“动画连接”画面,选择“触敏动作”中的“左键动作”,在动作描述中作如下定义:

按下鼠标时,poiwinJB=0;

poiwinJB=0时,所有的钱币以及投币提示框均消失,这是由计算机控制的内部变量。

投币以后,显示屏要及时反映出投币情况,同时“选择”指示也要相应变化(闪烁、变色)。

下面来定义显示屏和“选择”按钮。

显示屏要显示3种数据,分别为:

投入显示、消费显示、余额显示。

三种显示均用力控软件自带的附件—数码管来显示。

先在工具箱中点击“选择子图项”,在子图库中找到仪表中的数码管,放在显示屏中,作为投入显示,再复制两个,分别作为消费显示、余额显示。

双击数码管来到数码管属性设置画面,在表达式中作如下定义:

poiTR001.PV/100,poiTR001.PV连接的是PLC程序中的WR1软继电器,是用来存储投入显示数据的,除以100同样是为了PLC数据计算的方便。

这样就可用数码管来显示投入的币值。

同样定义消费显示,余额显示。

数码管的属性设置画面如图所示:

“选择”按钮要根据余额的数值发生闪烁和变色。

定义过程如下:

双击“选择”按钮,来到“动画连接”画面,在“颜色相关动作”中选择“闪烁”项,分别定义属性和频率,在变量选择项中选择相应的指示灯变量。

以01商品的选择指示灯为例,在变量选择项中选择D01.PV==1,满足条件时指示灯变色。

这样就定义好了投币状态的上位机仿真变量,配合PLC程序可以实现投币功能。

下图是一幅投币时的画面,投入6.60元,还未买商品,注意看显示屏的显示以及选择按钮的变化,此时还不能购买06号商品(价格12元)。

⑶购买状态

定义了投币状态,就可以购买商品了。

当选择指示灯变色以后,按下它,将会在出货口处出现我们要买的商品。

以01商品为例:

定义“选择”按钮:

双击“选择”按钮,来到“动画连接”画面,选择“触敏动作”中的“左键动作”,在动作描述中如下定义:

按下鼠标时XZ01.PV=1;释放鼠标时,XZ01.PV=0。

XZ01.PV与PLC程序中的R205相对应,按下可以购买商品的选择键,转而执行相应的PLC程序同时消费显示增加相应的币值,余额显示减少相应的币值,此时还要在出货口处出现相应的商品。

用“显示/隐藏”功能来定义在出货口中出现的商品。

双击出货口处的小商品,来到“动画连接”画面,选择“显示/隐藏”项,定义CX01.PV==1时显示。

定义画面下图所示。

出货口框架的隐藏/显现是用程序来控制的。

当有一种商品出现在出货口,就会显示框架;当全部商品均消失后框架隐藏。

程序如下图所示。

图中R210是控制出货口框架是否出

现的继电器。

⑷退币状态

当按下“退币”按钮时,PLC要进行退币运算。

所以按下“退币“按钮就要与PLC通讯,执行退币计算。

下面来定义退币按钮。

双击“退币”按钮,出现“动画连接”画面,选择“触敏动作”中的“左键动作”,动作描述为:

按下鼠标,poiwinJB=0;poiwinTB=1;Tenter.PV=1。

释放鼠标,Tenter.PV=0;内部变量poiwinJB=0是让投币框消失,poiwinTB=1是让退币框出现,Tenter.PV与PLC程序中的R20F对应。

退币框中要有五种硬币,还要有表示硬币个数的数字。

由于计算中采用的算法使得退币时按照币值大小顺序退币,例如退五元,只退一个五元,而不退五个一元。

定义表示硬币个数的变量只用一位数即可。

在退币时,要退出的硬币及个数显示,而不退的硬币隐藏。

以十元为例,定义钱币时,双击十元硬币,出现动画连接画面,选择“显现/隐藏”项,在“可见性定义”对话框中作如下图的定义。

其它硬币定义方法同上。

定义钱币个数:

双击十元硬币个数字符“a”,出现“动画连接”画面,选择“数值输出”中的“模拟”项,作下图的定义。

同时钱币个数也要定义是否隐藏,定义方法和定义钱币相同。

定义“确认”键时,按下”确认”键,代表取走了所有硬币,完成此次交易,因此退币“确认”键的定义很重要。

双击“确认”键,出现“动画连接”画面,选择“触敏动作”中的“左键动作”,在动作描述栏中定义如下:

按下鼠标

poiwinTB=0;功能:

退币框消失;

TuiBiok.PV=1;功能:

给PLC信号,闭合R0,

完成数据的初始化;

poiwindows=0;功能:

显示屏显示友好界面。

为了防止在未取走商品时退币,按下“确认”键后又不能返回原始状态。

在描述中加入以下一段程序,强行抛掉已经购买的商品。

CX01.PV=0;

CX02.PV=0;

CX03.PV=0;

CX04.PV=0;

CX05.PV=0;

CX06.PV=0;

CX07.PV=0;

CX08.PV=0;

释放鼠标时,TuiBiok.PV=0。

只是给PLC一个微分信号,不能将R0永远置为1。

还有一点要注意,“确认”键也要有隐藏的时候,定义方法同钱币。

定义退币框架:

按下“退币”按钮后就会出现退币框架。

可以这样定义:

双击退币框架,来到“动画连接”画面,选择“显现/隐藏”项,在“可见性定义”表达式中定义poiwinTB==1时显现即可。

七、数据连接

1.定义I/O设备

数据库是从I/O驱动程序中获取过程数据的,而数据库同时可以与多个I/O驱动程序进行通信,一个I/O驱动程序也可以连接一个或多个设备。

下面创建I/O设备。

1)在Draw导航器中双击“实时数据库”项使其展开,选择“I/O设备驱动”项使其展开,在展开项目中选择“PLC”项双击使其展开,然后继续选择厂商名“松下电工”并双击使其展开后,选择项目双击并按下图定义。

2)单击“完成”按钮返回,在“松下电工”项目下面增加了一项“PLC001”。

如果要对I/O设备“PLC001”的配置进行修改,双击项目“PLC001”,会再次出现PLC001的“I/O设备定义”对话框。

若要删除I/O设备“PLC001”,用鼠标右键单击项目“PLC001”,在弹出的右键菜单中选择“删除”。

2.数据连接

刚刚创建了一个名为“PLC001”的I/O设备,而且它连接的正是假想的PLC设备。

现在的问题是如何将已经创建的多个数据库点与PLC联系起来,以使这些点的PV参数值能与I/O设备PLC进行实时数据交换,这个过程就是建立数据连接的过程。

由于数据库可以与多个I/O设备进行数据交换,所以必须指定哪些点与哪个I/O设备建立数据连接。

为方便起见,将数据列表整理成如下表所示。

模拟I/O表

3.运行

保存所有组态内容,然后关闭所有力控程序,包括:

Draw、DbManager等。

将自动售货机的PLC程序下传到PLC装置中并让其执行,切换到离线状态,然后再次启动力控工程管理器,选择本工程,并单击“进入运行”按钮启动整个运行系统。

在运行中,可以按照实际自动售货机的功能来操作,以检验所编程序的正确与否。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2