LabVIEW入门(基础篇)

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

1.窗口介绍

LabVIEW程序分为前面板和程序框图两部分。前面板是用户交互界面,主要放置显示控件和输入控件;程序框图以图形化的方式表是程序逻辑,前面板和程序框图窗口都有各自的标题栏、菜单栏和工具栏。

LabVIEW入门(基础篇)

2.程序结构

为使程序具有更好的结构,程序易于设计和被理解,“结构化的程序结构”提出三种基本结构作为程序的基本单元,分别是顺序结构、选择结构、循环结构。本小节将介绍labview常用的三种基本程序结构。

2.1顺序结构

LabVIEW中提供了两种顺序结构平铺式顺序结构和层叠式顺序结构。平铺式顺序结构如下左图所示,首先在第一帧进行加法运算,然后在第二帧进行乘法运算,第一帧的加法函数输出端可以直接连接到第二帧的乘法函数的输入端。层叠式顺序结构与平铺式顺序结构不同的是,层叠式循序结构各个帧之间的数据通过顺序局部变量进行传递的,如需节省框图空间可使用层叠式顺序结构。

LabVIEW入门(基础篇)

2.2选择结构

选择结构的选择器接线端确定要执行的分支,接线类型有布尔型、数值型、字符串型和枚举型。布尔型选择器判断真假,数值型和字符串型选择器判断是否符合相应的分支条件。

LabVIEW入门(基础篇)

2.3循环结构

LabVIEW中有两种循环结构结构:for循环和while循环。for循环创建数组如下左图所示,矩形表示循环体,N 表示循环次数,i 表示当前循环次数,for循环在输出和输入数组时都有自动索引的功能,如果关闭索引循环体只会最后一次循环结果输出到循环外。while循环是由循环终止条件决定循环是否结束,点击循环终止条件端子可以更改为“真时停止”或者“真时循环”。

LabVIEW入门(基础篇)

3.数据类型

3.1数组

数组是一组相同类型数据的集合,是程序语言经常用到的一种数据类型。LabVIEW中的数组可以是数值型、布尔型、字符串型等数据类型中同类数据的集合。数组的创建可以通过前面板的数组输入控件写入,for循环创建和数组创建函数,在一维数组的基础上可以添加维度创建二维数组和三维数组。一维数组和二维数组可以展开,三维数组无法完全展开,赋值查看只能每页分别赋值或查看。下左图为数组大小函数,一维数组大小为一个数值,二维三维数组大小要用数组表示。

LabVIEW入门(基础篇)

3.2簇

簇是LabVIEW中一种特殊的数据类型,相当于C语言中的结构体变量,由不同数据类型的数据组成集合。数组中每个元素都有自己唯一对应的索引值,簇中的元素也有一定的排列顺序和序号,默认情况下是按照放入簇框的先后顺序进行排序,而不是按照位置顺序排序。如果需要对元素的序号进行更改,可以通过“重新排序簇中控件”修改,进入排序状态后,簇中每个元素出现两个并排的小框如下右图所示,白色框中数字表示该元素当前的顺序值,黑框中的数字表示用户改变的新顺序值。捆绑函数如下左图所示可以将独立元素合成簇,也可以改变现有簇中独立元素的值。也可以使用解绑函数分割簇控件,函数会按顺序显示与簇中元素相对应的输出端显示控件。

LabVIEW入门(基础篇)

3.3字符串

程序编写过程中,经常会用到字符串,LabVIEW中封装了很多功能丰富的字符串操作函数。字符串控件分为字符串输入控件、字符串显示控件和下拉框,显示方式有“正常显示”、“'\'代码显示”、“密码显示”和“十六进制显示”四种方式,另外还提供了一些字符串常量。如下图所示为判断输入的字符串的长度,并输出字符串的第二个字符,程序框图中包含“字符串长度”函数、“数值至十进制数字字符串转换”、“连接字符串”函数和部分字符串”函数。

LabVIEW入门(基础篇)

如下程序框图包含“数组至电子表格字符串转换”函数和“电子表格字符串至数组转换”函数,for循环创建3行4列的二维数组,数组中每个元素都是由随机数函数产生的0-1之间的随机数,“%1.4f”和“%s”为输入端接入电子表格的格式字符串。

