LabVIEW编程基础:条件结构编程

article/2025/7/6 5:36:24

目录

一、条件结构框架特点

二、示例1:布尔型的条件输入

三、示例1运行效果

四、示例2:数值型的条件输入

五、示例3:枚举型的条件输入

六、示例3:运行效果

七、示例4:字符串型的条件输入

八、示例4:运行效果


LabVIEW又称为G语言,简单易学、形象直观,采用图形化的编程方式,是专为测试、测量和控制应用而设计的系统工程软件。

        在上篇文章(请参考:LabVIEW编程基础:以实例学编程之顺序结构)中已经讲了顺序结构的编程方法,下面通过具体例子演示条件结构的编程使用方法。

一、条件结构框架特点

        条件结构也可称作选择结构、分支结构等,其目的是根据不同的输入条件,程序执行不同的分支,用来改变程序的执行流程。在LabVIEW中条件结构框架样式如下图所示:

        由上图可看出,条件结构由选择框架、选择端口、选择标签,以及递增/递减按钮等组成。其特点是:

1. 选择端口上可连接多种数据类型的输入,如布尔型、数值型、枚举型、字符串型等;

2. 必需有一个默认处理条件(default case),用来处理超出条件选项范围的情况;

3. 输入数据时,每个子条件框可连也可不连数据通道;

4. 输出数据时,每个子条件框必须为数据通道连接数据。否则程序不能运行,这时通道的图标是空心的,只有为每个子条件框的数据端口都连接数据后,图标才变成实心。为简单起见,也可在数据通道端口的右键菜单中选择“未连线时使用默认”,可使程序中没有连线的子条件框输出该数据类型对应的默认值。

        下面根据不同的数据类型的条件输入,列举几个常用类型的编程例子。

二、示例1:布尔型的条件输入

        LabVIEW中默认创建的条件结构就是布尔型输入的情况,这种结构类似于C语言中的“if……else……”结构,只存在真和假两个分支。一个简单的示例程序框图代码如下图所示:

 X>=0分支

 

 x<0分支

         在上图中对于输入的数值x,根据其值与0进行比较的结果作为条件结构的输入,如果其值大于等于0,则输出y值为10,否则输出y值为-1。

        注意,此种情况也可以直接输入一个错误簇(LabVIEW内置的数据类型,本质上为一种结构体类型),其会自动分为错误和无错误两个分支,然后在两个分支中分别写入对应的处理代码即可。

三、示例1运行效果

    运行,X输入30,Y输出10

  运行,X输入-5,Y输出-1

四、示例2:数值型的条件输入

        对于数值型的条件输入,由于计算机在做数值比较时存在着精度原因,其只允许输入整数数值,包括有符号和无符号整型数值,若输入单/双精度类型时将会自动转换为有符号整数。此时可以输入单个数字,也可以输入一段区间的数值。示例程序框图代码如下图所示:

                    

 

        上图中对于输入的分数值,根据其所在的区间段或值得出最终的结论信息,涉及到了单个数值、区间段及默认情况的处理。

        注意,对于整数数值输入,在分支中符号“.”表示选择一段区间,如“60.69”表示的是所有大于等于60且小于等于69之间的整数,“.60”表示的是所有小于等于60的整数;符号“,”表示多个数值的选择,如“2,5,8”表示当条件等于2、5、8时选择这个分支。

五、示例3:枚举型的条件输入

        这种枚举型的条件输入,在LabVIEW中应该是最正宗的条件结构了,类似于C语言的“switch……case……”结构,并且在创建分支时,可在右键菜单中选择“为每个值添加分支”,此时程序会自动为枚举类型输入变量中的每个值创建一个分支框,省去了手动添加每个分支的过程,添加分支后,再将其中的一个分支设置为默认分支即可。一个简单的示例程序框图代码如下图所示:

创建枚举类型右键选择编辑项

 

 条件结构的下拉项只有2项:0---不及格;1=及格。

条件结构的下拉项要想新增加“良好”和“优秀”,还需要使用“在前面添加分支”或“在后面添加分支”。

 条件结构的下拉项新增加“良好”,使用“在后面添加分支”

   

 

 

  条件结构的下拉项新增加“优秀”,使用“在后面添加分支”

 

 

 

条件结构连接“枚举”为枚举类型,不同项执行不同的分支,输出不同的结果。

 

 

 

 

六、示例3:运行效果

 

 

 

 

 

 

七、示例4:字符串型的条件输入

        这种分支比较简单,前面板添加1个字符串输入控件(参见:字符串输入)和字符串显示控件(参见:字符串输出)。

 

        程序面板添加1个条件结构,字符串输入和条件结构连接,参见下图,下拉项只有两项,分别是“假”字符串和“真”字符串,其中下拉项“假”字符串为默认。

          现在我们不想要下拉项中的“”假“和”真“选项,我们希望的下拉项为:

                     ”步骤1“

                     ”步骤2“

                     ”步骤3“

                     ”步骤4“

           其中,步骤1为默认,以下是操作步骤。

