APP下载

售货机PLC控制及其仿真系统设计

2015-11-27刘一凡

肇庆学院学报 2015年2期
关键词:缺货投币组态

刘一凡

(肇庆学院 电子信息与机电工程学院,广东 肇庆 526061)

0 引言

自动售货机被称为24 小时营业的微型超市,遍布于各大中城市人口密集的场所,随着城市建设的发展,其市场潜力无限.售货机常置于室内外便于行人取用的地方,所以它应具有环境适应能力强、可靠性高、抗干扰性强等特点.PLC是为应对恶劣工业环境设计的控制器,因此自动售货机大多以PLC为控制核心部件.由于自动售货机具有货币传动、货币识别、金额计算、货物传动、退币等功能,是一个综合性较强的控制系统,因此,在PLC教学中教师常以售货机为实例,加深学生对PLC知识的理解和对实际应用的认识,这也可为学生在该行业就业打下良好的基础.为了解决教学中PLC无控制对象问题,使抽象的PLC程序控制能够达到所见即所得,笔者应用组态王软件开发了PLC控制的虚拟自动售货机仿真交易系统.

1 功能要求

在虚拟自动售货机仿真系统中PLC控制的是计算机显示屏上的仿真自动售货机,控制的是虚拟对象,其端口没有外接任何电器部件.其币值识别系统、货币和商品的传动机构等功能通过仿真来实现,货币识别通过单击画面中某个货币圆形按钮,输出一个脉冲信号直接给PLC发布命令;而传动系统由计算机直接模拟,这并不会影响该系统在实际现场的应用,需要时只要将仿真货币改为实际货币即可[1].售货机的功能要求如下:一是对投入的币值进行运算,并根据币值判断是否能购买某种商品,并做出相应的反应;二是为便于分析,假定限售8种商品,可识别和退出的货币有10元、5元、1元纸币和5角、1角的硬币;三是完成一次交易过程有初始、投币、选购、取货和退币、取币各种状态;四是可仿真缺货商品的补充;五是对商品的销量情况进行统计.

2 下位机PLC控制系统设计

下位机控制核心部件PLC选用欧姆龙CPM2A-60CDR-A型,仿真售货机工作控制流程如图1 所示.自动售货机PLC 梯形图划分为运行初期价格的内部传递过程、投币过程、价格比较过程、选择商品过程、商品销售记录过程、退币过程、补充商品和商品销量统计8个部分,PLC程序执行过程需要进行加减、比较等算术和逻辑运算.因篇幅所限,PLC梯形图在此省略.

图1 仿真自动售货机工作控制流程图

3 组态仿真系统设计

按照系统功能要求设计的组态仿真画面主要包括“自动售货机仿真交易画面”、“缺货商品补充画面”及“商品销量报表画面”.后2 个画面内容与第1个画面内容相关联,各画面可通过转换按钮相互跳转.画面中的图素采用组态王中的工具箱、图库和粘贴位图的方式实现,其中动态图素需要与数据库中的系统变量、自定义I/O变量或内存变量建立对应关系,才可按动画连接的要求进行改变.

3.1 数据库的自定义变量

画面中动态图素的变化是随组态王数据库中变量变化而变化的,其中自定义的I/O变量与PLC寄存器的地址相对应,如表1所示.此外,由于仿真的需要,还需定义与PLC无关的内存变量,如“投币”.

表1 I/O变量及其对应的PLC寄存器地址

3.2 售货机仿真交易画面设计

