循环次数几次_手把手以实例教你学LabVIEW编程,for+while循环结构

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

在前面两篇文章(请参考:顺序结构、条件结构)中分别讲了顺序结构与条件结构的编程方法,下面通过具体例子演示循环结构的编程使用方法。

循环结构框架特点

对于循环结构,同C语言类似,LabVIEW中提供了两种实现方式,分别为for循环和while循环,其框架样式分别如下图所示:

d0b171d7dc77c4d0f7cbf51562484cf4.png

上图中,左边为for循环框,右边为while循环框,这两种循环的特点是:

1. 两个循环框都有计数端口“i”,用以标记当前运行的次数。

2. For循环框多用于循环次数已知的情况,循环次数由端口“N”接入;while循环则多用于循环次数未知的情况,其循环的终止条件由条件端口给出。

3. While循环不满足条件也要执行1次,即至少执行一次;for循环当N<1时可一次都不执行。

4. 在循环框上,可通过移位寄存器存储某个变量前面几次循环的值。

5. 在循环框上,当用连线工具连接循环框内外的数据端口时,在框架上会自动形成一个方形的数据通道图标,图标空心表明此时数据通道具有自动索引功能,图标实心则不能索引。这儿的自动索引是指将循环框外面的数组成员逐个依次进入循环体内,或将循环框内的数据累加成一个数组输出到循环框外面。

下面通过简单的例子,演示LabVIEW中for循环和while循环编程的方法。

基本示例1:计算1-10之间所有整数的和

本例要求计算1-10之间所有整数的和。可用for循环,也可用while循环,配合初始值为0的移位寄存器,可以很容易的求得计算结果为55。

使用for循环,设置循环次数为10次,程序框图代码如下图所示:

537933b3249ff0991089aa6eb8c6eb8d.png

使用while循环,终止条件在右键菜单中可设置为“真(T)时停止”或者“真(T)时继续”,程序框图代码分别如下图所示:

d5a1f50d14e0938ab59f55ef888eca2f.png

左图中终止条件设置为“真(T)时停止”,意味着当“i+1”的值即当前数值≥10时退出循环。

右图中终止条件设置为“真(T)时继续”,意味着只要“i+1”的值即当前数值<10时就一直执行循环。

实际上这两种方式是完全等价的,终止条件的设置完全取决于个人的编程习惯。

扩展示例2:如何在循环执行的过程中退出循环

在上例的基础上思考下面的问题,在计算1-10之间所有整数和的过程中,要求当数值加到5时就退出循环,即只计算1-5之间所有整数的和,在循环中如何实现?实际上这类似于C语言中的break语句的功能实现。

先看下for循环中的实现方法。在for循环边框的右键菜单中选择“条件接线端”,则在for循环内部自动添加一个类似while循环的终止条件,将“i+1”与5进行相等比较后的布尔值连接到这个终止条件上,就可实现要求的功能。程序框图代码如下图所示:

ce6599b5c25dda89bfc854ce968bc9c1.png

对于while循环实现则相对较简单,只需在终止条件上额外再添加一种退出情况即可,即修改后的终止条件改为,“i+1”的值只要满足“≥10”或者“=5”就要退出循环。程序框图代码如下图所示:

4ff2a06f19c90a6066cf4612fe505bd3.png

扩展示例3:如何在循环执行的过程中跳过本次循环

仍然在上例的基础上思考下面的问题,在计算1-10之间所有整数和的过程中,要求当数值等于5时不计入求和结果中,即只计算1-10之间除5以外所有整数的和,在循环中如何实现?这个问题实际上这类似于C语言中的continue语句的功能实现。

在LabVIEW语言的循环中并未直接提供continue语句功能的实现,但我们可以通过在循环内部嵌套条件结构,从而变相实现这个功能。

使用for循环实现时,在循环内部对当前“i+1”的值进行判断,当不等于5时,在移位寄存器中加入当前“i+1”的值,否则,移位寄存器的值保留为上次的值,程序框图代码如下图所示:

08b67a7640aa25f3cd1ed3b3c12a1053.png

使用while循环实现时,其思路完全类似,程序框图代码如下图所示:

ce87ff519c990688219d8c59b85cfd6b.png

总结

本文对于LabVIEW中的for及while循环结构,给出了其配合移位寄存器使用的基本编程方法,同时,也给出了类似C语言中“break”语句及“continue”语句的实现方法。从这儿可看出,高级编程语言之间都是相通的,如果你有了C或者其它编程语言的基础,那么,对比着理解学习LabVIEW将会是一件非常简单的事情。

