细讲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.mzph.cn/news/636186.shtml

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

相关文章

每日OJ题_算法_滑动窗口⑥_力扣438. 找到字符串中所有字母异位词

目录 力扣438. 找到字符串中所有字母异位词 解析及代码1 解析及代码2 力扣438. 找到字符串中所有字母异位词 438. 找到字符串中所有字母异位词 - 力扣(LeetCode) 难度 中等 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串&am…

Mac Could not find the GDAL library 问题解决

目录 1. 参考2. 问题描述3. 解决步骤3.1. 安装依赖包3.2. 配置 GDAL_LIBRARY_PATH3.3. 配置 GEOS_LIBRARY_PATH 1. 参考 https://docs.djangoproject.com/en/5.0/ref/contrib/gis/install/#macos 2. 问题描述 苹果系统 Mac 中搭建 GeoDjango 开发环境时出现以下报错&#xf…

第十四章 MyBatis

第十四章 MyBatis 1.入门-课程介绍2.入门-快速入门程序3.配置SQL提示4.入门-JDBC5.入门-数据库连接池6.入门-lombok工具包介绍7.基础操作-环境准备8.基础操作-删除9.基础操作-删除(预编译SQL)10.基础操作-新增11.基础操作-新增(主键返回&…

Python初识——小小爬虫

一、找到网页端url 打开浏览器,打开百度官方网页点击图片,打开百度图片 鼠标齿轮向下滑,点击宠物图片 进入宠物图片网页,在网页空白处点击鼠标右键,弹出的框中最下方显示“检查”选项,点击(我是…

安全帽识别-赋能深圳自贸中心智慧工地

在当今的建筑行业中,安全管理一直是一个至关重要的议题。深圳自贸中心项目在这方面进行了一次有益的尝试——实施智慧工地安全帽识别系统。本文将对这一创新举措进行简要介绍。 项目背景 深圳自贸中心,作为一项标志性建设项目,承载着城市发展…

云的网络安全优势

在考虑迁移到云计算时,网络安全已经成为一个关键因素。毫无疑问,企业希望通过网络浏览器或移动应用为员工、合作伙伴和客户提供一致的数据和应用访问权限,以保持竞争力。 网络攻击的性质和重要性正变得越来越复杂,并造成严重的财…

【ASP.NET Core 基础知识】--路由和请求处理--Attribute路由

一、介绍 在ASP.NET Core中,路由是将传入的URL请求映射到正确的控制器和操作的方法。Attribute路由是一种基于属性,用于定义路由规则的方式,通过在控制器类和操作方法上应用特定的属性,来定义URL模板。 基本概念: **路…

线性代数逆矩阵的求法

在线性代数中,逆矩阵是一个非常重要且有趣的概念。一个 n 阶方阵 A 的逆矩阵,记作 A^-1,是指存在另一个 n 阶方阵 B,使得 A 和 B 的乘积等于单位矩阵 E,即: A * B E 或者等价地: B * A E 这里…

uniapp技术积累

2024.01.19 1.textarea (1)默认文字样式设置 placeholder-style"color:rgba(0,0,0,0.7)" 2024.01.18 1.hbuilderx运行uniapp到ipad(复用率低) (1)电脑端:首先会有一个运行工具包&…

只用Mysql搞一个分布式锁

在web开发中,分布式的锁的应用场景甚多,我们可以通过分布式锁来进行一些仅依赖于数据库的事务很难直接保证原子性的操作,比如多种不同数据源的访问,网络通信等等。多数情况下我们会使用memcache的add, redis中在set中指定nx参数等…

怎么用小程序将身份证转为结构化Excel?

随着科技的不断发展,我们的生活变得越来越智能化。现在,我们可以使用金鸣表格文字识别小程序来识别身份证并转为结构化的excel,并且可自动核对真伪,保留头像。金鸣表格文字识别小程序是一种基于人工智能技术的应用程序&#xff0c…

nacos,nginx及java服务自重启

微服务之服务自重启 设置Nacos开机自启在/lib/systemd/system文件夹下创建nacos.service文件 [Unit] Descriptionnacos Afternetwork.target[Service] Typeforking ExecStart/opt/nacos-server-1.4.1/nacos/bin/startup.sh -m standalone ExecReload/opt/nacos-server-1.4.1/…

将字符串中的制表符替换为指定数量的空格expandtabs()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将字符串中的制表符 替换为指定数量的空格 expandtabs() [太阳]选择题 请问以下代码text3的空白处是? text1 "这里有一个\t制表符" text2 "这里有一个12345制表符…

第二次作业+第三次作业

第二次作业第三次作业 第二次作业 题目: 网站需求: ​ 1.基于域名[www.openlab.com](http://www.openlab.com)可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生信息,教学资料和缴费网站,基于[ww…

利用HTML+CSS+JS打造炫酷时钟网页的完整指南

引言 在现代Web开发中,制作一个引人注目的时钟网页是一种常见而令人愉悦的体验。本文将介绍如何使用HTML、CSS和JavaScript来创建一个炫酷的时钟网页,通过这个项目,你将学到如何结合这三种前端技术,制作一个动态且美观的时钟效果…

vue 中的watch 的deep属性

在 Vue 中,watch 是一个用于观察和响应 Vue 实例上的数据变化的选项。当你在一个属性上设置 watch 时,Vue 会监视该属性的变化并在变化时执行相应的回调函数。 deep 属性是 watch 选项的一个属性,用于深度观察一个对象的变化。默认情况下&am…

深入探索 Android 中的 Runtime

深入探索 Android 中的 Runtime 一、什么是 Runtime二、Android 中的 Runtime 类型2.1. Dalvik Runtime2.2. ART(Android Runtime) 三、Runtime 的作用和特点3.1. 应用程序执行环境3.2. 跨平台支持3.3. 性能优化3.4. 应用程序优化 四、与应用开发相关的重…

Unity3D Pico VR 手势识别物体交互 适配 MRTK3

当前Pico已经支持手势识别了,但是提供的PICO Unity Integration SDK 中是没有手势和物体交互的功能,Unity XR Interaction Toolkit提供的手势识别物体交互对 Quest适配的挺好的,Pico 当前只能用指尖点触还不能对物体进行抓握以及手势控制射线…

ubuntu18.04以上版本使用systemd 开启自启动服务

进入/etc/systemd/system/目录,创建myscript.service,并赋予权限 sudo vim /etc/systemd/system/myscript.service [Unit] DescriptionMy Script Service Afternetwork.target [Service] Userroot ExecStart/home/start.sh Restartalways [Install]…

【水文】打印99乘法表

#include <stdio.h> int main() { for (int i 1; i < 9; i) { for (int j 1; j < i; j) { printf("%d*%d%d\t", j, i, i * j); } printf("\n"); } return 0; }