【LabVIEW学习篇 - 3】:程序结构——顺序结构、for循环、while循环

文章目录

顺序结构

LabVIEW中的顺序结构是一种常用的控制结构,用于按顺序执行程序的不同部分。顺序结构在程序中按照从左到右的顺序依次执行各个子结构,类似于传统的文本编程语言中的顺序执行。

案例一

案例一:基于LabVIEW学习篇 - 2中,天然并行运行部分列举的两个加减法程序,使用平铺式顺序结构,将以上这两个程序从并行运行变为顺序执行,加法执行后延时5s执行减法。

  1. 在程序框图中,鼠标右键,在结构 模块中选择平铺式顺序结构 ,按住鼠标左键,拉开合适的大小即可。

  2. 选中平铺式顺序结构,然后鼠标右键,选择在后面添加帧 ,添加两帧即可。

  3. 将加法程序和减法程序分别放在平铺式顺序结构的左右两段,在中间帧放入延时模块,即鼠标右键,在定时 模块选择等待 ,在这个控件的连接端口处点击鼠标右键,点击创建常量 ,即可输入延时时间(这样较为快捷)。

    Tips:如上图所示,若想整理程序,可选中想要整理的部分,点击右上角的整理程序的按钮即可。

  4. 运行程序,即可看到加法执行5s后减法才执行。

案例二

案例二:使用顺序结构,实现圆形指示灯的亮-灭-亮,中间间隔为1s。

  1. 在前面板中,鼠标右键,在布尔 模块中选择圆形指示灯

  2. 在程序框图中放置平铺式顺序结构,并在后面添加帧 ,将延时设置好。

  3. 如何将圆形指示灯 点亮呢?圆形指示灯只接收布尔值,即真或假,真-亮,假-灭。在圆形指示灯控件的连接部分,点击鼠标右键,选择常量,并点击该常量,即可进行TF的切换。

  4. 如何在后面的其他帧中修改前面的圆形指示灯的 呢?选中圆形指示灯,点击鼠标右键,选择创建-属性节点-值 ,接着将值放入到对应的帧中,再选中其值,点击鼠标右键,选择全部转为写入 ,接着在其连接处,点击鼠标右键,选择创建常量 ,并设置好常量即可。

  5. 最后一帧,也是同第四步的操作相同,若想快捷,也可复制粘贴。

  6. 最后运行,即可看到圆形指示灯亮-灭-亮。

Tips:若平铺式顺序结构过长,可选中该控件,鼠标右键,选择替换为层叠式顺序 ,即出现另一种展现该结构的方式。如下图所示。

for循环

在LabVIEW中,for循环是一种常用的结构,用于重复执行一段程序代码指定的次数或者基于一个数组的元素进行迭代。

案例:设置两个for循环,循环100次数设置为100次,第一个for循环实现圆形指示灯的亮灭,第二个for循环使用波形图表显示随机数,设置时间间隔为50ms。

  1. 在程序框图中鼠标右键,在结构 部分选择for循环 ,放置两个for循环,如下图所示。
    N为循环次数,i为for循环当前循环的次数。鼠标移动到N的位置,鼠标右键,选择创建常量 ,设置为100。鼠标移动到i的位置,鼠标右键,选择创建显示控件 ,即可看到前面板中出现显示控件。
  2. 实现第一个for循环,设置圆形指示灯亮灭。
  3. 实现第二个for循环,在前面板,鼠标右键,在图形 部分选择波形图表 ,在程序框图中,鼠标右键,在数值 部分选择随机数(0-1) ,将随机数(0-1)控件和波形图标连接,并设置延时为50ms。
  4. 运行结果如下图所示。(注意:for循环是从0开始)

while循环

while循环是一种常见的控制结构,用于根据特定条件重复执行程序的一部分。
条件控制:while循环根据一个逻辑条件的真假来决定是否执行循环体内的代码。只有当条件为假时,循环体才会重复执行。

  • 如下图所示为while循环,i为当前循环的次数,右下角的红色圆表示条件为真时停止循环,为假时开始循环。

  • 单击该红色圆,即变为空心的圆,表示条件为真时开始循环,条件为假时停止循环。

案例:在while循环中实现圆形指示灯的亮灭,时间间隔为50ms。

  1. 在程序框图中,鼠标右键,在结构 模块选择while循环 。在i处设置显示控件,在红色圆处点击鼠标右键,选择创建常量,设置为F
  2. 使用平铺式顺序结构,实现圆形指示灯的亮灭,并放入while循环中,最后运行结果如下。
相关推荐
sssammmm2 小时前
AI入门学习-模型评估示例讲解
人工智能·学习
淮北4943 小时前
STL学习(四、队列和堆栈)
开发语言·c++·学习
落羽的落羽3 小时前
【C++】论如何封装红黑树模拟实现set和map
数据结构·c++·学习
PerfumerKarma4 小时前
【WebGPU学习杂记】数学基础拾遗(2)变换矩阵中的齐次坐标推导与几何理解
学习·线性代数·矩阵
knight_20244 小时前
嵌入式学习日志————对射式红外传感器计次
stm32·单片机·嵌入式硬件·学习
go54631584655 小时前
基于分组规则的Excel数据分组优化系统设计与实现
人工智能·学习·生成对抗网络·数学建模·语音识别
●VON5 小时前
重生之我在暑假学习微服务第二天《MybatisPlus-下篇》
java·学习·微服务·架构·mybatis-plus
Yu_Lijing5 小时前
MySQL进阶学习与初阶复习第四天
数据库·学习·mysql
好学且牛逼的马7 小时前
学习随笔录
学习
我爱学嵌入式8 小时前
C语言第 9 天学习笔记:数组(二维数组与字符数组)
c语言·笔记·学习