LabVIEW循环结构

article/2025/7/2 15:25:35

LabVIEW可提供For循环和While循环两种循环结构。For循环必须指定循环总次数,达到指定循环次数后程序会自动退出循环;而While循环则不用指定循环次数,只需要指定循环退出条件,如果循环退出条件成立,则退出循环。所以知道循环次数可用For循环,不知道循环次数可用While循环。

循环结构数据通道与自动索引

循环结构数据通道是循环结构内的数据与结构外的数据交换(输入/输出)的必经之路,位于循环结构框上,显示为小方格。通道的数据类型和输入的数据类型相同,通道的颜色也和数据类型的系统颜色相同,如浮点数据通道颜色为橙色。
当直接连接循环结构的输出数据通道可能出错,一般隧道模式是默认为最终值的,因此需要更改隧道模式。
在执行循环程序过程中,循环结构内的数据是独立的,即输入循环结构中的数据是在进入循环结构之前完成的,进入循环结构以后不再输入数据;而循环结构输出数据是在循环执行完毕以后进行的,循环执行过程中不会输出数据。
当循环结构外部和数组相连接时,在数据通道中可以选择自动索引功能。自动索引可自动计算数组的长度,并根据数组最外围的长度确定循环次数。在数据通道上单击鼠标右键,选择快捷菜单中的“启用索引”,即可启用自动索引功能。启用自动索引功能后,For循环结构的输出数据通道发生了变化,变为两侧分别连接不同维数的数据。
在这里插入图片描述
在这里插入图片描述

移位寄存器

在循环结构中经常用到一种数据处理方式,即把第i次循环执行的结果作为第i+1次循环的输入,LabVIEW循环结构可通过移位寄存器实现这种功能。
在循环体的边框上单击鼠标右键,在弹出的快捷菜单中选择“添加移位寄存器”即可完成移位寄存器的创建。这时,在循环体的两个竖边框上会出现两个相对的端口,它们的颜色是黑色,只有将其连接到相应的数据端时,才会显示相应数据类型的颜色。其中,右侧的端口可用来存放本次循环的结果,左侧的端口则存放上次循环的结果。
移位寄存器的左、右端口可以成对出现,也可以“一对多”存在。在“一对多”存在。在“一对多”的情况下要特别注意的是,只能是右侧的“一个端口”对应左侧的“多个端口”,而不能反向。添加“一对多”端口时,在移位寄存器上单击鼠标右键,在弹出的快捷菜单中选择“添加元素”选项,可为左侧端子添加一个元素;选择“删除元素”可删除一个元素;选择“删除全部”则删除整个移位寄存器。在一个循环框中,可以添加多个移位寄存器。
移位寄存器可以存储的数据类型有数值型、布尔型、数组、字符串型等,向移位寄存器赋初值并命名为“显示初始化”。LabVIEW支持移位寄存器“非初始化”,当首次执行时,程序自动给寄存器赋初值为0,对于布尔型的数据则为False。后一次程序执行时就会调用前一次的值,只要VI不退出,则寄存器会一直保存前一次的值。

反馈节点

除了使用移位寄存器可以实现前、后两次的数据交换之外,还可以用反馈节点来实现。反馈节点的基本功能与移位寄存器是相似的,它的优点在于可以节省空间,使程序看上去更加紧凑。反馈节点用来在循环结构之间传递数据,相当于只有一个左侧端子的移位寄存器。反馈节点没有与任何数据连接之前是黑色的,与数据连接之后就会变成与数据类型相应的颜色。

循环结构使用实例

1、自然数求和

求前100个自然数的和,创建程序的步骤如下:
步骤一:新建VI,添加一个For循环结构。
步骤二:设置循环次数。在循环体的N端单击鼠标右键,选择“创建”下的“常量”,显示默认值为“0”,双击“0”,改为“100”。
步骤三:添加移位寄存器,在For循环的结构边框上单击鼠标右键,在弹出的快捷菜单中选择“添加移位寄存器”,并给左端的移位寄存器端子赋初值“0”。
步骤四:添加“加”法函数。在循环体内添加一个“加”法函数,将其中的一个输入端连接左端移位寄存器的输出端;将循环次数i增加1后连接“加”法函数的另一端输入端子;将“加”法函数的输出端连接右端移位寄存器的输入端;通过右端移位寄存器的输出端创建一个显示控件。运行程序。
在这里插入图片描述
在这里插入图片描述