1、选中"后面添加分支"

 在下拉选项位置处输入”步骤1“

 2、重复上述步骤,在下拉选项位置处依次输入”步骤2“、”步骤3“、”步骤4“,下面是我弄好的

 3、切换到“真”,在真标签上单击右键,弹出下拉菜单,使用“删除本分支”,将“真”选项删除。 

 

 

4、切换到“假”,在假标签上单击右键,弹出下拉菜单,使用“删除本分支”,将“假”选项删除。 

 

 删除完“真“和”假“,只剩下 ”步骤1“、”步骤2“、”步骤3“、”步骤4“

5、切换到“步骤1”,在步骤1标签上单击右键,弹出下拉菜单,使用“本分支设置为默认分支”,将“步骤1”选项设置为默认。

 

 

编写程序框图:

      

 

 

 

 

八、示例4:运行效果

当输入值为空时,条件结构按照默认值输出

 

 

 

         程序中模拟显示了程序的执行过程,输入“执行步骤”信息,其值当输入“步骤1”、“步骤2”、”“步骤3“和步骤4”时,“字符串输出”控件中会显示当前程序运行信息。

        当输入其它信息时,程序会执行默认分支,在该分支中,由于在“字符串输出”数据通道的右键菜单中选择了“未连线时使用默认值”,因此“字符串输出”的值将输出为”正在执行步骤1---“。

致谢: 

LabVIEW编程基础:以实例学编程之条件结构精讲 (baidu.com)


http://chatgpt.dhexx.cn/article/aT1W4rBc.shtml

相关文章

啊这!终于不用敲代码了?Labview牛逼!带你轻松入门Labview~

文章目录 一、Labview的三大特征1、图形编程2、并行性运行3、基于数据流 二、Labview编程小tips1、快捷键&#xff01;2、善于利用Labview中的“即使帮助”3、运行之后某个控件或函数部分闪了&#xff1f;&#xff01;——出错了&#xff01;4、我喜欢有代码洁癖的程序员&#…

noip201506 Message 信息传递

试题描述&#xff1a; 有 n 个同学&#xff08;编号为 1 到 n &#xff09;正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象&#xff0c;其中&#xff0c;编号为 i 的同学的信息传递对象是编号为 T_i 的同学。游戏开始时&#xff0c;每人都只知道自己的生日…

Codevs 4511 信息传递

题目描述 Description 有个同学&#xff08;编号为 1 到&#xff09;正在玩一个信息传递的游戏。在游戏里每人都有一个固定的信息传递对象&#xff0c;其中&#xff0c;编号为的同学的信息传递对象是编号为的同学。游戏开始时&#xff0c;每人都只知道自己的生日。之后每一轮中…

消息的传递

我们的郭嘉大大在曹操这过得逍遥自在&#xff0c;但是有一天曹操给了他一个任务&#xff0c;在建邺城内有 N 个袁绍的奸细&#xff0c;将他们从 1 到 N 进行编号&#xff0c;同时他们之间存在一种传递关系&#xff0c;即若C{i,j}1&#xff0c;则奸细 i 能将消息直接传递给奸细 …

简单知识——跨页面信息传递

背景 一个简单的数据查询功能&#xff0c;列表页面有“查看详情”按钮&#xff0c;跳转详情页面时列表的一条记录信息需要传递到详情页面&#xff1b;而详情页面有“返回”按钮&#xff0c;返回的同时也需要将原列表的查询条件回显。 跳转方式直接是 window.location.href&am…

信息传递的多样化的挑战

信息传递的障碍&#xff0c;是造成竞争被动的重要原因。因此&#xff0c;要使有用的信息得以正确传递&#xff0c;必须克服这种传递障碍。 方法之一是减少组织机构层次和信息传递的环节&#xff0c;尽量做到信息的直接贯通。 方法之二是采取双向传递方式。传统的传递往往是高一…

java实现信息传递

在过去&#xff0c;我们无数次实现了代码的本机运行&#xff0c;一行行的代码在我们的屏幕上飞舞&#xff0c;最终形成种种不同的结果&#xff0c;但是&#xff0c;这些都止于自己的计算机上&#xff0c;在这个万物互联的世界里&#xff0c;通信&#xff0c;是不可缺少的一环&a…

【PyG入门学习】三:信息传递机制

1.理论基础 将普通的卷积过程推广到非规则数据领域一般是通过邻域聚合或者信息传递机制。 x i ( k − 1 ) ∈ R F x^{(k-1)}_i∈R^F xi(k−1)​∈RF表示在第k-1层节点i的节点特征&#xff0c; e j , i ∈ R D e_{j,i}∈R^D ej,i​∈RD表示从节点j到节点i的边的特征&#xff08…

