plc设计的自动售货系统设计1本科毕设论文.docx
《plc设计的自动售货系统设计1本科毕设论文.docx》由会员分享,可在线阅读,更多相关《plc设计的自动售货系统设计1本科毕设论文.docx(37页珍藏版)》请在冰豆网上搜索。
plc设计的自动售货系统设计1本科毕设论文
毕业设计
自动售货机的PLC系统设计
摘要
本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。
具体说明了可编程序控制器在自动售货机中的作用。
程序涉及到了自动售货机工作的绝大部分过程。
利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。
关键词自动售货机;可编程序控制器;梯形图
Abstract
Thisarticleintroducedvendingmachine’sbasicprincipleaswellastheworkflow,thentakeatransactionprocessasexamples,dividesintoseveralblocksthetransactionprocessthencarriesontheprogrammingseparatelytotheblock.Explainedtheprogrammablecontroller’sinvendingmachinefunctionspecifically.Theprocedureinvolvedthevendingmachineworkmajorpartprocess.Enhancedsystem’sstabilityusingthePLCcontrol’svendingmachine,theguaranteevendingmachinehasbeenablethelong-termstabilitymovment
Keyword:
Vendingmachine;Programmablecontroller;Trapezoidalchart
第一章绪论
1.1自动售货机功能分析
这部分阐述了自动售货机的各种动作功能和控制要求,给出了完整的自动售货机操
作规程,并介绍了自动售货机运行系统种所包括的人工操作步骤。
在进行上、下位机程序编写之前,首先要做的工作是确定自动售货机本身所具备的功能及在进行某种操作后所具有的状态。
在实际生活中,我们见到的售货机可以销售一些简单的日用品,如饮料、常用药品和小的生活保健用品等。
售货机的基本功能就是对投入的货币进行运算,并根据货币数值判断是否能够购买某种商品,并作出相应的反应。
售货机一次交易要涉及加法运算、减法运算以及在退币时的除法运算,这是它的内部功能。
还要有货币识别系统和货币的传动来实现完整的售货、退币功能。
自动售货机的工作流程图如图1所示。
图1自动售货机工作流程图
1.2PLC的概述
1.2.1PLC的产生
20世纪20年代起,人们把各种继电器。
定时器。
接触器及其触点按一定的逻辑关系连接起来组成控制系统,控制各种生产机械,这就是大家所熟悉的传统继电接触器控制系统.由于它结构简单。
容易掌握。
价格便宜,在一定范围内能满足控制要求,因而使用面甚广,在工业控制领域中一直占主导地位.但是继电接触器控制系统有明显的缺点:
设备体积大,可靠性差,动作速度慢,功能少,难与实现较复杂的控制,特别是由于它是靠硬连线逻辑构成的系统,接线复杂,当生产工艺或对象改变时,原有的接线和控制盘就要更换,所以通用性和灵活性较差.
20世纪60年代末期,美国的汽车制造业竞争激烈,各生产厂家的汽车型号不断更新,它必然要求生产线的控制系统亦随之改变,以及对整个开展系统重新配置.为抛弃传统的继电接触器控制系统的束缚,适应白热化的市场竞争要求,1968年美国通用汽车公司公开向社会招标,对汽车流水线控制系统提出具体要求,归纳起来是:
(1)编程方便,可现场修改程序
(2)维修方便,采用插件式结构
(3)可靠性高于继电器控制装置
(4)体积小于继电器控制盘
(5)数据可直接送入管理计算机
(6)成本可与继电器控制盘竞争
(7)输入可以是交流150V以上
(8)输出为交流115V,容量要求在2A以上,可直接驱动接触器,电磁阀等
(9)扩展时原系统改变最小
(10)用户存储器至少能扩张到4KB(适应当时汽车装配过程的需要)
十项指标的核心要求是采用软布线(编程)方式代替继电控制的硬接线方式,实现大规模生产线的流程控制。
1.3.2PLC的发展趋势
PLC总的发展趋势是向高集成度、小体积、大容量、高速度、易使用、高性能方向发展。
具体表现在以下几个方面。
(1)向小型化、专用化、低成本方向发展
随着微电子技术的发展,新型器件大幅度的提高功能和降低价格,使PLC结构更为
凑,相当与一本精装本书的大小,操作使用十分方便。
PLC的功能不断增加,将原来大、中型PLC才有的功能部分地移植到小型PLC上。
(2)向大容量、高速度方向发展
大型PLC采用多微处理器系统,有的采用了32位微处理器,可同时进行多任务操作,处理速度提高,特别是增强了过程控制和数据处理的功能。
另外,存储容量大大增加。
(3)智能型I/O模块的发展
智能型I/O模块是以微处理器和存储器为基础的功能部件,它们的CPU与PLC的主CPU并行工作,占用主CPU的时间很少,有利于提高PLC的扫描速度。
(4)基于PC的编程软件取代编程器
随着计算机的日益普及,越来越多的用户使用基于个人计算机上的编程软件。
编程软件可以对PLC控制系统的硬件组态,即设置硬件的结构和参数,例如设置各框架各个插槽上模块的型号、模块的参数、各串行通行接口的参数等。
(5)PLC编程语言的标准化
与个人计算机相比,PLC的硬件、软件的体系结构都是封闭的而不是开放的。
在硬件方面,各厂家的CPU模块和I/O模块互不通用。
PLC的编程语言和指令系统的功能和表达式也不一致,因此各厂家的可遍程序控制器互不兼容。
为了解决这一问题,IEC制定了可遍程序控制器标准。
标准中共有5种编程语言,允许编程者在同一程序中使用多种编程语言,这使编程能够选择不同的语言来适应特殊的工作。
(6)PLC通信的易用化
PLC的通信联网功能使它能与个人计算机和其他智能控制设备交换数字信息,使系统形成一个统一的整体,实现分散控制和集中控制。
(7)组态软件与PLC的软件化
个人计算机(PC)的价格便宜,有很强的数学运算、数据处理、通信和人机交互的功能。
(8)PLC与现场总线相结合
现场总线I/O与PLC可以组成功能强大的、廉价的DCS系统。
(9)开发新型特殊功能模块
I/O组件可以提高PLC的智能化、高密集度和增大处理能力。
(10)CPU的处理速度进一步加快
目前,PLC的处理速度与计算机相比还比较慢,其高的CPU也不过80486,将来会全面使用64位的RISC芯片,采用多CPU进行处理、分时处理或分任务处理方式,将各种模块智能化,部分系统程序用门阵列电路固化,这样可使PLC的处理速度达到纳秒级。
1.3.4PLC的特点
(1)抗干扰能力强,可靠性好
PLC在电子线路、机械结构以及软件结构上都吸取了生产厂家长期积累的生产控制经验,主要模块均采用大规模与超大规模集成电路。
I/O系统设计有完善的通道保护与信号调理电路;在结构上对耐热、防潮、防尘、抗震等都有周到的考虑。
(2)控制系统结构简单,通用性强
PLC及外围模块品种多,可由各种组件灵活组合成各种大小和不同要求的控制系统。
(3)编程方便,易于使用
PLC是面向用户的设备,PLC的设计者充分考虑到现场工程技术人员的技能和习惯,PLC程序的编制,采用梯形图或面向工业控制的简单指令形式。
梯形图与继电器原理图相类似,这种编程语言现象直观,容易掌握,不需要专门的计算机知识和语言,只要具有一定的电工和工艺的知识的人员都可在短时间内学会。
(4)功能完善
PLC的输出/输入功能完善,性能可靠,能够适应与任何形式和性质的开关量和模拟量的输入/输出。
在PLC内部具有许多控制功能,诸如时序、计算机、主控继电器以及移位寄存器、中间寄存器等。
由于采用了微处理器,它能够很方便地实现延时、锁存、比较、跳转、和强制I/O等诸多功能,不仅具有逻辑功能、算术运算、数制转换、以及顺序控制功能,而且还具备模拟运算、显示、监控、打印、及报表生成等功能。
(5)设计、施工、调试、的周期短
用继电接触器控制完成一项控制工程,必须首先按工艺要求画出电气原理图,然后画出继电器屏的布置和接线图等,进行安装调试,以后修改起来十分不便。
而采用PLC控制,由于其硬软件齐全,为模块化积木式结构,且已商品化,故仅需按性能、容量等选用组装,而大量具体的程序编制工作也可在PLC到货前进行,因而缩短了设计周期,使设计和施工可同时进行。
(6)体积小,维护操作方便
PLC体积小,质量轻,便于安装。
PLC的输入/输出系统能够直观的反映现场总线信号的变化状态,还能通过各种方式直观的反映控制系统的运行状态。
(7)易于实现网络化
PLC可连成功能很强的网络系统。
(8)可实现三电一体化
PLC将电控(逻辑控制)、电仪(过程控制)和电结(运动控制)这三电集于一体,可以方便、灵活地组合成各种不同规模和要求的控制系统,以适应各种工业控制的需要。
1.4PLC的基本结构及原理
1.4.1PLC的系统结构
目前PLC种类繁多,功能和指令系统也都各不相同,但都是以微处理器为核心用做工业控制的专用计算机,所以其结构和工作原理都大致相同,硬件结构与微机相似。
主要包括中央处理单元CPU、存储器RAM和ROM、输入输出接口电路、电源、I/O扩展接口、外部设备接口等。
其内部也是采用总线结构来进行数据和指令的传输。
如图2所示,PLC控制系统由输入量—PLC—输出量组成,外部的各种开关信号、模拟信号、传感器检测的各种信号均作为PLC的输入量,它们经PLC外部输入端子,作为PLC的输出量对外围设备进行各种控制。
由此可见,PLC的基本结构有控制部分输入和输出组成。
图2PLC硬件结构图
1.4.2PLC的基本工作原理
PLC采用的是循环扫描工作方式。
对每个程序,CPU从第一条指令开始执行,按指令步序号做周期性的程序循环扫描,如果无跳转指令,则从则从第一条指令开始逐条顺序执行用户程序,直至遇到结束符后又返回第一条指令,如此周而复始不断循环,每一个循环称为一个扫描周期。
PLC的扫描全过程如图3所示。
图3PLC的扫描全过程
显然扫描周期的长短主要取决与程序的长短。
扫描周期越长,响应速度越慢。
由于每一个扫描周期只进行一次I/O刷新,即每一个扫描周期PLC只对输入、输出状态寄存器更新一次,故使系统存在输入、输出滞后现象,这在一定程度上降低了系统的响应速度。
由此可见,若输入变量在I/O刷新期间状态发生变化,则本次扫描期间输出会相应地发生变化。
反之,若在本次刷新之后输入变量才发生变化,则本次扫描输出不变,而要到下一次扫描的I/O刷新期间输出才会发生变化。
这对于一般的开关量控制系统来说是完全允许的,不但不会造成不利影响,反而可以增强系统的抗干扰能力。
这是因为输入采样仅在输入刷新阶段进行,PLC在一个工作周期的大部分时间里实际上是外设隔离的。
而工业现场的干扰常常是脉冲式的、短时的,由于系统响应较慢,往往要几个扫描周期才响应一次,而多次扫描后,因瞬间干扰而引起的误操作将会大大减少,从而提高了系统的抗干扰能力。
但是对于控制时间要求较严格、响应速度要求较快的系统,就需要精心编制程序,必要时采用一些特殊功能,以减少因扫描周期造成的响应滞后等不良影响。
第二章自动售货机PLC程序设计
2.1简单模拟一次交易过程分析
为了方便分析,我们以一次交易过程为例。
1初始状态。
由电子标签显示各商品价格,显示屏显示友好界面,此时不能购买任何商品。
2投币状态。
按下投币按钮,显示投币框,按下所投币值显示屏显示投入、消费、余额数值,当所投币值超过商品价格时,相应价格选择按钮发生变化,提示可以购买。
3购买状态。
按下可以购买的选择按钮,所选的商品出现在出货框中,同时显示屏上的金额数字根据消费情况相应变化。
取走商品后出货框消失。
4退币按钮。
按下退币按钮,显示退币框,同时显示出应退币值及数量。
按下确认钮,则恢复初始状态。
到此为止,自动售货机的一个完整工作过程结束。
2.2Plc控制系统设计的的一般步骤如图4所示
图4PLC控制系统设计步骤
2.3程序设计部分
这部分内容是整个系统设计的主体部分。
所要完成的任务是仿真系统的上位机与下位机的程序设计,即在上述功能分析的基础上,有针对性地进行设计。
2.3.1PLC程序设计
可以把一次交易过程分为几个程序块:
运行初期电子标签价格的内部传递;投币过程;价格比较过程;选择商品过程;退币过程。
(1)运行初期电子标签价格的内部传递程序的设计
仿真系统运行初期,要由PLC向仿真画面相应对象传递已经存储好的价格,还要给投入显示、消费显示及余额显示存储器清零,同时也要给存储退币币值的存储器清零。
程序编制过程中,要用到运行初期闭合继电器R9013、16位数据传送指令FO,同时在上位机ForceControl中,必须定义相应的变量,来实现与PLC程序的对接。
所定义的变量如表1所示。
表1初始状态变量表
根据表1编制PLC程序如图5所示。
图5运行初期电子标签价格的内部传递程序
在梯形图程序图5中,系统初始化时,通过运行初期闭合继电器R9013在第一次扫描时将数值传递给上位机。
给WR1-WR11及SV0-SV4赋初值,赋值功能通过高级指令FO实现。
至于为什么要加入WR13、WR15、WR17、WR19及WR20,在以后的程序中将介绍它们的作用。
(2)投币过程
在投币的过程中,每投下一枚硬币,投入显示将增加相应的币值,余额也增加同样币制。
先建立变量表,在编写程序。
变量表如表2所示。
对应的梯形图程序如图7所示。
表2投币过程变量表
在图中,当按下投入1角时,相当于让R200接通,之所以用一个微分指令,就是要只在接通时检测一次,不能永远加下去。
投入1角要投入显示、余额显示都相应增加相同数值,加法是由16位加法指令E20来实现的。
投入5角、1元、5元、10元,原理同上。
图7投币过程梯形图
(3)价格比较过程
价格的比较要贯穿实验过程的始终,只要余额大于某种商品价格时,就需要输出一个信号提示可以购买。
这里只要选择灯来代表此信号。
所建立的变量表如表3所示。
表3价格比较过程变量表
根据变量表和控制要求编写的程序如图8所示。
在梯形图8中,为了实现数据的实时比较,用了一个特殊内部继电器R9010,在程序执行过程中,R9010始终保持闭合,F60是16位数据比较指令,用它来比较余额和商品的价格,R900A是大于价格,R900B是等于标志。
当余额大于等于某种商品价格时,程序使相应的指示灯闪烁表示可以购买该种商品。
R9010
F60CMP,WR3,WR4
R900AY0
R900B
R9010
F60CMP,WR3,WR5
R900AY1
R900B
R9010
F60CMP,WR3,WR6
R900AY2
R900B
R9010
F60CMP,WR3,WR7
R900A
Y3
R900B
R9010
F60CMP,WR3,WR8
R900AY4
R900B
R9010
F60CMP,WR3,WR9
R900AY5
R900B
.
图8价格比较过程梯形图
(4)选择商品过程
当投入的币值可以购买某种商品时,按下相应的“选择”按纽即可在出货框中出现该种商品,同时消费显示栏中显示出已经消费掉的金额,余额也将扣除已消费的币值,接着余额继续与价格相比较,判断是否能继续购买。
出现在出货口的商品在没有取走前,一直保持显示状态,用鼠标点击该商品代表已经取走,出货口中的商品隐藏。
建立的变量表如表4所示。
对应的梯形图程序如图9所示。
表4选择商品过程变量表
在梯形图9中,一是要使商品出现在出货框中,二是要实现内部货币的运算。
以第一步为例,按下选择01商品键,相当于给R205加一个信号(只接受一次脉冲,所以用DF微分指令),当YO接通(01商品灯亮)时,则系统显示可以购买01商品。
由于取01商品R230是常闭触点,故Y8输出,代表在出货框中出现01商品,购买成功。
当按下取01商品按钮时,R230断开,不能输出Y8,代表01商品被取走。
内部币值的计算和是否取走商品无关,只要按下选择按钮,并且可以购买此商品就要从余额中扣除相应的金额,显示消费的币值。
加法由F20指令实现,减法由F25实现。
R205Y0R230Y8
DF
Y8
R205Y0
DF1
1F25-,WR4,WR3
F20+,WR4,WR2
R206Y1R231Y9
DF
Y9
R206Y1
DF1
1F25-,WR5,WR3
F20+,WR5,WR2
R207Y2R232YA
DF
YA
R207Y2
DF1
1F25-,WR6,WR3
F20+,WR6,WR2
R208Y3R233YB
DF
YB
R208Y3
DF1
1F25-,WR7,WR3
F20+,WR7,WR2
R209Y4R234YC
DF
YC
R209Y4
DF1
1F25-,WR8,WR3
F20+,WR8,WR2
R20AY5R235YD
DF
YD
R20AY5
DF1
1F25-,WR9,WR3
F20+,WR9,WR2
R20BY6R236YE
DF
YE
R20BY6
DF1
1F25-,WR10,WR3
F20+,WR10,WR2
R20CY7R237YF
DF
YF
R20CY7
DF1
1F25-,WR11,WR3
F20+,WR11,WR2
图9选择商品梯形图
(5)退币过程
在退币过程中,最主要的是完成退币的运算过程,根据结果输出相应的钱币,退币结束时还要使用到的某些寄存器重新赋零。
所建立的变量如表5所示。
对应的梯形图程序如图10所示。
表5退币过程变量表
整个退币过程在按下按钮(即R20F接通时)时执行,同样也用到一个微分指令,在接收到信号时产生一次开关脉冲,进而执行一次其下面的指令。
F32是除法指令,第一次将余额的币值除以1000,商存储于SV0中,作为退币10元的输出值。
余数则存储于特殊数据寄存器DT9015中,下次将不能被1000(10元)整除的余数除以100(5元),商且存储于SV1中,余数继续下传,直至被1角除过,由于所投币值最小是1角,并且商品价格也确定在整角,所以最终能被1角整除。
在程序的初始化时曾给WR13、WR15、WR17、WR19和WR20赋零,WR13、WR15、WR17、WR19和WR20是程序的中间量,为的只是程序在使用过程中能稳定执行,避免出现退币错误。
为什么要除以1000呢?
这主要是考虑到PLC的主要特点是执行过程稳定可靠,但执行速度较慢。
在计算时尽量将数值作为整数计算,因为是在计算机上模拟,可以把一部分功能交由计算机来实现,这里把1角当作10、5角当作50、1元当作100、5元当作500、10元当作1000,可以避免把这些数据当作有小数点的实数计算,这同前面的加1角等于10(K10)是相同的道理。
至于交由计算机的任务将在以后叙述。
退币过程结束后,PLC要将寄存器中的数值置回原定的初值0,完成一次交易,防止下一次交易时出错。
梯形图3-6用来完成对数据的初始化。
程序中分别将投入显示、消费显示、余额显示、10元存储、5元存储、1元存储、5角存储和1角存储清零,还将中间量WR13、WR15、WR17、WR19和WR20清零。
完成了以上5个过程,自动售货机的PLC控制程序基本完成,程序可以控制售货机实现各种要求的功能。
图10退币过程梯形图
2.5数据连接
3.5.1定义I/O设备
数据库是从I/O驱动程序中获取过程数据的,而数据库同时可以与多个I/O驱动程序进行通信,一个I/O驱动程序也可以连接一个或多个设备。
下面创建I/O设备。
(1)在Draw导航器中双击“实时数据库”项使其展开,在展开项目中选择“PLC”项双击使其展开后,选择项目双击并定义。
(2)单击“完成”按钮返回,在“松下电工”项目下增加一项“PLC001”,如果要对I/O设备“PLC001”的配置进行修改,双击项目“PLC001”,会再次出现PLC001的“I/O设备定义”对话框。
若要删除I/O设备“PLC001”,用鼠标右键单击项目“PLC001”,在弹出的右键菜单中选择“删除”。
1数据连接
刚刚创建了一个名为“PLC001”的I/O设备,而且它连接的正是假想的PLC设备。
现在的问题是如何将已经创建的多个数据库点与PLC联系起来,以使这些点的PV参数值能与I/O设备PLC进行实时数据交换,这个过程就是建立数据连接的过程。
由于数据库可以与多个I/O设备进行数据交换,所以必须指定哪些点与哪些个I/O设备建立数据连接。
为方便其见,我们将数据列整理成如表6、表7所示。
NAMEDESC%IOLINK
[点名][说明][I/O连接]
1CX0101商品出现PV=PLC001;序号,寄存器,地址,偏移;2000008-2-0-0-8
2CX0202商品出现PV=PLC001;序号,寄存器,地址,偏移;2000009-2-0-0-9
3CX0303商品出现PV=PLC001;序号,寄存器,地址,偏移;20000010-2-0-0-10
4CX0404商品出现PV=PLC001;序号,寄存器,地址,偏移;20000011-2-0-0-11
5CX0505商品出现PV=PLC001;序号,寄存器,地址,偏移;20000012-2-0-0-12
6CX0606商品出现PV=PLC001;序号,寄存器,地址,偏移;20000013-2-0-0-13
7CX0707商品出现PV=PLC001;序号,寄存器,地址,偏移;20000014-2-0-0-14
8CX0808商品出现PV=PLC001;序号,寄存器,地址,偏移;20000015-2-0-0-15
9D0101商品灯亮PV=PLC001;序号,寄存器,地址,偏移;2000000-2-0-0-0
10D0202商品灯亮PV=PLC001;序号,寄存器,地址,偏移;2000001-2-0-0-1
11D0303商品灯亮PV=PLC001;序号,寄存器,地址,偏移;2000002-2-0-0-2
12D0404商品灯亮PV=PLC001;序号,寄存器,地址,偏移;20000