2、二维数组运算

第二个实例是利用For循环进行二维数组运算,该实例中的内、外两个For循环均不需要设置N值,外部For循环的循环次数与二维数组的行数相同,内部For循环的循环次数与二维数组的列数相同。在外部循环的i值为“0”时,二维数组的第一行子数组进入循环体再输入至内部For循环。内部循环按照该行的元素顺序依次将元素输入。内部For循环结束后,外部循环的i值自动加为1进入下一轮外部循环。
在这里插入图片描述
在这里插入图片描述
根据结果可以发现,二维数组的第一列数据增加了0,第二列数据增加了1,第三列数据增加了2,这个增加值就是外部循环的i值。

波形图连续显示

步骤一:新建VI。在程序框图中添加While循环结构,并为循环条件创建一个输入控件。
步骤二:在While循环体内,添加“仿真信号”函数。选择“编程”→“波形”→“模拟波形”→“波形生成”→“仿真信号”函数,设置函数的属性,使函数能够生成连续正弦信号。
步骤三:在前面板添加“波形图”显示控件,将“仿真信号”函数产生的信号接入波形图控件的接线端。
步骤四:程序编辑完成后,单击前面板的运行按钮,可以看到程序一直运行,波形图显示控件正在连续显示正弦波。
(在程序运行时,打开计算机的“任务管理器”窗口,可以看到计算机CPU的使用率一直很高。这是因为在没有给While循环设定循环时间间隔的情况下,计算机会以CPU的极限速度运行While循环,在很多情况下这样做是没有必要而且极其危险的。如果LabVIEW程序占内存空间较大,这样有可能会导致计算机死机。因此,用户在使用While循环时需要设定一个循环间隔。即在While循环体内增加等待定时器。)
LabVIEW中的定时器位于“函数”选板“编程”下的“定时”子面板中,等待定时器主要有两种:一种是“等待(ms)”,等待指定时间;另一种是“等待下一个整数倍毫秒”,即等待到计时器的时间是输入值的整数倍为止。一般情况下,两种定时器是一样的。
步骤五:添加等待定时器。选择“等待(ms)”定时器添加到循环体内,在输入端创建一个常量,输入100,表示每100毫秒运行一次该程序。使用While循环时一定要注意添加循环条件和定时器。
步骤六:运行程序。
在这里插入图片描述
在这里插入图片描述


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

相关文章

Python循环结构详解

今天继续给大家介绍Python相关知识,本文主要内容是Python循环结构。 循环是一种编程语言的重要结构,在Python中,存在着两种循环,一种是遍历循环,一种是while循环。 一、遍历循环 所谓遍历循环,即遍历一个…

C语言基础——循环结构

C语言的基本结构之一。在程序中有连续执行的操作可以用循环结构,简化函数,C语言中有三种循环结构,for循环,while循环,do-while循环,其中for循环最常用。 一循环结构概述 1.什么是循环执行 循环执行是循环…

Python中的循环结构

