本文讲解Labview条件结构的常用情景及易错点注意事项。帮助大家深刻理解并使用该结构,欢迎点赞关注加评论,有问题可以私聊或在下方评论区留言。
本文程序均附在文章结尾,可自行下载学习。
博主之前讲过Labview事件结构、For循环等的基础知识介绍,有兴趣强化基础的小伙伴可以直接去博主主页查看哈~~
事件结构入门 :事件结构基础入门讲解
For循环入门 :For循环入门教程讲解
废话不多说,我们开始本期的Labview条件结构的讲解。本文章将首先从理论上 讲解该结构,帮助大家明确该结构的定义、用法及数据流结构;其次从实践上 讲解该结构,根据几种不同的。
以下是本文的目录:
本文目录
- 一、从根本上了解Labview条件结构 (理论)
-
- [1.1 条件结构的定义](#1.1 条件结构的定义)
- [1.2 条件结构的类型及分支易错点](#1.2 条件结构的类型及分支易错点)
-
- [1.2.1 条件结构选择器的类型](#1.2.1 条件结构选择器的类型)
- [1.2.2 条件结构分支易错点](#1.2.2 条件结构分支易错点)
- 二、条件结构实例场景讲解 (实践)
-
- [2.1 面向用户的界面跳转功能](#2.1 面向用户的界面跳转功能)
- [2.2 与条件结构相关的状态机框架](#2.2 与条件结构相关的状态机框架)
一、从根本上了解Labview条件结构 (理论)
根据以往我们认识程序的思路来看,我们本章将从一下几个方面来详细讲解Labview条件结构,分别从Labview条件结构的定义、条件结构的分类、数据流方向几个方向对事件结构做出讲解。
1.1 条件结构的定义
还是首先看一下Labview对该结构的定义,其中我们可以看到,这些词语中的重点应该是:选择器的值对应分支 。我们该怎么去理解这句话呢,在前面关于事件结构中我曾介绍过什么是"分支 "(事件结构的文章链接在本文开头),这里的分支和事件结构中的分支是相同的,我们把结构看作一本书,分支相当于书的某一页,我翻到哪一页就执行哪一页的程序。
条件结构的组成部分如下图所示,主要由①②③④四部分组成,其中输入控件①的值和分支名称③是对应的。
常见问题答疑:
1. 如何确定我翻到哪一分支页呢,其实来自于上图①"选择器",那么问题来了,选择器是什么呢?
答 :"选择器"我们可以理解为是,某一个控件或者常量,这个控件或常量有多个可以输出的值,前提这个控件或常量是输入控件或常量。最常见的选择器是布尔控件,它可以输出两个值,真或假,还有枚举量也是选择器。
如下图所示:
我们进入条件结构前首先在左侧绿色问号前获取到当前控件的值,如果是真值,就跳到真分支 ,如果是假值,就跳到假分支。
2.条件分支中的默认是什么用处?
答:条件分支中的默认是指,当选择器中输入的值没有对应分支时 ,比如上图条件结构中,输入的值除了真假之外,输入了一个数值"1",此时条件结构的分支中,没有对应名为"1"的分支。此时条件结构就默认执行"默认"分支中的程序。
同时,默认分支可以独立占一个分支,也可以依附于其他分支页存在。
1.2 条件结构的类型及分支易错点
准确的是讲解条件结构选择器的几种情况并列举在创建条件结构分支名称时最容易出现的错误,避免大家在使用该结构时犯错误。
1.2.1 条件结构选择器的类型
类型一:布尔量选择器
这个选择器在1.1中已经介绍过了,用法是将布尔量输入控件或常量的真值或者假值作为选择器的值,那么条件结构的分支只有两页,就是真和假两页,仅有这一种情况。
类型二:枚举量选择器
这个选择器的分支页就比较灵活了,因为枚举量的值是我们可以自由定义的,所以分支页的页数最多是可以和枚举量相等的,为帮助大家理解,题主建立了一个枚举常量,右键"编辑项",在选项中增加了三个项,建立了该枚举常量。
将枚举量连接到条件结构的分支选择器中,并右键分支选择器点击"在后面添加分支",建立和枚举量相同的分支数量。此时枚举量的某一项输入到条件结构中时,条件结构就跳到该分支。
类型三:开放型选择器
将数值 或者字符串 等的控件直接输入到选择器中,一般这种选择器的分支是很灵活的,因为数值控件和字符串控件的项有很多,可以自由赋值。但需要注意,该结构是必须需要设置默认分支值的,而前两种类型在分支和选择器匹配的情况下是不需要设置默认分支的。
对于第三种类型的开放型选择器,这种类型的选择器一般均需要设置默认分支才不会发生报错等反应。
1.2.2 条件结构分支易错点
本节列举条件结构在编程过程中常见的易错点:
① 使用条件结构时,在多条件情况下,没有设置默认分支。导致程序报错
② 在使用条件选择时,往往容易忽略数据流的方向,条件结构只执行一次被选择的分支内部的程序,如果需要跳转界面时,请在条件结构外部增加一个While循环,向条件选择器一直询问条件的状态,如果条件状态发生改变,条件结构也会切换到对应的分支执行程序。
③ 条件结构输出值时,如果没有要输出的值时,可以右键点击隧道单击 "未连线时使用默认" ,此时,不接线时,在该分支使用默认值,如:当输出量为布尔量时默认为F值、输出为数值时为0等。
二、条件结构实例场景讲解 (实践)
题主在本章列举了条件结构几种常用的场景及示例程序,大部分相关程序可直接借鉴该程序中的条件结构框架开发程序。
2.1 面向用户的界面跳转功能
顾名思义,我们在使用labview进行GUI界面编程时,由于该开发框架具有时效性高、拿取数据快等特点,多数编程是面向用户操作的GUI 界面编程,那么当用户需要切换执行不同的分页时,就类似于我们在看一本书时,来回翻页反复查看不同页码中的重点。可以基于以下的框架编程,那么基础就需要一个while循环套条件结构的框架啦~
题主将四个分支内部执行的内容整理出来并将,具体框架程序贴在下面:
前面板如下图所示:
当程序运行时,自动默认为"待机状态 ",经枚举量选择后,执行对应分支的程序,如选择"退出程序"时,条件结构向while循环输出一个T,终止程序。
文章末尾附该程序源代码
2.2 与条件结构相关的状态机框架
本文介绍一种基于该结构的状态机框架,可以查看Labview自带的范例来了解该逻辑框架的使用环境,在Labview中点击:帮助 --- 查找范例 --- 输入关键词:状态机 --- 搜索--打开:状态机基础,该范例介绍的较为清晰,可以从范例中了解该状态机的基础时如何使用的。
状态机的特点可以总结为以下几个方面:
① 必须包含一个while循环、一个条件结构、移位寄存器、枚举量 这四个条件同时具备。
② 在当前条件分支执行完毕前 ,将新的条件值输入给右侧的移位寄存器。用于切换新的分支。
③分支跳转应该形成闭环,不能存在卡死的情况。
本节对状态机做了简单的介绍,由于状态机是比较重要的一部分,题主打算在后续专门开一节状态机相关的文章,详细介绍状态机的应用场景。本章就先到这里。
针对不同状态的条件结构的使用情况,请同学们灵活掌握,熟练使用不同状态下的条件结构,明确该结构的利弊,才能举一反三,编程时灵活使用。
本章有关于条件结构的文章就介绍到这里,后续相关强化及进阶文章,请关注题主并点赞文章,后续有更多干货分享,谢谢观看拜~
本文程序相关请点击下方链接下载:
链接:直接点击下载本文条件结构源程序
提取码:6666