LabVIEW入门(基础篇)

4.调试

前面板和程序框图都设计好之后,就需要对VI进行调试,检查程序运行过程中是否出现了错误,最后结果是否正确。调试VI主要用到的是工具栏中的“运行”按钮、“异常终止”按钮、“暂停/继续”按钮和“高亮执行”按钮。

LabVIEW入门(基础篇)

在运行调试之前首先查看VI有没有编译错误,如果有VI编译错误,“运行”按钮会变成“中断运行”按钮,单击“中断运行”按钮便会弹出错误列表窗口,窗口会显示错误条目和错误原因。双击一个具体的错误条目,会自动定位到该错误所在的程序框图中的位置。

如果程序运行的结果不正确,就可以单击工具栏中“高亮执行”按钮显示执行过程,以查看程序执行过程中的中间结果是否正确。LabVIEW的执行顺序是根据数据流执行,通过高亮显示执行过程可以看到数据流动状态,跟踪程序运行。在程序运行中,可以将鼠标指针移至要查看中间结果的连线上,放置探针查看程序运行的中间结果,该连线上回出现一个序号如上右图所示,序号与窗口的序号一一对应。

在VI函数中和结构内设置断点,可以使程序执行到断点时暂停执行,然后可用探针检查此时的数据是否正确。

使能结构用来控制程序是否执行,LabVIEW提供了两种使能结构:框图使能结构和条件使能结构。框图使能结构如下图所示,主要用来注释程序,相当于C语言中的注释语句。条件使能结构用于透过环境变量来控制程序是否执行,外部环境只有在项目中才用到,在项目属性中选择条件禁用符号,添加环境变量。

LabVIEW入门(基础篇)

5.文件操作

保存和读取文件数据时测试测量系统中必须具备的基本功能。LabVIEW中提供了多种输入输出函数用于文件的读取和保存,包括读/写文本文件、电子表格文件和二进制文件。本小节简单介绍几种使用简单并且常用的问津I/O函数的使用方法。

一般来说,要读写文件就需要打开一个文件或者创建一个新文件,因此需要用到“打开/创建/替换文件”函数。

此外无论时读取还是写入文件,在打开或者新建文件后都返回了文件的引用,“写入文本文件”函数可以将字符串或者字符数组按行写入文件,如果该函数直接连接文件路径至“文件”输入端,函数将先打开或者创建文件,然后将内容写入并替换先前的文件内容,如果连接文件引用句柄至“文件”输入端,函数将会从文件的当前位开始写入数据。

如果要在现有文件后添加内容,可使用“设置文件位置”函数,将文件内容设置在文件结尾。

对文件操作完成之后需要将引用关闭,这是就需要用到“关闭文件”函数。下图所示为向文本文件写入数据。

LabVIEW入门(基础篇)

向文件中读取数据需要用到“读取文本文件”函数,连接文件路径至该函数的输入端,会以只读的方式打开文件,然后从文本文件中读取指定数目的字符或者行。

6.子VI

LabVIEW中VI类似与文本编程语言中的函数或者子程序,如果要构建大型程序,在程序框图中有太多的连线、节点图标,这是可以将其一部分程序组成一个子VI,可以被多个VI调用,是程序更简洁,从而使应用程序的调试、理解和维护更加容易。

6.1创建子VI

新建一个空白的VI,在程序框图中编辑一个简单的程序,本小节创建一个简单的登录窗口程序并调用该子VI如下图所示,然后选择编辑图标进入图标编辑器,通过图标编辑器左侧的画图工具编辑特有的图标样式,接下来定义接线端选择接线端子的模式,也可以用户自行定义,最后定义接线端子完成操作。

LabVIEW入门(基础篇)

6.2调用子VI

在需要用到的子VI的地方选择“选择VI”,从弹出的文件打开对话框中打开之前保存的子VI。程序调用子VI后要对子VI节点进行设置。“加载时打开前面板”指在程序加载子VI时要打开前面板,“调用时显示前面板”指在程序执行到子VI的位置要对子VI进行调用时打开前面板,“调用时挂起”指程序调用子VI时会打开前面板,且面板处于挂起状态。

上一篇:LabVIEW读写各类格式图像的方法(基础篇—1)


下一篇:opencv与labview的结合(升级版:彩色图像的传输)