labview入门到出家4——用事件结构实现运算功能

本文介绍了如何利用事件结构替换条件结构,通过实例演示如何在计算器程序中添加布尔按键事件。理解事件结构对于构建复杂程序框架至关重要,如状态机。重点在于解决超时问题以实现非事件响应操作,并展示了如何在实际项目中应用这些概念。
摘要由CSDN通过智能技术生成

      使用事件结构可以快速定位响应界面的操作事件,如按下,拖动,双击的事件。基本上我们所要实现的所有功能,都可以通过条件结构+事件结构去实现,比如后面进阶篇将会讲到的状态机就是通过条件结构和事件结构组成的。一个好的状态机可以帮助我们搭建一个好的程序框架,这将非常有利于我们以后写一些大型程序。在此前,我们先用之前的加减乘除运算熟悉一下事件结构。

1、同样的,按上一章节的操作,或者直接拷贝上一章的程序。新建工程->新建calc主VI->新建子VI,这里把主VI打回原型,把之前的条件结构减掉(其实就是用事件结构代替里面的条件结构,但只是介绍事件结构的使用,不是说事件结构可以取代条件结构)。

2、添加事件结构

我们可以看到事件结构的第一个默认事件是超时事件(目前只有一个事件),左上角那个沙漏状的是超时时间设定,相当于单片机里面的定时中断,我们后面可以右键新建一个数值常量用于设定超时时间。如果没设定超时时间,则在没有其他事件产生或触发前,整个while循环就卡在超时事件这边等待超时事件的发生,因为没有设定超时时间,所以程序一直等待,不响应事件之外的其他操作。

只有一个超时事件

3、添加“布尔”按键的事件,鼠标移到事件结构上方的事件显示图标,右键选择“添加事件分支”。

选择布尔,选择值改变,点击确定就添加了我们的布尔按键的事件了。

鼠标点击事件结构上方的黑下三角,显示有超时和布尔值改变两个事件分支,我们选中布尔值改变的事件分支,在该分支添加相关的程序逻辑。

4、将上一次章条件结构中的程序直接拷贝或者重新编写至事件分支中

5、运行程序试一下功能(后面会出一章讲程序调试操作,我们到时候可以用调试工具查看事件功能的响应情况)。我们发现基本功能和上一章的一致,但是会发现一个问题,点击退出按键的时候界面不响应退出的功能。这时因为while循环中我们添加的是事件结构,也就是程序只有识别到事件发生时,才会执行一次while循环,没事件发生的话,则不会运行其他操作,也就不响应按键的执行了。大家是否还记得那个超时事件呢?

当其他事件不发生时,我们又希望程序继续执行事件结构之外或事件之外的逻辑的话,我们可以在事件机构左侧输入超时时间,一旦超过这个时间程序没有执行其他操作的话,则执行一次超时事件,这样在事件响应超时的情况下就可以执行一次while循环了。

现在再试一下,退出功能是不是恢复了呢!

 

原创不易,一键三连啦,若有不对或者讲解不到位的地方,欢迎在下方评论,我会及时更改!

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值