细讲Labview条件结构用法及易错点

本文讲解Labview条件结构的常用情景及易错点注意事项。帮助大家深刻理解并使用该结构,欢迎点赞关注加评论,有问题可以私聊或在下方评论区留言。
本文程序均附在文章结尾,可自行下载学习。

博主之前讲过Labview事件结构、For循环等的基础知识介绍,有兴趣强化基础的小伙伴可以直接去博主主页查看哈~~
事件结构入门:事件结构基础入门讲解
For循环入门:For循环入门教程讲解

废话不多说,我们开始本期的Labview条件结构的讲解。本文章将首先从理论上讲解该结构,帮助大家明确该结构的定义、用法及数据流结构;其次从实践上讲解该结构,根据几种不同的。
以下是本文的目录:

本文目录

  • 一、从根本上了解Labview条件结构 (理论)
    • 1.1 条件结构的定义
    • 1.2 条件结构的类型及分支易错点
      • 1.2.1 条件结构选择器的类型
      • 1.2.2 条件结构分支易错点
  • 二、条件结构实例场景讲解 (实践)
    • 2.1 面向用户的界面跳转功能
    • 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/416785.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio 设置编辑框(即代码编辑器)的背景颜色

在Visual Studio 中设置编辑框(即代码编辑器)的背景颜色,可以按照以下步骤进行: 打开Visual Studio。在菜单栏上找到并点击“工具”(Tools)选项。在下拉菜单中选择“选项”(Options)。在“选项”对话框中,导航至“环境…

VC++中使用OpenCV对原图像中的四边形区域做透视变换

VC中使用OpenCV对原图像中的四边形区域做透视变换 最近闲着跟着油管博主murtazahassan,学习了一下LEARN OPENCV C in 4 HOURS | Including 3x Projects | Computer Vision,对应的Github源代码地址为:Learn-OpenCV-cpp-in-4-Hours 视频里面讲…

企业级大数据安全架构(四)Ranger安装

作者:楼高 Ranger是支持审计功能的,安装时可以选择审计数据保存的位置,默认支持Solr和HDFS。HDFS的配置比较简单,这里就不赘述了,我们这里使用Ambari默认自带的Solr保存审计日志,下面部署Solr: …

【想要安利给所有人的开发工具】一款写笔记的工具——语雀

目录 📕开篇 ✍使用感受 👍语雀的常用功能 1、导出成图片 2、导出为PDF 3、代码的模块 4、流程图 ​5、画板类 6、程序员专用区 ​7、布局和样式 8、菜单栏的功能 9、其余功能(很多) 🚗为什么推荐语雀 &…

鸿蒙开发系列教程(四)--ArkTS语言:基础知识

1、ArkTS语言介绍 ArkTS是HarmonyOS应用开发语言。它在保持TypeScript(简称TS)基本语法风格的基础上,对TS的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式UI、状态管理等相应的能力,让开…

MySQL基础笔记(8)多表查询

一.多表关系介绍 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也会存在着各种联系,分为如下3类: 一对…

node.js笔记

再看一遍node.js吧 Node.js REPL(交互解释器)Node.js 回调函数node.js事件循环Node.js EventEmitterNode.js Buffer(缓冲区)(二进制操作)Node.js Stream(流) (文件操作读取写入文件)Node.js 模块系统Node.j…

C++ BuilderXE关于FDQuery组件记录限制设定

这样修改就可以查询返回所有记录。 TFDQuery.RecordCount,或TDateSet.RecordCount只显示了可见的50条数据,但实际上数据的总量超过了这个数量。为了解决这个问题,我们可以通过更改TFDConection.FetchOptions.RecordCountMode属性为fmTotal,以…

展锐T618_虎贲T618紫光展锐安卓核心板规格参数

基于紫光展锐八核T618平台的纯国产化方案,采用了开放的智能Android操作系统,并集成了4G网络、2.5G5G双频WIFI(可支持1*1 MIMO)、BLUETOOTH近距离无线传输技术以及GNSS无线定位技术。用户可以根据特定场合的需求,选择合适的嵌入式ARM核心模块&…

使用 Node 创建 Web 服务器

Node.js 提供了 http 模块,http 模块主要用于搭建 HTTP 服务端和客户端,使用 HTTP 服务器或客户端功能必须调用 http 模块,代码如下: var http require(http); 以下是演示一个最基本的 HTTP 服务器架构(使用 8080 端口)&#x…

【Spring Boot 3】【Redis】基本数据类型操作

【Spring Boot 3】【Redis】基本数据类型操作 背景介绍开发环境开发步骤及源码工程目录结构 背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工…

Ubuntu 22.04安装使用easyconnect

EasyConnect 百度百科,EasyConnect能够帮助您在办公室之外使用公司内网的所有系统及应用。在您的公司部署深信服远程应用发布解决方案后,您的公司所有业务系统及应用都可以轻松迁移至移动互联网上。您可以通过手机、PAD等智能移动终端随时随地开展您的业…