细讲Labview事件结构用法(上)--入门篇——附用例讲解及用法拓展

基于Labview的事件结构用法及拓展方法讲解

①题注:事件结构是Labview非常强大的一个功能,可以说任何一个成熟的程序都可以用到这个结构。其用法灵活多变,所以给开发人员造成了使用简单的假象,正所谓看着很简单…实则一点都不难
②读完这一文章可以在事件结构的使用上让你炉火纯青,新手也能理解更加深刻。

由于题主讲的比较细致,所以姑且分为三篇文章来解说

  1. 第一篇讲解Labview事件结构的细节,帮助大家理解该结构:
    第一篇链接: 细讲Labview事件结构用法(上)–入门篇
  2. 第二篇讲解Labview事件结构的各类型分支结构的功能,强化结构的使用
    第二篇链接: 细讲Labview事件结构用法(中)–强化篇
  3. 第三篇讲解Labview事件结构的具体应用案例,夯实基础,深刻理解。
    第三篇链接: 细讲Labview事件结构用法(下)–进阶篇
    废话不多说,直接开始。

一、什么是事件结构

1.1 事件结构的定义

相信这个标题可能会让大家觉得非常幼稚,谁不知道什么是事件结构呢?这明明是基本的定义。正因为如此,我们越要强调好基础才能深入理解这个结构,我们看一下Labview的解释:
细讲Labview事件结构用法(上)--入门篇——附用例讲解及用法拓展_第1张图片
中心思想就是:等待并执行,这五个字可以完全概括事件结构的特性。
也就是说,该事件结构可以理解为类似于单片机中的中断,当程序执行时发生了某件事(比如说按下了一个按钮、改变了一个数值),事件结构会打断我while循环中的其他事情,让我先去执行我分支结构中的程序,执行完成后才能再进行下一次While循环,事件结构就像这样说:你们不许动等我执行完,听起来很霸道是不是。
那么,事件结构该怎么去用呢?

1.2 事件结构的组成

想要事件结构时时刻刻关注着外边发生了什么,得保持该结构一直在执行状态,那么谁可以保持呢,当然是While函数啦~也就是说,事件结构出现的地方,就必伴随着While循环的存在那么一个成熟的事件结构的基础就是有下图组成的,毫无疑问,必然是这个结构:
细讲Labview事件结构用法(上)--入门篇——附用例讲解及用法拓展_第2张图片
这个结构中,有几个关键点:
①While循环;②事件结构;③超时时间;④分支相关参数;⑤事件分支选择。
其中有几点需要注意,
一、什么是分支?
分支是指,我们建立的事件结构的一个事件框,如果事件结构是一本书,那么每个分支就相当于我们这本书中的每一页,每增加一个分支就增加一个事件。⑤相当于目录,可以翻页。
二、什么是超时?
③是指当前的超时时间,当时间为“-1”时,事件结构永远不进入超时分支。比如输入1000时,表示事件结构在1000毫秒(也就是1秒)内没有接收到事件时,事件结构会执行超时分支里面的程序。
其他相关问题可以私聊或留言给题主,题主一直都在。

二、 事件结构的数据流

大家都知道 Labview是基于数据流编程的程序,了解数据流向并掌握数据流编程思路是理解该结构的必备思想。
那么,事件结构的数据流是如何流动的呢?下面讲解一下数据流的编程思路。

2.1 事件结构建立顺序

下面详细讲解事件结构的初步设计,首先要建立上图所示的While和事件结构组成的复合结构。
细讲Labview事件结构用法(上)--入门篇——附用例讲解及用法拓展_第3张图片
如需要待机进入超时状态时,可将事件结构左上角的超时时间设定好多少毫秒后待机,单位毫秒。建立好该结构后,就是建立分支了。右键事件结构的分支选择器,右键点击“添加事件分支”,跳转该分支所处理的事件。
细讲Labview事件结构用法(上)--入门篇——附用例讲解及用法拓展_第4张图片
基本处理的事件可以说包括三个大类:一、应用程序事件;二、本VI事件;三、控件事件
前两种事件是程序本身就有的,控件事件则包括我们自己建立的控件所发生的事件,建立事件分支的前提是,有需要处理的事件,基本包括以下几种:值改变,鼠标、拖拽等,其中最为常用的就是“值改变”事件,下面我们在前面板添加一个布尔控件----单击添加事件分支----选择我们的布尔控件----单击值改变,分支会变为如下图所示:
细讲Labview事件结构用法(上)--入门篇——附用例讲解及用法拓展_第5张图片
细讲Labview事件结构用法(上)--入门篇——附用例讲解及用法拓展_第6张图片

则每次我们在前面板按下布尔灯,当布尔的值发生改变时,程序将会跳转到该名称为"布尔":值改变的分支中,执行该分支中的程序,例如,我在该分支中放置一个讲另外一个别布尔点亮的指令。
细讲Labview事件结构用法(上)--入门篇——附用例讲解及用法拓展_第7张图片

运行程序,并按下“布尔”键,发现布尔灯被点亮啦~~
细讲Labview事件结构用法(上)--入门篇——附用例讲解及用法拓展_第8张图片

2.2 事件结构数据流

那么基于以上编写的事件,我们来看一下数据是如何流动的。
数据流第一步:当我们没有任何操作时。while循环一直在执行,轮询事件结构。此时如果没有任何操作,系统进入超时倒计时,如果是1000毫秒,则在10秒后程序开始执行“超时”分支内部的程序。

数据流第二步:当我们按下“布尔”按钮后。事件结构检测到“布尔按钮”发生“值改变”,此时,事件结构的分支就会切换到"布尔":值改变分支中执行,数据流将会流到该分支得程序中。

数据流第三步:等待该分支程序结束后,若未按下操作。程序进行倒计时,1000毫秒后,继续跳转至超时分支中。

这就是基本得数据流方向。

本文为详解Labview事件结构的第一部分,后续将更新其余两部分。后续将会更细致得对事件中的分支结构用法及实例进行解说,后续请关注更新谢谢

你可能感兴趣的:(Labview,labview,redis,数据库)