5 数据类型和结构详细说明剖析.docx
- 文档编号:23642836
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:12
- 大小:186.31KB
5 数据类型和结构详细说明剖析.docx
《5 数据类型和结构详细说明剖析.docx》由会员分享,可在线阅读,更多相关《5 数据类型和结构详细说明剖析.docx(12页珍藏版)》请在冰豆网上搜索。
5数据类型和结构详细说明剖析
数据类型和结构:
详细说明
字符串型
字符串是一系列可显示或者不可显示的ASCII字符。
字符串可以提供不依赖于平台的消息和数据格式。
字符串的主要应用包括:
-创建文本消息
-通过发送文本命令控制仪器,并以ASCII或者二进制字符串的格式返回数据值,这些值接着可以被转换为数值型
-将数值数据存储在硬盘上。
为了在ASCII文件中存储数值型数据,您必须在将数据存储至硬盘之前将数值型数据转换为字符串型。
-通过对话框引导用户
在前面板上,字符串可以通过表格、标签、文本输入框来表示。
LabVIEW内置的VI和函数,可以帮助您对字符串进行操作,包括格式化字符串、解析字符串等其它编辑操作。
LabVIEW使用粉色来表示字符串数据。
点击此处以进一步了解字符串型数据
数值型
LabVIEW中数值型数据包括浮点数、定点数、整数、无符号数以及复数。
双精度和单精度数以及复数在LabVIEW中都以橙色表示。
所有的整数以蓝色表示。
注意:
各种数值型数据的不同之处在于存储和表示数据时所使用的位数。
某些数据形式还可以提供扩展的配置选项,例如:
您可以为浮点型数据(包含复数类型赋予物理单位,您还可以为定点型数据配置编码和范围。
点击此处以进一步了解数值型数据
点击此处以了解数值型数据的表格
布尔型
LabVIEW使用8个数据位来存储布尔型数据。
布尔型数据在LabVIEW中代表0或1;真或假。
若8位都是0,则布尔值为假。
只要有任一位非0,则布尔值为真。
布尔型数据的常见应用包括代表数字数据,还可用于前面板输入控件作为带有一定机械动作的开关,来控制条件结构等执行结构。
布尔控件还通常用于作为退出While循环结构的条件。
在LabVIEW中,使用绿色代表布尔型数据。
点击此处以进一步了解布尔型控件的机械动作
动态数据类型
大多数的ExpressVI均可接受和/或返回动态数据类型,都以深蓝色来表示。
使用ConverttoDynamicDataVI和ConvertfromDynamicDataVI,即可转换下列类型的浮点型数据或布尔型数据:
-一维波形数组
-一维标量数组
-一维标量数组-最新值
-一维标量数组-单通道
-二维标量数组-以列为通道
-二维标量数组-以行为通道
-单个标量
-单个波形
动态数据类型应连接至可以最恰当地表示数据的显示控件,如图形、图表、数值、布尔显示控件等。
然而,由于动态
数据必须自动转换以匹配所连接的显示控件,所以ExpressVI常常会导致程序框图的执行速度变慢。
动态数据类型是为搭配ExpressVI使用的。
LabVIEW内建的多数的其它VI和函数则无法接受这种数据类型。
为了结
合内建VI和函数分析或处理动态数据,您必须对动态数据类型进行转换。
点击此处了解更多有关动态数据的信息
LabVIEW中的数据结构
有时,将相互关联的数据集合在一起,可以更方便处理。
在LabVIEW中,可以使用数组和簇来将相互关联的数据集合在一起。
数组将相同类型的数据集合在一个数据结构中,而簇则将多种类型的数据集成在一个数据结构中。
数组
数组由元素和维度组成。
元素是数组的基本组成部分。
维度是数组的长度、高度或深度。
数组中包含一个或多个维度,只要内存允许,最多可达231维,此时每一维仅有一个元素。
您还可以创建布尔值、数值、路径、字符串、波形以及簇的数组。
在需要使用大量的重复计算时,请使用数组来组织
同一类型的数据。
在存储波形或循环结构所产生的数据,即每个周期产生一个元素时,数组是理想的选择。
注:
LabVIEW中的数组索引都以0起始。
无论数组的维度如何,第一个元素的索引均为0。
数组中的元素均已排定顺序。
因此,在使用索引功能时,可以很容易地存取数组中的特定的元素。
由于索引是以0作
为起始的,也就是说范围是0~(n-1,其中n即为数组中元素的个数。
例如,n=12代表1年共有12个月,其索引
范围是0~11。
其中“三月”是第三个月,其索引值为2。
图1所示即为一个数值数组的范例。
数组第一个元素(3.00处于索引1的位置上;数组的第二个元素(1.00处于索引2的位置上。
在索引框中所显示的值,永远都是指最左上角的元素的索引值。
图1.数组索引显示,数值控件数组
创建输入控件和显示控件的数组
如图2所示,在前面板上添加一个数组框,然后将数据对象或元素(如数值或字符串控件拖入其中,即可添加输入控件或显示控件的数组。
图2.将数值控件拖入数组框内
若要将一个无效的输入或显示控件拖入数组框中,则无法正确放置。
在程序框图中使用数组之前,必须在数组框中插入对象。
否则数组的接线端将为空,不会产生任何相关的数据类型。
2维数组
上述范例为一维数组。
而二维数组则是以网格的方式存储数据。
它需要一个列索引和一个行索引来定位一个元素,且二者都是以0作为起始。
图3所示即为一个8行8列的二维数组,即具有8×8=64个元素。
图3.二维数组
如要在前面板上添加一个多维数组,右键点击索引显示框,并选择快捷菜单中的AddDimension。
您还可以重新调整维度显示的大小,直至达到想要的维度。
初始化数组
您可对一个数组进行初始化,或者不进行初始化。
在进行初始化之后,也可以各个维度中的元素的个数与内容。
一个
未经初始化的数组包含确定的维数,但是不包含任何元素。
图4所示,即为一个未经初始化的二维数组控件。
请注意
其元素均无法选择,表明此数组是未经初始化的。
图4.未经初始化的二维数组
图5则初始化了6个元素。
在二维数组中,若初始化某一行中的元素之后,这一行中的其它元素也将被初始化,且值
为此种数据类型的默认值。
以图5为例,若对第一列、第三行中输入一个元素4,则第三行的第二列和第三列将自动
地被初始化为0。
图5.一个经过初始化的、具有6个元素的二维数组
创建数组常量
若要在程序框图上创建一个数组常量,则可在函数选板上选择ArrayConstant,将数组框放置到程序框图上,然后在框内放置字符串常量、数值常量、布尔常量、以及簇常量。
您还可以使用数组常量存储数据或者作为与其它数组进行比
较的基准。
结合循环使用数组
自动索引数组输入
若要将数组连接至For循环或者While循环中,则可启用自动索引功能,即可将每一次循环与数组中的元素连接在一起。
此时,循环的隧道将从实心方块变成空心,以表明启用了自动索引功能。
在隧道上点击右键,并在快捷菜单中选择EnableIndexing或DisableIndexing,可以改变隧道的状态。
ArrayIn数组输入puts
若要启用连接至For循环的数组的自动索引功能,则LabVIEW可将循环的次数设定为数组的大小,因此无需连接循环计数的接线端。
由于For循环每次仅能处理数组中的一个元素,因此只要是连接至For循环的数组,LabVIEW就会默认启用自动索引功能。
若不需每次处理数组的一个元素,您可以关闭自动索引功能。
在图6中,For循环所执行的次数,等同于数组中的元素数量。
在一般情况下,若For循环的LoopCount没有连线,则Run箭头为断开的。
但是此时RunArrow箭头是完整的。
图6.使用数组来决定For循环的次数
若启用超过1个隧道的自动索引,或者连接了循环计数端,则循环的实际执行次数将取其中的最小值。
举例来说,若有2个自动索引的数组(分别具有10个、20个元素连接至循环,而循环计数端连接“15”,则循环的实际执行次数为10次。
这样,虽然可以索引第一个数组的所有元素,但是仅能索引第二个数组的前10个元素。
.
数组输出
当自动索引一个数组的输出隧道时,输出数组将从每一次循环取得新元素。
因此,自动索引输出数组的大小往往与循环的次数一致。
此时,连接输出隧道和数组显示控件的连线将变粗,表明它将输出一个数组,且输出隧道中将包含一个方框。
图7.输出自动索引
在循环隧道上点击右键,并在快捷菜单中的选择EnableIndexing或DisableIndexing,即可启用或关闭自动索引功能。
While循环的自动索引功能默认是关闭的。
举例来说,若要隧道仅输出最后一次循环的值,则需要停用自动索引。
创建二维数组
将一个For循环嵌入在另一个For循环中,即可创建二维数组。
外层的For循环可以创建行元素,而内层的For循环
可以创建列元素。
图8.创建一个二维数组
簇
簇可以将混合类型的数据集合在一起。
LabVIEW错误簇就是簇的常见范例之一,其中包含一个布尔值、一个数值以及
一个字符串。
簇类似于文本编程语言中的记录或者结构体。
将多个数据元素捆绑在一起,可以将程序框图上的连线更加简洁,并减少子VI的接线端的数量。
接线板可以有28个
接线端。
如果一个VI的前面板上有超过28个控件需要将值传递至另一个VI,则可以将其中的一部分集合到一个簇中,并为其分配一个接线端即可。
程序框图上的大多数簇都是粉色的连线与数据类型接线端。
错误簇则是暗黄色的连线与数据类型接线端。
数值类型的
簇(有时视为点则使用棕色的连线与数据类型接线端。
您可以将棕色的数值簇连接至数值运算函数(如加运算或求
方根,可以对簇中的所有元素同时进行运算。
簇中元素的顺序
虽然簇与数组中的元素均有顺序,但是只要使用解除捆绑函数就会将簇内的所有元素拆开。
您可以使用按名称解除捆
绑函数将簇内的元素按名称解除捆绑。
如果您使用按名称解除捆绑函数,簇中的每一个元素必须要有个标签(Label。
与数组不同的是,簇的大小必须固定。
与数组相同的是,而且簇既可以是输入控件也可以是显示控件。
簇中不能同时
含有输入控件和显示控件。
将多个数据元素捆绑在一起,可以将程序框图上的连线更加简洁,并减少子VI的接线端的数量。
接线板可以有28个
接线端。
如果一个VI的前面板上有超过28个控件需要将值传递至另一个VI,则可以将其中的一部分集合到一个簇中,并为其分配一个接线端即可。
程序框图上的大多数簇都是粉色的连线与数据类型接线端。
程序框图上的大多数簇都是粉色的连线与数据类型接线端。
数值类型的簇(有时视为点则使用棕色的连线与数据类型接线端。
您可以将棕色的数值簇连接至数值运算函数(如
加运算或求方根,可以对簇中的所有元素同时进行运算。
创建簇
输入控件与显示控件
只要将簇框添加到前面板(如图9所示上,再将数据对象或元素(可以是布尔、枚举、数组、数值、字符串、路径
以及簇控件拖拽至框内,即可在前面板上创建簇输入控件或显示控件。
另外,可以拖拽鼠标游标,即可改变簇框的
尺寸。
图9.创建簇输入控件
图10中的示例即是一个含有三个输入控件的簇,包含:
一个字符串、一个布尔开关以及一个数值控件。
簇可以是输入控件或者显示控件,但不能同时包含二者。
图10.簇输入控件示例
创建簇常量
若要在程序框图中创建簇常量,可以在函数选板上选择ClusterConstant,将簇外框放置到程序框图上,然后在框内放置一个字符串常量、数值常量、布尔常量或者簇常量即可。
您可以使用簇常量来存储数据或者作为与其它数组进行比较的基准。
如果前面板上已有簇输入控件或显示控件,且您想创建一个包含相同元素的簇常量,那么您可以将簇从前面板拖拽至程序框图;或者右键点击前面板上的簇,并选择Create»Constant即可。
使用簇函数
簇函数可以创建并操作簇。
举例来说,可执行类似下列的操作:
-从簇中提取一个数据元素。
-向簇中添加一个数据元素。
-将簇分解为单独的数据元素。
另外也可以使用捆绑函数来组装一个簇。
捆绑与按名称捆绑函数可以修改簇;而解除捆绑与按名称解除捆绑则可以将簇打散。
若右键点击程序框图中的簇,并选择快捷菜单中的Cluster,Class&Variant选板,即可在程序框图中放置捆绑、按名称捆绑、按名称解除捆绑等函数。
捆绑或解除捆绑函数将自动产生正确的接线端数量。
按名称捆绑与按名称解除捆绑函数,将出现簇中的第一个元素。
也可以通过位置调整工具来改变按名称捆绑和按名称解除捆绑函数的大小,以显示簇内的其它元素。
组装簇
捆绑函数可以将独立的元素组装成簇,或者改变现有簇中的个别元素值,而无需更新所有元素的值。
使用位置调整工具可以重新设定函数的大小,或者可以在元素输入端上点击右键后选择快捷菜单中的增加输入端。
图11.在程序框图中组装一个簇
修改一个簇
若要连接簇的输入,则只需连接需要修改的元素。
以图12中的输入簇为例,其中有三个控件。
图12.使用捆绑函数修改一个簇
图12所示,如果您已知簇中元素的顺序,您可以使用捆绑函数来连线,从而更改Command元素的值。
也可以使用按名称捆绑函数,以改变/获取现有簇中的已标记元素。
按名称捆绑函数的功能接近于捆绑函数,但不按照簇中的顺序来指定元素。
您只能使用带有标签的元素。
输入簇中元素的数量无需与输出簇中的元素数量一致。
可以使用操作工具来点击输入接线端,并在下拉菜单中选择一个元素。
您还可以使用右键点击输入接线端,并在快捷菜单中选择元素。
如图13所示,可以通过按名称捆绑函数来更新Command与Function的值,并以NewCommand与NewFunction的值取代之。
图13.通过按名称捆绑函数来修改簇
对于开发过程当中可能发生改变的数据结构,则可以使用按名称捆绑函数。
若要为簇添加新的元素,或者修改簇内元素的顺序,由于名称仍然有效,因此无需重新连接按名称捆绑函数。
解簇
解簇函数可以用于将簇分割为独立的元素。
按名称解除捆绑函数则可根据用户所指定的名称,返回簇内元素。
输出接线端的数量与输入簇中元素的数量并不一定相同。
可以使用操作工具来点击输出接线端,并在下拉菜单中选择一个元素。
您还可以使用右键点击输出接线端,并在快捷菜单中选择元素。
以图14为例,如果对簇使用解除捆绑函数,且该簇具有4个输出端点与簇中的四个控件相对应。
用户必须知道簇内元素的顺序,才能将簇分解后的布尔控件与簇内的开关控件对应起来。
在此例中,元素以Element0开始,从上到下为顺序。
若使用按名称解除捆绑函数,则输出接线端的数量可以任意指定,并可根据元素的名称来存取独立的元素,而无需依照其顺序。
图14.解除捆绑与按名称解除捆绑函数
枚举
枚举包含输入控件、常量与显示控件,是多种数据类型的集合。
枚举代表成对的值,分别是一个字符串和一个数值。
枚举中可以包含一组或多组的值。
举例来说,若创建一个枚举类型称为“Month”,则Month变量的值对可能为anuary-0、February-1,直到December-11。
图15则展示了枚举输入控件的属性对话框中的值对。
只要对枚举控件点击右键,选择EditItems即可直接使用此功能。
图15.Month枚举控件属性对话框与字符串相比,由于枚举可以很方便地在程序框图上操作数字,所以用途比较广泛。
图16所显示了上述Month枚举控件,所选的值对,以及相应的程序框图接线端。
图16.Month枚举控件,所选的值对,以及相应的程序框图接线端
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据类型和结构详细说明剖析 数据类型 结构 详细 说明 剖析