LabVIEW学习笔记(三)——程序结构

article/2025/10/8 6:34:16

前言:

       任何计算机语言都离不开程序结构,LabVIEW 作为一种图形化的高级程序幵发语言也不例外。LabVIEW 中的程序结构包括if-else循环,while循环结构,使能结构,公式节点和数学脚本节点等, 因此通过LabVIEW可以非常方便快速地实现任何复杂的程序结构。在LabVIEW 中,无论是循环结构、Case 结构还是条件式节点,它们都表现为一个方框包围起来的图形代码。这个方框就类似于C语言中的两个花括号 

 

一、while循环

       如果我们需要让循环在满足某种条件时退出或继续运行,这时候就需要借助于 While 循环。它是 LabVIEW 中最经常使用的一种程序结构。

      下面我们利用 while 循环写一段最简单的代码:用户输入一个整数,while循环计算出 1 到 该数值的累加和,该段代码如下所示:

        在上述代码中使用了反馈节点,因为使用 反馈节点可以让程序更简洁, 就是直接将输出与输入连接起来,这时就会自动出现一个反馈节点的符号。

        其中  是循环终止条件的输入端子,默认情况下为 Stop if true,即当输 入布尔条件为 True 时终止循环,为 False 时继续运行。如果右击该端子,该端子变为,这表示当输入布尔条件为 True 时继续运行,为 False 时终止循环。这两种情况是互 为相反的逻辑。具体采用哪一种,则主要由程序的可读性决定。此外,While循环体与外部代码交换数据的方式和For循环是一样的,可以参考 For 循环。

       如果以索引方式输入数组的话,While循环的次数并不会由数组大小控制,它仍由布尔值控制。当循环次数超过数组大小时,将以数组最后一个元素作为输入。我们编写代码如下所示:

运行程序后,前面板显示:

       LabVIEW 在执行While循环时,如果用户没有给它设定循环时间间隔,那么它将以CPU的极限速度运行。按下Ctrl+Alt+Delete 快捷键打幵任务管理器,可以看到它几乎将CPU全部利用, 正常情况这样做比较危险,因为这样可能会导致整个 LabVIEW 程序看去跟“死 掉” 一样。
        在很多情况下我们没有必要让 While 
循环 以大的速度运行,所以最好给 While 循环 加上时间间隔。有两种方法:一种是在每个循环中添加一个等待时间,只有在等待完毕后才运行下一个循环。 另一种方法是使用定时循环(Timed Loop)。

       因此,在写 While 程序时千万别忘了加上一个定时器,即:

 

、For 循环

       For 循环用于将某段程序循环执行指定的次数。可以通过两种方法指定循环次数,种是直接给定,一种是通过输入数组的大小给定。它在 函数面板中的位置如下图所示:

           如果输入 For 循环体的数据为数组的话,有两种情况:一种是将整个数组一次性输入循环体, 另一种是让数组元素逐个地输入,并以数组大小确定循环次数。同理,输出也一样,可以一次性将整个数组输出;也可以将元素逐个输出,最后再将所有输出元素组合为同一个数组输出。

         一般来说,如果直接将数组与内部数据连接,它默认就是自动索引,即数组元素一个个地输入,输出也是一样的。一般情况下,用户不再需要指定运行的次数,它会自动根据数组大小执行。 当然如果用户硬要指定那么它按照最小的执行次数执行。即如果数组有5个元素,而用户指定循环次数为10,则实际循环次数为5。索引方式下输入和输出一维数组如下图所示:

程序框图:

前面板:

显然,虽然没有指定 for 循环中 N值 的大小,该循环执行了5次就终止了。因此,它会自动根据数组大小决定执行次数。

       如何利用 for 循环来产生二维数组或多维数组,方法很简单,如下图所示:

对应的前面板如下所示:

改变循环次数:

 

 

、事件结构

        Labview 提供了事件结构,即仅当 “事件” 发生时,程序才作相应的响应。 通过事件结构,程序可以变得很简单,并降低CPU利用率。当多个事件发生时会形成事件队列, 直到每个事件对应的代码都被执行为止,因此不会有事件被漏掉的情况。

        注意:事件结构必须放在 While 循环中,否则没有意义,因为当一个事件完成后,程序 需要去等下一个事件的发生。我们来看一段代码:

接下来我们在选择器标签处右键鼠标,添加事件分支:

添加 “取消按钮” 对应的事件:

添加  “确定按钮” 对应的事件:

添加  “ 旋钮” 对应的事件:

然后我们可以运行代码,在前面板看到结果如下:

旋转 旋钮:


 

 

 