根据售货机控制要求和交易过程设计的虚拟自动售货机组态仿真交易画面如图2所示.画面划分为投币区、金额结算区、商品选购区、取货区及退币区,画面中动态图素的动画属性如表2所示.仿真系统完成1次交易过程为依次单击画面中的投币、选择、取货、退币和取币等按钮来实现,与实际现场售货机交易过程一致.初始运行画面状态如下:金额结算区各数值格式为3位整数和1位小数,此时显示为0;各商品“剩余”数量为10,“价格”显示格式为1 位整数2 位小数;10 元等货币图形、“缺货”报警指示灯、“选择”按钮、取货口商品图形均隐藏,此时不能购买任何商品.交易过程如下:当单击“投币”按钮时,投币区“10元”、“5 元”等货币图形即刻显示;当单击某个货币图形时,相当于购买人向售货机投入币值,经货币识别系统识别后传送机构动作,向PLC 对应币值的输入端传送一个投币信号,PLC执行程序,并将投币金额、余额数值和可选商品信号上传到上位机供画面显示,此时金额结算区中的投入和余额所对应数值显示为所投币的累加值.在购买商品和投币过程中,PLC 程序中存储余额与商品价格的2 个数据寄存器实时比较,以判定余额值是否满足商品的价格,当余额对应值等于或大于某些商品的价格而这些商品剩余又不为0时,其下方对应的“选择”按钮显示可供选购;单击某个“选择”按钮,其对应的商品即刻出现于取货口处,相当于商品传动机构动作,此时消费数值增加,余额数值减少.1 次交易可选购多个商品,这些商品依照先购先出的原则依次叠加于取货口处,当单击此处商品时随即隐藏,相当于商品被取走;当购买结束时,若金额显示区仍有余额显示,可单击“退币”按钮,PLC程序执行退币运算,使待退的货币图形及对应的个数数值显示于退币取币区,相当于退币传送机构动作,将货币传送到取币口.当单击“取币”按钮时,退币取币区所有货币图形及其对应个数的数值隐藏,金额结算区所有数值显示为0,同时“投币区”各货币隐藏,购买区的“选择”按钮消失.退币的个数由PLC程序运算后获得,按照币值大小顺序退币.例如:剩余10个1元,退币时只退1个10元,而不退10个1元;若剩余10个10元,就退10个10元,币值个数用两位数显示[2].系统运行时具有记忆功能,当系统掉电或重启时,画面中所有的数值、“选择”按钮、货币图形的状态均保持不变.只有按下“复位”按钮时(图中未有给出),PLC程序中所有寄存器的状态和数据才清零.为此,在PLC程序中应选用具有掉电保持功能的保持继电器或数据寄存器存放这些数据和状态.

图2 自动售货机组态住址交易画面

表2 动态图素动画连接属性表

3.3 商品补充画面设计

缺货商品补充画面如图3所示,它模拟缺货商品的报警和补充.当图2中某商品“剩余”的对应数值显示为0时,图3中该商品对应的报警指示灯显示并闪烁,提示该商品已经销售完毕,处于缺货状态,需要补充.若单击该报警灯旁对应的按钮(如“01商品补充”按钮),则向PLC输入端发送一个ON信号,PLC程序执行结果使得存放01商品购买次数的数据寄存器清零,即01商品销量为0,而图2画面中购买商品区对应的“剩余”数量显示变为10,同时该商品缺货报警指示灯隐藏,由此实现了商品的补充.

图3 缺货商品补充画面

3.4 商品销量统计报表画面

商品销量统计报表如图4所示,它调用组态王内嵌式报表系统创建,利用报表函数实时记录各种商品销量和全部商品的销售总量,以便掌握商品销售情况.报表中显示的销售数量在关闭组态王软件重启后仍保持原状态,只在单击“记录清零”按钮时,才使PLC 中相应的寄存器内容清零,画面中报表的“数值”列各数值复位为0.

3.5 动画连接说明

图4 商品销量统计报表画面

画面中动态图素的动画连接所需的表达式或命令语言有时需考虑PLC程序的设计.如组态画面各商品“剩余”对应数值范围为10~0,它随着单击“选择”按钮次数的增加(即商品销量的增加)而递减,而此时PLC程序执行的是加1运算,因此,组态王动画连接“模拟值输出”表达式应设为“10-01商品销量”(以01商品为例).又如,画面中金额结算区的金额值均是以元为单位的真实值来显示,而在PLC程序设计中,为了计算时尽量将存储于HR0001~HR0003通道的3个金额值作为整数计算,对它们的值都以真实值的10倍来设置,即1角等价于10等,因此画面中3个金额对应文本“####”的动画连接“模拟值输出”表达式,应分别设置为“金额/10”、“消费/10”和“余额/10”.

4 结束语

该仿真系统经调试、运行成功,现已应用于PLC教学中并取得了良好的教学效果,达到了预期教学目的.该仿真系统的交易过程与实际自动售货机的交易过程相符,并在经营、管理双重理念上,实现了一个功能更完善的自动售货机仿真系统[3],具有一定的实用价值.

[1]赵玉华.基于组态技术的PLC虚拟仿真系统设计[J].应用科技,2005(12):48-50.

[2]周美兰,周封,王岳宇.PLC电气控制与组态设计[M].北京:科学出版社,2003:197.

[3]方园.自动售货机仿真系统的设计与实现[J].计算机光盘软件与应用,2012(11):211-212.

猜你喜欢

缺货投币组态
空气显卡新成员 RX6700XT开卖
基于PLC及组态技术的恒温控制系统开发探讨
今年河蟹产量高、规格大!因脱壳晚,中秋可能缺货,后期价格走势有点悬
投币畅饮(图片故事)
“缺货”等十四则
我是白骨精
基于PLC和组态的智能电动拧紧系统
放飞诚信的白鸽
铸造行业三维组态软件的应用
基于PLC和组态的新型回转类测试设备的研制