吴义满
(盐城卫生职业技术学院 江苏 盐城 224001)
自动饮料机在日常生活中常见,比如户外、商场、公交、地铁等处常见的自动饮料机。自动饮料机系统的设计方法有许多种,例如可用中小规模集成电路组成自动饮料机系统,也可以利用专用的芯片配以所需要的外围电路组成特定功能自动饮料机系统,还可以利用数字电路、FPGA、PLC、单片机和ARM来实现自动饮料机等等[1-5]。
而利用虚拟仪器技术labview设计的自动饮料机系统,可以用来模拟真实的自动饮料机系统而进行工作。使用虚拟仪器技术,工程师可以利用图形化开发软件labview方便、高效的创建完全自定义的解决方案,以满足灵活多变的需求趋势。
该论文设计的自动饮料机系统是充分利用虚拟仪器labview技术独特而强大的状态机技术而完成的,省去传统的编程语言繁琐,且能做到更新维护非常方便。
主要功能是:自动饮料机,分别实现:一是投钱,二是出货,三是找零。
图1 工作流程Fig.1 Work procedure
图1 中直观的表现了可乐机投入不同金额硬币时的情况以及各个处理步骤的各个状态和它们之间的转换关系,根据投入硬币的不同面值,对总金额进行计算,并对各种操作进行响应以完成一次购买。
Labview编程最大的特色图形化的编程语言,外加十分丰富的函数库,使程序设计非常简单和直观。该自动饮料机系统的程序设计就是充分利用labview丰富的函数库里一些特殊的函数实现相应的功能,以及利用labview中状态机技术实现整体编程思路。
图2是Labview中的状态机的经典模式图
图2 Labview中的状态机Fig.2 State machine of labview
图3 用的就是Labview中的状态机的经典结构,最外层用的就是while循环,里层是条件结构,只不多是多分支的条件结构。第三个部分是移位寄存器,把指令传输到下一个循环状态判断中。另外,在图3所示的状态中,提供了初始状态,每一状态的执行步骤及其切换到下一个状态代码等等。
图4所示的状态是自动饮料机前面板正在运行的状态的界面。
运用虚拟仪器技术labview设计自动饮料机系统,有自己独特的技术特色。
2.4.1 状态机的使用
图3 整体程序框图Fig.3 The whole program layout
图4 自动饮料机界面Fig.4 The interface of automatic drink machines
经典的状态机模式融合了while循环、条件结构和移位寄存器,使原本复杂的图1工作流程图编程变得思路清晰,结构简单。其中条件结构是多分支的条件机构,移位寄存器是用的是两个移位寄存器,一个是实行状态指令的向下一个状态转移,另一个是累计投币的金额,以判断工作状态。
2.4.2 转换数组转换
条件结构虽然能解决多状态的选择的问题,但从结构上来看不太直观,管理不够方便。可以把所有待选择的状态放入数组中,通过判断子VI输出不同的索引值,直接从数组中索引出下一个状态到移位寄存器。如图5所示。
图5 转换数组Fig.5 An array of conversion
此外,该自动饮料机系统还用了不少其它功能函数。从而使编程变得非常简洁。
运行结果分析:实现了自动饮料机系统的三大功能——投币、出货和找零,符合设计预期。此外,该系统虽然只提供了一种饮料,要是想多几种饮料且价格各不相同作选择,只需要增加一个子VI用来选择不同的饮料。
运用虚拟仪器技术labview[8-9]中的状态机技术来设计自动饮料机系统,思路清晰,编程、调试和增加功能十分简单,非常适合大学生实践创新项目和毕业设计项目,以及为相关的企业设计生产自助设备提供参考。
该文设计的自动售货机运用状态机技术的另一大好处,在于状态机技术相比其它的技术,维护自动更新或增加功能更加方便简洁。
该文只不过是典型状态机技术的一个经典应用,其实labview中的状态机技术应用非常广泛[6-7]。自动售票器、自动取款机等都可以运用状态机技术来设计。
故该系统的研制不管是对学习或仪器研发,还是实际应用,具有一定的实际意义和理论价值。
[1]杨轶霞.PLC与计算机在自动售饮料机控制系统中的应用[J].新乡学院学报:自然科学版,2011,28(1):59-61.YANG Yi-xia.Application of PLC and computer in the automatic machine of sale drink control system[J].Journal of Xinxiang University:Natural Science Edition,2011,28 (1):59-61.
[2]胡如龙.基于AVR单片机的全自动热饮机控制器的设计[J].计算机测量与控制,2008(8):1110-1112.HU Ru-long.Design of the automatic machine of sale drink controller based on AVR computer[J].Computer Measurement&Control,2008(8):1110-1112.
[3]邓娜娜,王鹏,杨子姜.基于ARM的自动售货机主控制器的设计与开发[J].计算机软件与应用,2012(5):260-261.DENG Na-na,WANG Peng,YANG Zi-jiang.Designing and developing ARM-based main controllerfor automated vending machine[J].Computer Applications and Software,2012(5):260-261.
[4]周泽鹏.基于ARM的自动售货机控制器设计与实现[D].长沙:中南大学,2009.
[5]张建龙.一种新型自动售货机控制系统研发[D].杭州:浙江工业大学,2009.
[6]余淑慧.利用LabVIEW状态机结构实现数据读取的通用化[J].机械,2012(2):21-22.YU Shu-hui.Achieve the universal of read program by using LabVIEW state machine structure[J].Machinery,2012(2):21-22.
[7]徐立翔.LabVIEW状态机的研究及在运动控制中的应用[D].武汉:湖北工业大学,2012.
[8]雷刚,许勇.基于LabVIEW的发动机数据采集系统[J].现代电子技术,2012(14):140-142.LEI Gang,XU Yong.Engine data acquisition system based on LabVIEW[J].Modern Electronics Technique,2012(14):140-142.
[9]姚丽,刘东东.基于LabVIEW的数据采集与信号处理系统设计[J].电子科技,2012(5):79-81.YAO Li,LIU Dong-dong.Design of the data acquisition and signal processing system based on LabVIEW[J].Electronic Science and Technology,2012(5):79-81.