基于虚拟仪器技术LabVIEW的自动饮料机的设计
自动饮料机在日常生活中常见,比如户外、商场、公交、地铁等处常见的自动饮料机。自动饮料机系统的设计方法有许多种,例如可用中小规模集成电路组成自动饮料机系统,也可以利用专用的芯片配以所需要的外围电路组成特定功能自动饮料机系统,还可以利用数字电路、FPGA、PLC、单片机和ARM来实现自动饮料机等等。
而利用虚拟仪器技术LabVIEW设计的自动饮料机系统,可以用来模拟真实的自动饮料机系统而进行工作。使用虚拟仪器技术,工程师可以利用图形化开发软件LabVIEW方便、高效的创建完全自定义的解决方案,以满足灵活多变的需求趋势。
该论文设计的自动饮料机系统是充分利用虚拟仪器LabVIEW技术独特而强大的状态机技术而完成的,省去传统的编程语言繁琐,且能做到更新维护非常方便。
1 总体设计方案
1.1 实现的功能
主要功能是:自动饮料机,分别实现:一是投钱,二是出货,三是找零。
1.2 设计思路
图1中直观的表现了可乐机投入不同金额硬币时的情况以及各个处理步骤的各个状态和它们之间的转换关系,根据投入硬币的不同面值,对总金额进行计算,并对各种操作进行响应以完成一次购买。
2 程序的设计
LabVIEW编程最大的特色图形化的编程语言,外加十分丰富的函数库,使程序设计非常简单和直观。该自动饮料机系统的程序设计就是充分利用LabVIEW丰富的函数库里一些
特殊的函数实现相应的功能,以及利用LabVIEW中状态机技术实现整体编程思路。
2.1 状态机模式图
图2是LabVIEW中的状态机的经典模式图
2. 2 整体程序框图设计
图3用的就是LabVIEW中的状态机的经典结构,最外层用的就是while循环,里层是条件结构,只不多是多分支的条件结构。第三个部分是移位寄存器,把指令传输到下一个循环状态判断中。另外,在图3所示的状态中,提供了初始状态,每一状态的执行步骤及其切换到下一个状态代码等等。
2.3 自动饮料机界面的设计
图4所示的状态是自动饮料机前面板正在运行的状态的界面。
2.4 关键技术
运用虚拟仪器技术LabVIEW设计自动饮料机系统,有自己独特的技术特色。
2.4.1 状态机的使用
经典的状态机模式融合了while循环、条件结构和移位寄存器,使原本复杂的图1工作流程图编程变得思路清晰,结构简单。其中条件结构是多分支的条件机构,移位寄存器是用的是两个移位寄存器,一个是实行状态指令的向下一个状态转移,另一个是累计投币的金额,以判断工作状态。
2.4.2 转换数组转换
条件结构虽然能解决多状态的选择的问题,但从结构上来看不太直观,管理不够方便。可以把所有待选择的状态放人数组中,通过判断子VI输出不同的索引值,直接从数组中索引出下一个状态到移位寄存器。如图5所示。
此外,该自动饮料机系统还用了不少其它功能函数。从而使编程变得非常简洁。
2.5 运行结果分析
运行结果分析:实现了自动饮料机系统的三大功能——投币、出货和找零,符合设计预期。此外,该系统虽然只提供了一种饮料,要是想多几种饮料且价格各不相同作选择,只需要增加一个子VI用来选择不同的饮料。
3 结论
运用虚拟仪器技术LabVIEW中的状态机技术来设计自动饮料机系统,思路清晰,编程、调试和增加功能十分简单,非常适合大学生实践创新项目和毕业设计项目,以及为相关的企业设计生产自助设备提供参考。
该文设计的自动售货机运用状态机技术的另一大好处,在于状态机技术相比其它的技术,维护自动更新或增加功能更加方便简洁。
该文只不过是典型状态机技术的一个经典应用,其实labview中的状态机技术应用非常广泛。自动售票器、自动取款机等都可以运用状态机技术来设计。
故该系统的研制不管是对学习或仪器研发,还是实际应用,具有一定的实际意义和理论价值。
- 有限状态机的嵌入式Linux按键驱动设计 (11-07)
- 状态机在单片机程序设计中的应用(05-01)
- 基于有限状态机的嵌入式系统模型校验技术(10-14)
- 基于VxWorks的飞机自动化配电的软件设计研究(04-12)
- 基于状态机的LCD多级菜单设计(01-23)
- 有限状态机的VHDL优化设计(06-06)