《第3章LabVIEW的数据类型.ppt》由会员分享,可在线阅读,更多相关《第3章LabVIEW的数据类型.ppt(122页珍藏版)》请在三一办公上搜索。
1、基于LabVIEW的虚拟仪器设计,第三章 LabVIEW的数据类型,第三章 LabVIEW的数据类型,3.1 数据类型3.2 数据运算选板3.3 数组型数据3.4 簇型数据3.5 矩阵数据3.6 字符串型数据,3.1 数据类型,3.1.1 数值型控件3.1.2 布尔型控件,3.1 数据类型,VI程序框图中接线端以不同的图标和颜色来表示不同的数据类型,数字型控件的外观可以五花八门,但是程序框图中的操作却是以其代表的数据类型为准,3.1.1 数值型控件,表3-1数值类型表,续表,续表,续表,3.1.2 布尔型控件,布尔控件代表一个布尔值,只能是True或False它既可以代表按钮输入,也可以当作L
2、ED指示灯显示。,3.1.3 枚举类型,LabVIEW中的枚举类型和C语言中的枚举类型定义相同。它提供了一个选项列表,其中每一项都包含一个字符串标识和数字标识,数字标识与每一选项在列表中的顺序一一对应。,枚举型控件,3.1.3 枚举类型,从上述的选板中选择枚举类型的输入控件添加到前面板中,然后右击该控件,从快捷菜单中选择Edit Items选项,打开如下图所示的枚举型选项编辑对话框。,3.2 数据运算,3.2.1 算术运算符3.2.2 关系运算符3.2.3 逻辑运算符3.2.4 表达式节点(Expression Node),3.2.1 算术运算符,算术运算符举例,C=A+B,=,文本编程语言,
3、图形化编程语言,3.2.2 关系运算符,关系运算符举例,xy,=,文本编程语言,图形化编程语言,3.2.3 逻辑运算符,逻辑运算符举例,xy,=,文本编程语言,图形化编程语言,3.2.4 表达式节点(Expression Node),小试身手,1.编写一个VI求三个数的平均值,如右图所示。要求对三个输入控件等间隔并右对齐,对应的程序框图控件对象也要求如此对齐。添加注释分别用普通方式和高亮方式运行程序,体会数据流向。单步执行一遍2.写一个VI判断两个数的大小,如右图所示:当AB时,指示灯亮3.写一个VI获取当前系统时间,并将其转换为字符串和浮点数。这在实际编程中会经常遇到。,小试身手,4.写一个
4、温度监测器,如右图所示,当温度超过报警上限,而且开启报警时,报警灯点亮。温度值可以由随即数发生器产生。5.给定任意x,求如下表达式的值,3.3 数组(Array),数组控件,数组控件,3.3.1 数组的创建,在前面板和程序框图中可以创建数值、布尔、路径、字符串、波形和簇等数据类型的数组。,图3-11 创建的数值型一维数组,3.3.1 数组的创建,(a)拖曳边角添加数组元素,(b)拖动外边框添加数组元素,数组元素的添加方式,(a)二维数组(b)显示更多的数组成员增加数组维数及成员,3.3.2 数组函数,数组函数用于对一个数组进行操作,主要包括求数组的长度、替换数组中的元素、取出数组中的元素、对数
5、组排序或初始化数组等各种运算,LabVIEW的数组选板中有丰富的数组函数可以实现对数组的各种操作。函数是以功能函数节点的形式来表现的。,图3-14 数组函数选板,数组函数位于函数选板中“编程”子选板下的“数组”选板内,常用的数组函数如下所示。(1)数组大小,图3-15 数组大小函数接线端子,图3-16 数组大小函数的使用举例,(2)索引数组,图3-17 索引数组函数接线端子,图3-18 使用索引数组函数索引数组中的元素和指定列,(3)替换数组子集,图3-19 替换数组子集函数接线端子,图3-20 替换数组子集函数的使用,(4)数组插入,图3-21 数组插入函数接线端子,图3-22 数值插入函数
6、的使用,(5)删除数组元素,图3-23 删除数组元素函数接线端子,图3-24 删除数组元素的使用,(6)初始化数组,图3-25 初始化数组函数接线端子,图3-26 初始化数组的使用,(7)创建数组,图3-27 创建数组函数接线端子,图3-28 创建数组函数的使用,(8)数组子集,数组子集函数的接线端子如图3-29所示。其功能是返回数组中从索引开始的长度为设定长度的元素部分。,图3-29 数组子集函数接线端子,(9)数组的最大值和最小值,图3-30 数组的最大值和最小值函数接线端子,(10)重排数组维数,重排数组函数的接线端子如图3-31所示。其功能是任意类型的n维数组,在“n维数组”中输入维数
7、大小m,该函数把n维数组重整为m维数组后,在“m维数组中输出”。,图3-31 重排数组维数函数接线端子,(11)一维数组排序,图3-32 一维数组排序函数接线端子,(12)搜索一维数组,搜索一维数组函数的接线端子如图3-33所示。其功能是在一维数组中,从开始索引指示的位置开始搜索值与设定元素中的元素相等的元素。如果搜索成功,函数在索引中返回索引值;如果搜索失败则返回1。,(13)拆分一维数组,图3-33 搜索一维数组函数接线端子,图3-34 拆分一维数组函数接线端子,(14)反转一维数组,图3-35 反转一维数组函数接线端子,(15)一维数组移位,图3-36 一维数组移位函数接线端子,(16)
8、一维数组差值,图3-37 一维数组差值函数接线端子,(17)以阈值插值一维数组,图3-38 以阈值插值一维数组函数接线端子,(18)交织一维数组,图3-39 交织一维数组函数接线端子,(19)抽取一维数组,图3-40 抽取一维数组函数接线端子,3.3 数组(Array),数组函数举例,用Array Size 函数获得三维数组大小示例,1.创建3行4列二维数组1 2 3 45 6 7 89 10 11 122.将上面的数组转置1 5 92 6 103.索引第2行第2列元素,并替换第一行元素为0 2 4 64.把1中的数组拆成1 2 3 4和5 6 7 89 10 11 标题:名字_3月1日数组课
9、堂作业,3.4 簇(Cluster)LabVIEW中的结构体变量,簇是LabVIEW中比较独特的一个概念,但实际上它就对应于C语言等文本编程语言中的结构体变量。,3.4 簇(Cluster)LabVIEW中的结构体变量,3.4.1 簇的创建,通过簇控件实现的温度显示器,3.4.1 簇的创建,簇的创建方法与数组类似。簇位于控件选板中选择“新式”显示风格下的“数组、矩阵与簇”子选板中,找到簇的图标后,单击左键选择并将其拖曳到前面板适当位置创建一个簇,如图3-41所示。,图3-41 在前面板上创建簇,3.4.2 簇函数,(1)按名称解除捆绑(2)按名称捆绑(3)解除捆绑,图3-42 簇函数选板,图3
10、-43 按名称解除捆绑函数接线端子,图3-44 按名称解除捆绑函数的使用,图3-45 按名称捆绑函数接线端子,图3-46 按名称捆绑函数的使用,图3-47 解除捆绑函数接线端子,图3-48 解除捆绑函数的使用,(4)捆绑,图3-49 捆绑函数接线端子,图3-50 捆绑函数的使用(1),图3-51 捆绑函数的使用(2),(5)创建簇数组,图3-52 创建簇数组函数接线端子,图3-53 创建簇数组函数的使用,(6)簇至数组转换/数组至簇转换,图3-54 簇与数组转换函数接线端子,(7)变体,(a)数组至簇转换(b)簇至数组转换 图3-55 簇与数组之间转换函数的使用,簇操作函数使用示例,簇操作函数
11、使用示例,3.5 字符串型数据,3.5.1 字符串与路径 字符串是LabVIEW中一种基本的数据类型。路径也是一种特殊的字符串,专门用于对文件路径的处理。字符串型与路径子选板中共有三种对象供用户选择:字符串输入/显示、组合框和文件路径输入/显示。,1字符串控件,字符串控件用于输入和显示各种字符串。右键单击字符串控件弹出的快捷菜单中,关于定义字符串的显示方式有四种。,图3-57 字符串型与路径子选板图,(1)正常显示。(2)“”代码显示。(3)密码显示。(4)十六进制显示。,图3-58 字符串快捷菜单部分选项,字符串控件五种表达形式,表3-2代码转义字符列表,2路径控件,路径控件用于输入或返回文
12、件或目录的地址。路径控件与字符串控件的工作原理类似,但LabVIEW会根据用户使用操作平台的标准句法将路径按一定格式处理。路径通常分为以下几种类型。,(1)非法路径。(2)空路径。(3)绝对路径和相对路径。,3组合框控件,组合框控件可用来创建一个字符串列表,在前面板上可按次序循环浏览该列表。在字符串控件中最常用的是字符串输入和字符串显示两个控件。默认情况下创建的字符串输入与显示控件是单行的,长度固定。,字符串控件在默认情况下为正常显示状态显示字符的一般形式,在字符串中可以直接输入回车或空格键,系统自动根据键盘动作为字符串创建隐藏的形式的转义控制字符。,图3-59 字符串输入与显示控件,3.5.
13、2 列表与表格控件,用户可在前面板控件选板中找到“列表与表格”子选板,该选板包括了列表,表格,树形控件这三种表单形式,如图3-60所示。表格是由字符串组成的二维数组,由多个单元格组成,每个单元格可以输入一个字符串。学会熟练使用表格是记录测量数据和生成报表的基础。,图3-60 列表与表格,图3-61 表格控件及在表格中添加字符串的功能框图,通过使用LabVIEW的Express技术中的Express表格可以方便的构建表格,把数据加入表格中。列表框、多列列表框的使用方法和表格类似,不同的是表格控件输入和显示的是字符串,而列表框、多列列表框控件输入和显示的是长整型的数据类型。树形控件用于显示项目的层
14、次结构,默认情况下有多个列首和垂直线。,3.5.3 字符串函数,图3-62 程序框图中的字符串函数界面,(1)字符串长度,图3-63 字符串长度函数的使用,(2)连接字符串,图3-64 连接字符串函数的使用,(3)截取字符串,图3-65 截取字符串函数的使用,(4)替换子字符串,图3-66 替换子字符串函数接线端子,图3-67 替换子字符串函数的使用,(5)搜索替换字符串,图3-68 搜索替换字符串函数接线端子,图3-69 两种替换子字符串方法的实现,(6)格式化日期/时间字符串,图3-70 格式化日期/时间字符串函数接线端子,图3-71 格式化日期/时间字符串函数的使用,表3-3时间格式代码
15、列表,(7)扫描字符串,图3-72 扫描字符串函数接线端子,图3-73 扫描字符串函数的使用,(8)数值至小数字符串转换,图3-74 数值至小数字符串转换函数接线端子,图3-75 数值至小数字符串转换函数的使用,练习,1、对单个字符进行加密,规则是字母后移5位,例如A变为F,b变为g,x变为c,y变为d2、创建两个字符串输入控件并输入字符串,将其中一个字符串连接在另一个字符串后面,并输出连接后的字符串长度。3、从010之间随意取3个数,分别转换为一个字符,显示在不同的字符串显示控件中,同时将这3个数转换成的字符在另一个字符串中显示,并在两个数中间用逗号隔开。,练习1,对单个字符进行加密,规则是
16、字母后移5位,例如A变为F,b变为g,x变为c,y变为d,练习2,创建两个字符串输入控件并输入字符串,将其中一个字符串连接在另一个字符串后面,并输出连接后的字符串长度。,练习3,从010之间随意取3个数,分别转换为一个字符,显示在不同的字符串显示控件中,同时将这3个数转换成的字符在另一个字符串中显示,并在两个数中间用逗号隔开。,3.6 不同类型函数的综合应用,【例3-1】不同类型函数综合应用示例一。,图3-76 不同类型函数的综合应用(1),【例3-2】不同类型函数综合应用示例二。,图3-77 不同类型函数的综合应用(2),本章小结,本章主要介绍了LabVIEW中数组和簇等常用数据类型的使用。
17、数组的特点是数组中的所有元素的数据类型都是相同的,LabVIEW中提供了大量的数组函数、簇函数和字符串函数,读者可以使用这些函数来创建所需要的数据。,小试身手,1.为第5章的习题2连续温度采集监测添加报警信息,如下图所示,当报警发生时输出报警信息,例如“温度超限!当前温度78.23”,正常情况下输出空字符串。,小试身手,2.对字符串进行加密,规则是每个字母后移5位,例如A变为F,b变为g,x变为c,y变为d,小试身手,3.利用簇模拟汽车控制,如右图所示,控制面板可以对显示面板中的参量进行控制。油门控制转速,转速油门*100,档位控制时速,时速档位*40,油量随VI运行时间减少。,小试身手,4.产生一个33的整数随机数数组,随机数要在0到100之间,然后找出数组的鞍点,即该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。如下图所示:,