本文由编码那些事原创,请关注+转发+收藏+点赞,带你一起长知识!

相关资源:LABVIEW应用实例55个
已标记关键词 清除标记
第1章 LabVIEW概述 1.1 虚拟仪器(VI)概念 1.2 LabVIEW环境 1.2.1 LabVIEW程序和相关程序 1.2.2 LabVIEW启动屏幕 1.2.3 面板和框图窗口 1.2.4 前面板窗口工具栏 1.2.5 框图程序窗口工具栏 1.2.6 弹出菜单 1.2.7 模板 1.3 LabVIEW帮助选项 1.3.1 帮助窗口 1.3.2 在线帮助 1.4 小结、提示和技巧 第2章 创建、编辑和调试VI 2.1 创建程序 2.1.1 前面板 2.1.2 数字控件和指示器 2.1.3 布尔量控件和指示器 2.1.4 数据流编程 2.2 编辑技术 2.3 调试技术 2.4 小结、提示和技巧 习题 第3章 创建子VI 3.1 基本概念 3.2 创建图标和连接器 3.2.1 图标 3.2.2 连接器 3.2.3 控件和指示器的连线端口分配 3.3 使用子VI 3.3.1 打开、操作和修改子VI 3.3.2 子VI节点的在线帮助 3.4 把所选择部分直接创建为子VI 3.5 小结、提示和技巧 第4章 循环和图表 4.1 While Loop循环 4.2 波形图指示器 4.2.1 单曲线显示 4.2.2 多重曲线显示 4.2.3 布尔开关的机械操作 4.2.4 增加延时器 4.3 移位寄存器 4.4 For Loop循环 4.5 小结、提示和技巧 习题 第5章 数组和图形 5.1 数组的基本概念 5.1.1 创建控制器数组和指示器数组 5.1.2 二维数组 5.1.3 创建常数数组 5.2 用循环建立数组 5.2.1 一维数组 5.2.2 创建二维数组 5.2.3 使用自动索引设置For循环循环次数 5.3 数组功能 5.4 函数的多形态操作 5.5 曲线图 5.5.1 单一曲线图 5.5.2 多重曲线图 5.5.3 XY曲线图 5.6 小结、提示和技巧 习题 第6章 Case和Sequence结构 6.1 Case 结构 6.2 Sequence结构 6.3 Formula Node结构 6.4 小结、提示和技巧 习题 第7章 字符串和文件I/O 7.1 字符串 7.2 字符串功能 7.3 文件I / O 7.3.1 简单文件VIs 7.3.2 中级文件VIs 7.3.3 高级文件I/O功能 7.3.4 向一个新的或已存在的文件存数据 7.3.5 从文件中读数据 7.3.6 Spreadsheets(电子表格)字符串和文件I/O 7.3.7 表 7.4 小结、提示和技巧 习题 第8章 VI选项 8.1 VI的建立 8.1.1 执行选项 8.1.2 窗口选项 8.1.3 文档选项 8.2 SubVI节点设置 8.3 小结、提示和技巧 第9章 数据采集 9.1 概述 9.1.1 模拟输入 9.1.2 数据采集装置的参数设置 9.2 数据采集VI的组织结构 9.3 模拟输入 9.3.1 波形(Waveform)输入 9.3.2 把波形以文件形式存储在磁盘上 9.4 模拟输出 9.5 扫描多路模拟输入通道进行数据采集 9.6 数字输入和输出 9.7 小结、提示和技巧 习题 第10章 仪器控制 10.1 仪器控制 10.1.1 串行通信 10.1.2 IEEE 488(GPIB)概述 10.1.3 软件结构 10.1.4 GPIB VIs 10.1.5 出错报告 10.1.6 VISA 10.2 用LabVIEW编写仪器驱动程序 10.2.1 仪器驱动程序模板 10.2.2 仪器驱动程序所用的字符串函数 10.3 小结、提示和技巧 习题 第11章 应用实例 11.1 概述 11.2 实例一:低通滤波器测试 11.2.1 问题的提出 11.2.2 系统结构 11.2.3 系统的误差综合 11.3 实例二:标准电阻器测试 11.3.1 问题的提出 11.3.2 测试系统结构 11.3.3 软件实现 11.3.4 误差综合
表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页