这节重点来介绍一下LabVIEW中的程序结构问题。
LabVIEW中有For循环、While循环、条件结构、事件结构、顺序结构及程序框图禁用结构等。接触过其它编程语言的同学们应该从字面意思上就知道这些结构的用法,这里我拿一个自己做的一个简单的小游戏 -- 迷你抽奖机,给大家做个演示来认识一下LabVIEW中这些结构的用法。
下图是迷你抽奖机的抽奖界面,界面稍有简陋。程序我会打包放在文末,大家可自行做修改。
使用步骤:
1、在Name框中一个一个输入待抽签,并点击Add,待抽签全部写入Listbox中
2、待抽签全部写入之后,点击START,Running灯亮起,show框中开始闪烁幸运签
3、点击停止后,会抽中一个幸运者,并将其从Listbox中拿出来放入到Lucky boy/girl 中
4、之后重复2、3可以一直循环从Listbox中抽幸运者,如果Listbox中没有签的话End灯变红。
5、游戏过程中点击Reset可以恢复初始界面,重新录入待抽签,重新开始抽奖,点击Exit可以退出抽奖平台。
下图是该抽奖机的程序框图
程序框图采用状态机的方式进行,外框是While循环,右下角的红点决定循环是否进行下去,给红点赋True退出While循环,赋False继续循环。往内走一层的这个大框和小框都是条件结构,该结构顶部正中间是条件结构中的判断条件,它会判断条件结构框上的 “ ?”处的输入条件,去选择对应的条件页,执行相应的功能。鼠标右击顶部正中间的位置可以添加要判断的条件。
最内层的大一点的框为事件结构,该结构比其他几个结构会高级一点,可以判断前面板以及控件的动作来执行相应的程序。鼠标右击顶部正中间的位置选择添加事件分支,之后选择控件并选取该控件的事件动作(按下、拖拽动作以及控件值改变)。这里需要注意,事件结构对于一些简单的小程序用起来会很方便,但是很多人容易滥用,发现有的事件没执行,或者程序可能会出现卡死的情况,那么这个时候就要检查事件结构的使用了,通常一个While循环只能放一个事件结构,且在程序执行到该事件结构处会等待事件到来并执行,之后才能继续执行下去,事件结构的使用大家要在后续编程中多多地探索!
对于顺序结构,其就像照片的胶卷,是一帧一帧组成的,每一帧放置要执行的程序,程序会按照帧顺序执行,这主要是因为程序中有些部分执行是有先后顺序的,下一节我会带来一个更大的小游戏来使用这个结构。程序框图禁用结构是用来注释程序的,暂时不需要使用的程序可以用程序框图禁用结构框住。
抽奖机程序代码下载: