LABVIEW事件结构(一)

       在讲解事件结构前,先介绍一下事件的有关内容。首先,什么是事件?事件是对活动发生的异步通知。事件可以来自于用户界面、外部I/O或程序的其它部分。用户界面事件包括鼠标单击、键盘按键等动作。外部I/O事件则诸如数据采集完毕或发生错误时硬件定时器或触发器发出的信号。Labview支持用户界面事件和通过编程生成的事件,但不支持外部I/O事件。

       事件驱动程序通常包含一个循环,该循环等待事件的发生并通过执行代码来响应事件,然后不断的重复以等待下一个事件的发生。Labview将在指定的交互发生时主动通知程序框图。事件不仅可以减少程序对CPU的需求、简化程序框图代码,还可以保证程序框图对用户的所有交互行为都能作出响应。

       事件结构是一种多选择结构,能同时响应多个事件,传统的选择结构没有这个能力,只能一次接收并响应一个选择。与“等待通知”函数相同,事件结构也会在等待事件通知的过程中超时。发生这种情况时,将执行特定的超时分支。

      事件结构由超时端子、事件结构节点和事件选择标签组成:

        超时端子用于设定事件结构在等待指定事件发生时的超时时间,以毫秒为单位。当值为-1时,事件结构处于永远等待状态,直到指定的事件发生为止。当值为一个大于0的整数时,时间结构会等待相应的时间,当事件在指定的时间内发生时,事件接收并响应事件,若超过指定的时间,事件没发生,则事件会停止执行,并返回一个超时事件。在通常情况下,应该为事件结构指定一个超时时间,否则事件结构将一直处于等待状态。

        事件结构节点由若干个事件数据端子组成,增减数据端子可通过拖拉事件结构节点来进行,也可以在事件结构节点上单击右键选择添加或删除元素来进行。

        事件选择标签用于标识当前显示的子框图所处理的事件源,其增减或层叠式顺序结构和选择结构中的增减类似,无论是编辑还是添加或是复制等操作,都会使用编辑事件对话框。编辑对话框的建立可以通过在事件结构的边框上单击右键,从中选择【编辑本分支所处理的事件】‘

接下来,我们创建一个事件结构的小例子。

1、在程序框图中,选择函数【结构】→【事件结构】,将其拖拽至程序框图中适当的位置。事件结构必须放在while的循环里,再次选择函数【结构】→【while循环】,将其拖拽至程序框图中,框住事件结构。

2、在前面板中选择控件【设置】→【旋钮】,将其拖拽至前面板中适当位置。

3、当我们操作旋钮时,它会发出一个事件,值改变的事件。切换到程序框图,选择事件结构,右键单击,选择【添加事件分支】,选择事件源下的控件【旋钮】,事件中选择【值改变】,确定。

4、此时事件结构的事件结构节点增加了,“原值”和“新值”,分别对应着旋钮改变之前的值和旋钮改变之后的值,分别给这两个节点创建一个显示控件。给while循环的循环条件创建一个常量,否则程序无法运行。如下图所示。

5、切换到前面板,选择【连续运行】,操作旋钮,会发现新值和原值显示不同的值。

  • 8
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器人自动化控制

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值