细讲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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot连接远程服务器redis

SpringBoot连接远程服务器redis 1、指定redis配置启动 进入redis安装地址,我这里安装的是 /usr/local/src/redis-6.2.6 先copy一份配置文件 cp redis.conf redis.conf.bck然后修改配置文件信息 vim redis.conf bind 0.0.0.0 # 守护进程,修改为yes后即可…

Flutter中使用minio_new库

前言 在移动开发中,我们常常会遇到需要在App中处理文件上传和下载的需求。Minio是一个开源的对象存储服务,它兼容Amazon S3云存储服务接口,可以用于存储大规模非结构化的数据。 开始之前 在pubspec.yaml文件中添加minio_new库的依赖&#xf…

2023企业怎样抵御经济的不确定性?

在日益不确定的经济环境,继续业务照旧可能会超过陷入逆风的风险。要加入真正有复原力的企业行列,实现整个经济周期的增长,2023是时候发力业务创新:优化选择新的创新组合,洞察并发现新的创新机会,并发展新的…

Android Launcher3各启动场景源码分析

文章目录 一、概述二、开机启动Launcher2.1、开机启动Launcher流程图2.2、开机启动流程源码分析 三、短压Home键启动Launcher3.1、短压Home键启动Launcher流程图3.2、短压Home键启动Launcher源码分析 四、Launcher异常崩溃后的自启动4.1、Launcher异常崩溃后的自启动流程图4.2、…

C语言总结十三:程序环境和预处理详细总结

了解程序的运行环境可以让我们更加清楚的程序的底层运行的每一个步骤和过程,做到心中有数,预处理阶段是在预编译阶段完成,掌握常用的预处理命令语法,可以让我们正确的使用预处理命令,从而提高代码的开发能力和阅读别人…

在线扒站网PHP源码-在线扒站工具网站源码

源码介绍 这是一款在线的网站模板下载程序,也就是我们常说的扒站工具,利用它我们可以很轻松的将别人的网站模板样式下载下来,这样就可以大大提高我们编写前端的速度了!注:扒取的任何站点不得用于商业、违法用途&#…

如何在CentOS 7 中基于OpenSSL 3.0 搭建Python 3.0 环境

1、OpenSSL 1.1 原因 [rootlocalhost ~]# openssl version OpenSSL 1.0.2k-fips 26 Jan 2017 [rootlocalhost ~]#通过执行openssl version可知Linux系统已经安装了OpenSSL,但该版本较低;Python 3 要求 OpenSSL版本不能低于1.1.1,否则安装P…

【02】mapbox js api加载arcgis切片服务

需求: 第三方的mapbox js api加载arcgis切片服务,同时叠加在mapbox自带底图上 效果图: 形如这种地址去加载: http://zjq2022.gis.com:8080/demo/loadmapbox.html arcgis切片服务参考链接思路:【01】mapbox js api加…

【Copula】最可能场景详解

基于Copula联合分布的最可能场景详解 最可能场景(The most-likely scenario)实例探讨参考 最可能场景(The most-likely scenario) 相应英文介绍原理介绍如下:(出自论文J2020-Drought hazard transferabilit…

RTC讲解

RTC(Real Time Clock)实时时钟 RTC实时时钟本质上是一个独立的定时器。RTC模块拥有一组连续计数的32位无符号计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。 RTC模块和时钟配…

基于XG24-EK2703A的BLE HID蓝牙键盘+鼠标复合设备功能开发(BLE+HID+FreeRTOS+Gecko SDK)

目录 项目介绍硬件介绍项目设计开发环境及工程参考总体流程图硬件基本配置应用初始化按键中断回调定时器回调按键响应任务蓝牙事件回调BLE HIDReport Map及报文键盘设备鼠标设备复合设备 发送字符串上/下滚动 功能展示项目总结 👉 【Funpack3-1】基于XG24-EK2703A的…

网络端口映射和端口转发的区别和联系

目 录 一、端口映射技术 1.1 原理 1.2 应用场景 1、远程访问 2、游戏主机 3、文件共享 4、监控视频共享 二、端口转发技术 2.1 原理 2.2 应用场景 1、网络负载均衡 2、网络安全 3、网络代理 三、端口映射和转发的实现方法 3.1 路由器配置 3.2 网络防火墙 …

C Primer Plus 第6版 编程练习 chapter 16

文章目录 1. 第1题1.1 题目描述1.2 编程源码1.3 结果显示 2. 第2题2.1 题目描述2.2 编程源码2.3 结果显示 3. 第3题3.1 题目描述3.2 编程源码3.3 结果显示 4. 第4题4.1 题目描述4.2 编程源码4.3 结果显示 5. 第5题5.1 题目描述5.2 编程源码5.3 结果显示 6. 第6题6.1 题目描述6.…

linux|操作系统|centos7物理机安装网卡驱动8188gu(内核升级,firmware固件,USB设备管理,module管理)

前言: 目前服务器领域centos7基本是主流的操作系统,而linux相对于Windows来说,软硬件方面的支持是差很多的,在硬件方面来说,以一个免驱的网卡为例,window xp可能不会自动识别到,但Windows10基本…

问题:Feem无法发送信息OR无法连接(手机端无法发给电脑端)

目录 前言 问题分析 资源、链接 其他问题 前言 需要在小米手机、华为平板、Dell电脑之间传输文件,试过安装破解的华为电脑管家、小米的MIUI文件传输等,均无果。(小米“远程管理”ftp传输倒是可以,但速度太慢了,且…

【Ant Design of Vue】Modal.confirm无法关闭的bug

一、问题 在使用 Ant Design Vue 的 Modal.confirm 确认框时&#xff0c;出现了点击取消和确定后 Modal.confirm 确认框无法关闭的问题 二、代码 代码完全是 copy 的官网的代码&#xff0c;但是 copy 到本地后就会出现上述问题 <template><a-button click"sho…

鸿蒙开发(五)鸿蒙UI开发概览

从用户角度来讲&#xff0c;一个软件拥有好看的UI&#xff0c;那是锦上添花的事情。再精确的算法&#xff0c;再厉害的策略&#xff0c;最终都得通过UI展现给用户并且跟用户交互。那么&#xff0c;本篇一起学习下鸿蒙开发UI基础知识&#xff0c;认识下各种基本控件以及使用方式…

UE5 C++ 学习笔记 UBT UHT 和 一些头文件

总结一些似懂非懂的知识点&#xff0c;从头慢慢梳理。 任何一个项目都有创建这些三个.cs。 这个是蓝图转C 这个是本身就是C项目,应该就是多了一个GameModeBase类 Build.cs包含了每个模块的信息&#xff0c;表明了这个项目用到了哪一些模块。该文件里的using UnrealBuilTool 是…

为数字取证和 OSINT 调查定制用户体验

Tsurugi Linux 是一个高度定制的开源发行版&#xff0c;专注于支持 DFIR 调查。 该项目主要侧重于实时取证分析、事后分析和数字证据获取。用户还可以执行恶意软件分析、OSINT(开源情报)和计算机视觉活动。 我们精心打造了用户友好的体验&#xff0c;按照逻辑取证分析顺序组织…

【JS逆向学习】36kr登陆逆向案例(webpack)

在开始讲解实际案例之前&#xff0c;大家先了解下webpack的相关知识 WebPack打包 webpack是一个基于模块化的打包&#xff08;构建&#xff09;工具, 它把一切都视作模块 webpack数组形式&#xff0c;通过下标取值 !function(e) {var t {};// 加载器 所有的模块都是从这个…