Python中循环的介绍 1、什么是循环 现实生活中,也有很多循环的应用场景: (1)食堂阿姨打菜:接过顾客的餐盘→询问菜品→打菜→递回餐盘,重复以上过程,直到所有顾客的菜都打完了 (…

C++循环结构

C循环结构 一、循环结构1、while 循环1.1 语法1.2 练习题1.3 代码找错 2、do-while 循环2.1 语法2.2 练习题 3、for 循环3.1 语法3.2 练习题 4、三种循环执行顺序 二、循环嵌套1.输出正方形2.输出乘法口诀3.输出平行四边形4.输出数字菱形 三、跳转语句1.break语句1.1 在 switch…

MATLAB循环结构

目录 1、for语句 注意事项 (1)for语句针对行向量的每一个元素执行一次循环语句体,循环的次数就是向量中元素的个数,也可以针对任意向量。 (2)可以在for循环语句体中修改循环变量的值,当程序执行流程再次回到循环开始时,就会自…

【python】循环结构大归纳看这里就够了~

一、循环结构 1.认识循环:反复做同一件事情的情况,称之循环。 2.循环的分类:(1) while循环 (2)for循环 (3) 循环的嵌套 二、while循环的使用 1.while循环 while循环:代码一直重复,直到条件…

三种常见循环结构

问:求1-100的所有自然数之和。 生活中看到这个问题我们会用数学老师教的简便计算:12...100(1100)(299)(5051)50*1015050;但是计算机并不会简便计算,它只会单纯的123...10…

简单的5种循环结构

ilili 循环结构 1. For循环 重复重复 for 循环语句&#xff1a; for(初始化变量&#xff1b;循环条件&#xff1b;循环迭代){ 循环语句&#xff1b; } for(var i0;i<count;i){ sumsumi; } document.write(""sum); 迭代就是和— —的意思 例子: var sum0; for…

C语言—循环结构

目录 循环结构 循环控制语句 ​ 循环类型 一.while循环 语法 break在while循环中的作用 continue在while循环中的作用 多组输入 清空输入缓存区 二.for循环 语法 三.do while 语法 break和continue在do while循环中的使用 循环结构 循环结构是指在程序中需要反…

利用汉字在计算机里面的编码来得到汉字的首拼音:

利用汉字在计算机里面的编码来得到汉字的首拼音&#xff1a; static public string GetChineseSpell( string strText) {int len strText.Length;string myStr "";for(int i0;i<len;i){myStr getSpell(strText.Substring(i,1));}return myStr;} static publ…

获取中文拼音首字符

2019独角兽企业重金招聘Python工程师标准>>> http://pinyin4j.sourceforge.net/ 转载于:https://my.oschina.net/soho00147/blog/1633932

Excel中文转换为拼音(大写首字母、小写首字母、全拼、全拼首首字母大写)

很多时候我们需要处理一下汉字转换为拼音的需求&#xff0c;今天给大家分享一下标题包含的一下转换方法 1 、excel通过宏可以很好的处理汉字转换为拼音的 1.1下面的是转为全拼音的宏代码 Function pinyin(p As String) As String i Asc(p) Select Case i Case -20319 To -203…

php 获取字符串完整拼音,PHP 获取中文字符串的首字符拼音字母

class"php"><?php header(Content-Type: text/html; charsetutf-8); $str"阅谁问君诵&#xff0c;水落清香浮"; echo getFirstCharCode($str); function getFirstCharCode($str){ $str iconv("UTF-8","gb2312", $str); $targe…

拼音首字符检索

原理很简单&#xff0c;找出汉字表中拼音首字符分别为“A”至“Z”的汉字内码范围&#xff0c;这样&#xff0c;对于要检索的汉字只需要检查它的内码位于哪一个首字符的范围内&#xff0c;就可以判断出它的拼音首字符。 程序更简单&#xff0c;包括3个控件&#xff1a;一个…

C#中获得汉字的首拼音(加强版)

/// <summary> /// 汉字拼音首字母列表/// 包含了20901个汉字,收录的字符的Unicode编码范围为19968至40869/// </summary>#region ChineseCharListprivate static string[] ChineseCharList { "A阿啊锕嗄厑哎哀唉埃挨溾锿鎄啀捱皑凒溰嘊敳皚癌毐昹嗳矮蔼躷噯…

C#获得汉字的首拼音

利用汉字在计算机里面的编码来得到汉字的首拼音&#xff1a; static public string GetChineseSpell( string strText) ... { int len strText.Length; string myStr ""; for(int i0;i<len;i) ...{ …

PHP中文字符串转化为英文首拼音首字母大写

效果&#xff1a; 中国 >ZG 中文转化为英文首字母 中国&#xff1a;ZG &#xff1b;中2国&#xff1a;ZG&#xff1b;z国&#xff1a;ZG1:省略了数字&#xff08;不转化&#xff09; 用法&#xff1a; $result Character::getEnByCnByString(‘i是中国人’,3);//这边的3为截…

使用完整拼音查找汉字(完整拼音,不是网上散布的首字符拼音那种方法)

注意&#xff1a;这绝不是网上散播的只能使用拼音首字符进行汉字查找的方案&#xff0c;这是一个真正的输入完整拼音得到相应汉字的解决办法。 大部分程序员眼中只有变量、函数……他们忽略生活中的一切&#xff0c;他们并不理解真正的优雅的程序解决方案往往来自生活&#xff…

基于LeNet5实现交通标志分类任务

前言 大家好,我是阿光。 本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmPy…

Lenet5网络结构

Lenet5网络是深度学习中最基本的网络结构,开始于90年代,最早是应用于手写数字识别。受限于当时的环境,所以一开始不怎么出名。但是,在2012年,出现了Alexnet,在图像分类领域打败了所有机器学习方法。深度学习开始变得火热。 import torch import torch.nn as nn import t…