四、条件结构

            这一节我们通过一个例子来学习条件结构:利用条件结构和循环结构写一个跑马灯,即要求 5 个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节,我们新建一个空白 VI ,然后编写代码:

       在while循环中放一个时延函数,延时时间由滑动条控制,这个延时时间就是跑马灯的闪烁间隔。然后从循环次数 i 引出,除以 5 取余数加1 作为条件使能结构的输入。最后依次设置每个分支:

当输入为3时的分支执行的代码:

输入为4时对应的分支:

输入为5时对应的分支:

我们看看对应的前面板:

接下来,我们运行程序:

注意: 当条件使能结构有多个分支时,必须设置默认分支,否则程序无法执行,如下:

 

五、公式节点

        公式节点是一种程序结构,通过公式节点,用户不仅可以实现复杂的数学公式,还能通过文本编程写一些基本的逻辑语句,如if...else...、case, while循环之类的语句。可以这么说,公式节点基木上弥补了图形化幵发语言相对于文木语言的缺陷。公式节点的语法与C语言基本相同。

       接下来我们来利用公式节点进行编程:

我们添加公式节点函数,在方框的边框上右键鼠标,添加2个输入和3个输出,然后编程算法代码:

       显然,公式节点不仅能实现一个公式,还能同时实现多个公式,只需要增加输入输出端子就可以了。而且,语法规则完全遵循C语言。

      运行程序可以看到:

更改 a 和 b 的值:

 

 

六、实践——温度监测系统

        最后,我们来做一个温度监测系统,该系统底层数据是由随机数发生器产生的20〜40 之间的随机数,其代码如下所示:

设置华氏和摄氏两种示模式,选择华式温度时:

选择摄氏温度时:

       然后设定温度上限,当温度超限时,Alarm Counter加1,这里采用了移位寄存器。LabVIEW 提供了移位寄存器,把上一次循环产生的结果 “移动” 到下一次循环的输入。添加移位寄存器的方法如下图所示:

    右击 For 循环的边框,选择 添加移位寄存器 选 项,在右击点和另外一侧就会出现一个小黑框,把它与需要连接的数据连接即可。

      由于存储在移位寄存器中的数据值直到关闭VI时才从内存中消除。如果没有初始化移位寄存器,就会导致在关闭VI之前前后 两次运行该 VI 的结果截然不同。由于这种情况难于预测,因而可能会使VI的运行结果难以捉摸, 因此,任何情况下都别忘了初始化移位寄存器。

    接下来分析整个程序,最外层用 While 循环来控制整个系统的运行:

        当用户单击 “幵始采集” 按钮后,系统幵始采集数据,执行 case循环中的 true分支对应的程序,在该分支中,用层叠顺序结构来实现“初始化”,“运行”,“结束”这3个顺序执行状态:

我们执行程序,可以看到前面板如下:

 

 

 

 

 

 

 

 

 

 

 

 


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

相关文章

LabVIEW使用入门指导

LabVIEW是一种图像化设计工具,它的“代码”格式为*.vi(Virtual Instrument),分为前端面板和后端面板,前端面板又可以称之为顶层设计,是用户界面,后端设计师代码以及元器件试图。 前端面板 前端面板中,用户…

labview精华资料集合光盘

最后的详细内容如下: 引用 |_Windows颜色拾取器 |_ActiveX举例_写Excel |_打开其它文件或者程序 |_当前文件夹查找指定文件 |_动画显示(奔跑的马) |_ActiveX举例_演示PPT |_获取当前程序路径及名称并判断状态是EXE等 |_简单暂停 |_前面板对象…

学习labview

公司:美国国家仪器(成立于1976年) 初始发布时间:1986年 底层语言:C、C 操作系统:windows、macOS、linux 运用场景:数据采集、仪器控制、自动化、分析与信号处理、工业控制、嵌入式和系统设计…

LabVIEW入门学习经验分享

在自动化行业,你如果想开发功能强大且开发周期不要太长的上位机软件。首先考虑labview,它可以调用c、matlab等编程语言的库文件,实现跨语言编程,从而满足你更复杂的控制,这是它的优势,国内外很多的航空航天…

labview入门到出家5(进阶篇)——程序调试以及labview函数库的运用

跟了前面几章的操作流程,相信大家对labview有了一定的认识。其实只要了解了labview的编程思路,再熟悉地运用各个变量,函数以及属性,那么我们就可以打开labview的大门了。跟其他编程语言一样,好的编程思维再加上一个好用…

Labview2018学习之三:LabVIEW编程

LabVIEW是图形化编辑软件,使用LabVIEW编程的基本流程的步骤是: 1)VI的创建; 2)编辑VI,运行和调试; 程序框图:框图是实际可执行的代码,通过将完成特定功能的对象连接在一…