[易飞]录入信息传递设置信息

通常我们在查询相关单据单身中会有附带上一个单别的关联单据&#xff0c;比如采购发票单身有进货单单别、单号。系统默认做了超连接。 可有些时候我想查看这个品号信息的参数呢&#xff1f;是否可以自定义呢&#xff1f; 今天是礼拜一&#xff0c;打开某聊天群&#xff1a;就显…

100种思维模型之信息传递思维模型-028

人与人之间存有 认知偏差和理解偏差 &#xff0c;信息在传递过程中会 衰减、失真以及再加工 &#xff01; 信息传递思维模型 &#xff0c;一个有助于 提高信息传递质量 的思维模型。下面从三个方面进行介绍&#xff0c; 何谓信息传递思维模型、信息传递思模型生活中的运…

沟通管理--关于信息的有效传递和维护

沟通管理作为项目管理核心知识领域之一&#xff0c;在项目管理和团队协作中的作用毋庸置疑。沟通管理涉及的范围很广&#xff0c;本文从沟通的重要性和模型出发&#xff0c;主要从信息传递和信息维护这两个方面对沟通管理进行阐述。 一. 关于沟通 下面这张图描绘了西方文化中…

HC官方资料介绍

中国区市场招商联系方式&#xff1a;13867974424

HC-SR04驱动记录

文章目录 1、工作原理2、读取数据方式3、驱动记录 1、工作原理 常用的HC-SR04模块如下所示&#xff1a; 引脚说明&#xff1a; 引脚说明VCC电源&#xff0c;常用5vTrig控制端Echo接收端GND地 使用说明&#xff1a; 控制端发送一个10us的高电平脉冲&#xff0c;之后再接收口…

【STM32篇】驱动HC_SR04超声波测距模块

CH_SR04 一、简介 1.产品特点 HC_SR04超声波测距模块可提供2cm-400cm的非接触式测距感测功能&#xff0c;测距精度高达3mm&#xff1b;模块包括超声波发射器&#xff0c;接收器与控制电路。 基本工作原理&#xff1a; &#xff08;1&#xff09;采用IO口TRIG触发测距&#xff0…

HC-05蓝牙模块配置

目录 1、连接蓝牙模块a.蓝牙模块通过USB转TTL连接电脑b.打开串口助手&#xff0c;波特率设置为38400c.检验是否连接成功 2、配置波特率3、修改密码4、设置主从模式5、设置蓝牙连接模式6、查询自身地址7、添加配对蓝牙地址8、测试 1、连接蓝牙模块 a.蓝牙模块通过USB转TTL连接电…

HC-06蓝牙模块使用方法

接线方式&#xff1a; 配套资料&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1_8-d1LoHuhpIBC9Ygu4aJQ 参考&#xff1a; (1272条消息) HC-05/06蓝牙模块的原理及使用方法_hc-05蓝牙模块原理图_小小少年123的博客-CSDN博客 注意&#xff1a;蓝牙灯闪烁分析 如果…

初次使用HC-08蓝牙模块01

基础连接 1.接线 2.测试&#xff0c;手机APP和测试架&#xff0c;成功互发AT指令即成功 3.完整教学 测试结果 起初手机APP搜索不到蓝牙&#xff0c;以测试架为主&#xff0c;另一个为从&#xff0c;从上面的蓝灯不亮&#xff0c; 后面重新恢复出厂设置&#xff08;在串口…

HC-05的基本使用(STM32)

目录 一、HC-05 1、HC-05简介 2、接线方式 二、AT指令 1.基本指令 2、基本的使用 3、手机连接HC-05 三、CubuMX配置&#xff08;基于stm32f407zgt6&#xff09; 总结 一、HC-05 1、HC-05简介 HC-05 蓝牙串口通信模块&#xff0c;是基于 Bluetooth Specification V2.0 带 EDR 蓝…

智慧小区 HC 系统安装配置简单流程(V2022-09-28)

首先感谢官方 HC 开发&#xff08;一纸荒年&#xff09;的指导 ------------- 我的系统为&#xff1a; conetos 8.2(官方建议 7.6 版本较稳定) 登陆空间系统打开 SSH 终端# 第一步骤 1&#xff1a;先安装梓豪平台 1.1:梓豪平台安装是非常简单的&#xff0c;我们可以通过以…

Media Player Classic - HC 源代码分析 1:整体结构

Media Player Classic - HC 源代码分析系列文章列表&#xff1a; Media Player Classic - HC 源代码分析 1&#xff1a;整体结构 Media Player Classic - HC 源代码分析 2&#xff1a;核心类 &#xff08;CMainFrame&#xff09;&#xff08;1&#xff09; Media Player Cla…