基于LabVIEW的简易抽奖系统的设计与实现

2020-09-09 04:54
关键词:程序框图前面板数组

(安徽电子信息职业技术学院,安徽 蚌埠 233000)

一、引言

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是由美国国家仪器公司推出的程序开发平台,具有测试测量、控制、仿真和跨平台等特点。它功能强大,不但能够完成一般的数学运算、逻辑运算和输入输出功能,还带有专门的用于数据采集和仪器控制的库函数和开发工具,尤其还带有专业的数学分析程序包,可以满足复杂的工程计算和分析要求[2]。LabVIEW使用的是一种被称为G语言的编程语言。该语言是一种图形化的、用图标来代替文本行创建应用程序的计算机编程语言。G语言与传统文本编程语言的主要区别在于传统文本编程语言是根据语句和指令的先后顺序执行,而LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。G语言用图标表示函数,用连线表示数据流向,其特点决定了易学易用,可以在很短的时间内掌握并应用到实际中去[3]。

在日常工作和生活中,抽奖环节在单位的文艺汇演和商场的商品促销等活动中经常使用,以增加活动气氛。传统的抽奖箱摸票方式难以保证抽奖环节的公开公平公正。利用LabVIEW所具有的一系列功能和特点设计并开发一种抽奖系统,代替传统的抽奖箱摸票方式,应用于各类活动的抽奖环节,是切实可行的,具有一定的实用性和娱乐性,体现了信息化技术在日常生活中的重要应用。

二、系统功能设计

根据实际应用的需要,基于LabVIEW设计并实现的简易抽奖系统的基本功能是:可以进行系统初始化;结合参加抽奖人员的名单,设定参加抽奖的人数;抽奖系统运行时,单击开始抽奖,可以把每个中奖等级的人员手机号和姓名一并显示出来。当某一人员被抽中为中奖人后,就不会再中其它级别的奖项;文中设计的抽奖系统设定的奖项级别分为一、二、三等奖,对应的中奖名额分别为2名、3名、4名。

根据抽奖系统功能,系统总体设计思路如下:1)系统初始化。导入参加抽奖人员名单,并将获奖名单信息显示区域进行初始化清空操作,确保系统每次重新运行时,中奖名单显示区域都是空白的;2)抽奖操作。根据抽奖开始按钮是否按下,决定是否生成获奖名单编号,生成编号之后,就可以根据编号来检索对应的获奖人员手机号和姓名信息,并把符合条件的获奖人员相关信息显示出来。抽奖系统总体设计流程图如图1所示。

图1 抽奖系统总体设计流程图

三、系统设计与实现

基于LabVIEW的简易抽奖系统的设计与实现过程包括两部分,一是前面板的设计,二是程序框图的设计。下面分别来介绍前面板和程序框图的设计与实现过程。

(一)前面板设计

LabVIEW的前面板里放置了很多输入和显示控件,供用户在设计时调用。如:滑动杆、旋钮、指示灯等等。运行程序时用户可以在输入控件里面输入数据,显示控件可以把系统实现的效果显示出来。前面板有点类似于实际的仪器面板,所以LabVIEW又称为虚拟仪器(Virtual Instrument,VI)。LabVIEW中显示效果功能的实现,是通过控制器/指示器端口连接前面板控件和程序框图设计的程序传递数据实现的[4]。

利用LabVIEW设计并实现抽奖系统时,在前面板里,根据设计需要放置若干控件,包括:导入抽奖人员名单的文件路径输入控件;设定参加抽奖人数的数值输入控件;控制抽奖是否开始的布尔确定按钮控件;显示一、二、三等奖获奖名单的字符串数组显示控件,用于显示获奖名单人员手机号和姓名。在LabVIEW中放置好以上控件后,可通过修饰选板、文字样式命令和对齐方式命令,对放置的控件进行美化操作。抽奖系统的前面板设计如图2所示。

图2 抽奖系统的前面板设计

(二)程序框图设计

抽奖系统的程序框图设计如图3所示,各个模块的程序设计过程如下:

1.获奖名单初始化。是通过把清空复位空数组赋值给获奖名单数组来实现的,其程序对应图3最外面while结构的左边部分;

2.抽取获奖人员编号。参与抽奖的人员在名单中的编号自上而下以阿拉伯数字进行排序,可通过随机数函数和参加抽奖人数控件相乘得到获奖人员编号,然后把该编号送到获奖名单数组中,同时,要保证当某一个人员被抽中之后,就不会再被抽中其它级别的奖项,该功能可通过搜索一维数组和比较函数控制while循环条件实现,其程序对应图3内部while结构里面部分;

3.搜索抽奖人员编号对应的人员手机号和姓名信息。通过前面的索引数组把获奖名单数组里人员编号分离出来,该编号和读取电子表格文件函数的输出端同时再送往后面索引数组的输入端,再通过创建数组可把每一中奖级别的人员都显示出来,其程序对应图3内部while结构的右边部分。需要注意的是,抽奖人员名单文件必须是txt格式,读取电子表格文件函数的分隔符输入端要接一个字符串常量逗号,默认是制表键。

图3 抽奖系统的程序框图设计

完成前面板设计和程序框图设计两个环节后,基于LabVIEW的简易抽奖系统就基本实现了,其运行调试的前面板显示效果如图4所示。

图4 抽奖系统调试的前面板显示效果

四、结语

通过LabVIEW设计并实现一种简易抽奖系统的过程可以看出,LabVIEW具有图形化编程语言等特点,不仅原型设计简单、设计流程清晰、模拟仿真便捷、开发操作迅速,而且具有低成本、易开发、界面直观、易扩展等优点,具有广泛的实用性,应用前景广阔[5]。

猜你喜欢
程序框图前面板数组
JAVA稀疏矩阵算法
颜值高和散热强可以并存3款高品质机箱推荐
JAVA玩转数学之二维数组排序
电竞潮牌范航嘉GX520S机箱评测
电竞潮牌范 航嘉GX520S机箱评测
算法与程序框图常考类型
更高效用好 Excel的数组公式
程序框图题盘点
寻找勾股数组的历程
个性化的机箱选择