【LabVIEW】LabVIEW练习

产生100个1-99随机整数数,求其和以及平均值 用for循环产生4行100列的二维数组,数组成员如下: 1,2,3…100; 100,99,98…1; 6,7,8…105; 105,104,103…6; 从这个数组中提取2行50列的二维数组,数组成员如下: 50,49,48…1; 56,57,58 (105) 将这2个数组用数组显示件显示在前面板. …

学习LabVIEW应看的几本书

学习LabVIEW应看的几本书 前几天,看了“花开不谢”的博客,才知道NI在中国落户已经十年了,推算过来大概也就是1998年前后在中国落的户,那时中国的改革开放已经二十多年。NI在中国推广所遇到的最大难题,我猜想应该语言是…

专题一:Labview表格控件 及 应用(一)

专题一:Labview表格控件 及 应用(一) 最近一段时间,做试验台上位机编程,老是用到表格控件,这几天抽时间专门写一个表格控件的专题。有用到的朋友可以参考一下。 总结教训:尽量把文章控制在5分钟…

如何系统学习LabVIEW?

目录 1、LabVIEW开发技巧 2、LabVIEW仪器控制 3、LabVIEW和单片机(Arduino) 4、LabVIEW工业图像处理与机器视觉实战 从2021年4月至2022年6月,1年零2个月的时间,终于把LabVIEW工控系列文章更新完了~ LabVIEW工控系列文章包含4部…

专题一:Labview表格控件 及 应用(二)

标题专题一:Labview表格控件 及 应用(二) 最近一段时间,做试验台上位机编程,老是用到表格控件,这几天抽时间专门写一个表格控件的专题。有用到的朋友可以参考一下。上一讲介绍了表格控件,认识了…

Labview(1)使用小技巧

1.按这个连续运行的按钮即使单个控件就可以使程序运行起来,不用循环; 2.注意这里学到了条件结构里的条件是一点都不可以错,加个空格也算字符,这个要注意,否则会出错; 3.选中某个控件,按住Ctrl键…

labview入门

labview为图形化编程,一个文件(VI)分为前面板和程序框图。前面板即为人机交互页面,程序框图则是实现的程序。 前面板认识 在灰色部分右键显示控件模块 查看—》工具悬版 控件上右键可以开启快捷菜单设置。 程序框图 包括&a…

LabVIEW 使用入门(简明笔记)

目录 实用工具导航窗口即时帮助窗口VI层次结构 新建项目创建VI 编辑前面板工具选板控制选板 编辑程序框图(背面板)函数选板程序框图编辑字符串、变量程序结构顺序结构For循环While循环条件结构(类似IF语句) 总结 实用工具 导航窗…

LabVIEW基础(1)

LabVIEW是一种程序开发环境,是NI自主研发的编程语言,与其他计算机语言不同的是,LabVIEW的程序是框图的形式,而不是英文代码的形式,主要应用在工业和仪器控制仿真、测试测量等领域。 这里以LabVIEW2020为例&#xff0c…

labview—波形图(表)的使用教程

文章目录 一.概述1.图(graph)和图表(charts)的区别2.图表的所有种类 二.波形图(表)1.波形图2.波形图表 labview自带范例 写在前面: 本文参考官方文档和软件自带范例,我将陆续解读翻译其中相关内容与大家分享。 本文涉及&#xff1…

LabVIEW的编程-程序框图入门笔记

CSDN话题挑战赛第2期 参赛话题:学习笔记 学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐&a…

【软件相关】LabView使用总结

本文目录 前言概述基本使用1. 界面认识2. 添加函数与控件3. 快捷键及技巧4. 如何完全卸载 常用函数使用方法汇总1. 结构2. 文件IO3. 布尔4. 属性节点的使用5. 界面设计与修饰6. 自定义控件 实践总结1. 基于VISA的串口程序2. 蓝牙串口3. 基于LabView的俄罗斯方块4. 表达式节点 /…

LabVIEW入门(基础篇)

LabVIEW是Laboratory Virtual Instrument Workbench(实验室虚拟仪器集成环境)的简称,由美国国家仪器公司开发的、优秀的商用图形化编程开发平台。相比于其他编程语言是基于文本语言编程,LabVIEW使用的是图形化的编辑语言G编写程序…

LabVIEW开发实战:Labview简介

1、什么是Labview 2、数据流的概念 3、选择LabVIEW的原因 4、LabVIEW 学习捷径 5、 LabVIEW的工作环境 6、 LabVIEW自带编程示例 7、起源与发展历程 8、小结 1、什么是Labview LabVIEW (Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建…