APP下载

LabVIEW中的程序结构

2023-01-24乐山师范学院电子信息与材料学院张幼麟

内江科技 2022年12期
关键词:框图分支节点

◇乐山师范学院电子信息与材料学院 张幼麟

LabVIEW是常用的虚拟仪器设计平台,本文介绍了其向用户提供的5种常用程序结构:顺序、分支、循环、事件响应和公式节点。通过对每种程序结构的特点与使用方法进行说明,总结了各个程序结构的适用范围与注意事项。

1 引言

随着计算机,尤其是个人电脑(PC机)的普及,给人们的生产生活带来了极大的便利,现代社会的正常运行离不开计算机的支持。利用计算机强大的运算能力可以对信号进行分析、处理,从而完成各种测试研究,具有这种功能的系统可以叫做虚拟仪器。LabVIEW就是一款常用的虚拟仪器程序开发平台。

2 LabVIEW简介

虚拟仪器的开发工具有两大类:基于传统的文本语言和基于图形化的编程语言。文本语言开发灵活、适用面广,但它要求较高的编程技术,相对难度大。图形化的程序语言(Graphics Language)不同于我们熟悉的编程语言,不是由文本代码组成,而是由一系列的图形框图组成;LabVIEW是它的典型代表。所以,LabVIEW把复杂晦涩的文本编程语言转变成了利用线条连接各种功能模块组成的图形程序。由此可见,LabVIEW形象、直观、容易上手;并且在LabVIEW中提供了大量的传统仪器(示波器、万用表等)的仿真控件、各种常用仿真信号源和信号处理模块,所以它特别适用于具有专业知识但缺乏编程经验的工程师。

3 程序结构

与传统的面向结构的语言不同,作为图形化的编程语言,LabVIEW采用数据流驱动的控制机制,各个模块之间的数据流向决定了程序的执行顺序。但是程序结构对于任何一种计算机编程语言来说都是十分重要的,它控制着整个程序语言的执行过程,一个好的程序结构,可以大大提高程序的执行效率。所以,在LabVIEW中,不仅支持基本的程序结构:顺序、分支、循环,还扩充了其他的程序结构:事件结构、公式节点、定时结构等;当然,各个结构也是图形化的。LabVIEW在程序框图中的函数模块的编程模块中提供了各种程序结构的功能模块。

3.1 循环结构

循环是计算机程序中必不可少的一个组成部分,一般由循环体和循环控制条件2部分组成。在LabVIEW中,提供了For循环和While循环两种程序结构,它们都是框图的形式,用户将需要重复执行的程序块(循环体)放置于框体中即可;2种循环结构差别在于控制条件不同。

在For循环的框图中有两个参数:N和i。N决定了总的循环次数,可由用户设置;i是循环计算器,表示的是已经循环执行的次数,如果用户需要时可调用,所以For循环常用于已知循环次数的循环控制。当循环次数不确定时可用While循环结构,While结构的框图中除了有i这个计数器外,还有一个条件接线端,由它来控制循环是否继续;条件接线端接收布尔变量,用户可以把它设置为真时继续或为真时停止。

3.2 条件结构

不同情况下不同的操作由分支结构来完成,LabVIEW中的条件结构模块提供了分支结构的控制功能。条件结构不似C语言中的if else这种典型的一分为二的结构,更相当于switch这种多路分支结构,用户可以根据自己的需求添加多个分支框图,不同的条件下执行不同的分支框图。

条件结构的条件由分支选择器来接收,可对分支选择器输入的数据类型有:布尔、字符串、整型或枚举数据类型。当分支选择器中的数据与每个分支框图的选择器标签相同时就会执行对应分支框图中的控制程序。需要注意的是,当条件结构需要输出数据时,每个分支框图都要有数据输出,否则就会造成整个条件结构无法正常运行。

3.3 顺序结构

在传统的文本程序语言中,没有跳转指令时,指令的执行是按照其位置的前后顺序来决定的,所以顺序结构是最基础的一种程序结构。但LabVIEW中程序执行的先后是靠着数据流经节点的动作来决定的;所以要强调程序执行的先后次序时就可以用LabVIEW提供的顺序结构来实现。

顺序结构由帧组成,用户可在每一个帧的框体中添加需要执行的程序,帧位置的前后就决定了这些程序执行的先后次序。LabVIEW提供了两种顺序结构:平铺式顺序结构和层叠式顺序结构;它们的功能相同,只是表达形式不同而已。顺序结构经常使用在需要统计某功能程序执行时间的应用中。

3.4 事件结构

一个事件可以理解为一个活动;事件可以来自用户(鼠标、键盘的操作)、外部的输入输出设备(数据采集完成、硬件错误等)和其他程序的控制来触发。对于缺乏编程经验的用户而言,要设计应用程序进行事件响应相对困难,而LabVIEW提供了简单方便的事件结构来进行响应控制;不过它只支持由用户和其他程序触发的两类事件。

右击事件结构功能图的框体,在出现的菜单中选择“编辑本分支所处理的事件”就可以方便的选择触发事件的源头,它可以是鼠标(系统提供了鼠标的按下、移到、滚轮滑动等各种操作)或键盘引发的窗格变化,也可以是程序框图中的存在控件,或者是其他的应用程序。这些源头发生了指定的变化时就可以执行事件结构框体中的程序模块,即进行事件响应。由此可见,通过LabVIEW系统提供的事件结构,可以快速方便的建立事件响应的控制设计模块。

3.5 公式节点

LabVIEW中还提供了公式节点这种程序结构,当LabVIEW平台提供的功能模块不能满足用户的灵活要求,而用文本代码能更加方便的时候,我们就可以使用公式节点来添加文本代码模块。在公式节点的框图的框体上可以方便的添加输入、输出的变量,在框体内中支持C语言,用户可以输入用C语言描述的算术表达式;并且公式节点还支持C语言的控制语句,比如for、while、if、switch等。公式节点经常使用于含有多个输入、输出变量或较为复杂的算术表达式。

4 结束语

LabVIEW作为虚拟仪器主要的编程设计平台,它以数据流的方式驱动程序的运行;但程序的结构设计依然是其一个重要的、基础的组成元素。本文介绍了LabVIEW支持的几种程序结构,除了其他文本编程语言常见的顺序、分支和循环控制结构外,LabVIEW还提供了事件结构和公式节点2种特有的程序结构,它们的出现使LabVIEW更加简单方便且灵活。

猜你喜欢

框图分支节点
CM节点控制在船舶上的应用
一类离散时间反馈控制系统Hopf分支研究
软件多分支开发代码漏合问题及解决途径①
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
巧分支与枝
电路图2017年凯迪拉克XT5
算法框图的补全
抓住人才培养的关键节点