第3章LabVIEW的数据类型
LabVIEW中的数据类型和数据流
LabVIEW中的数据类型和数据流在计算机科学和工程领域,数据类型和数据流是编程语言中非常重要的概念。
而在使用LabVIEW这种基于图形化编程的开发环境时,了解和掌握LabVIEW中的数据类型和数据流对于开发和编程工作至关重要。
一、LabVIEW中的数据类型在LabVIEW中,数据类型决定了变量或对象可以存储的数据种类和数值范围。
以下是LabVIEW中常见的数据类型:1. 数字类型:包括整数类型和浮点数类型。
整数类型包括8位、16位、32位和64位整数,分别用I8、I16、I32和I64来表示。
浮点数类型有单精度(SGL)和双精度(DBL)。
2. 字符串类型:用于表示文本或字符序列。
字符串在LabVIEW中用文本项表示,可以进行各种文本操作和处理。
3. 数组类型:用于存储多个相同类型的数据元素。
数组可以是一维、二维或多维的,元素类型可以是任意LabVIEW支持的数据类型。
4. 簇(Cluster)类型:用于将不同类型的数据组合在一起形成复合类型。
簇可以包含数字、字符串、数组等各种数据类型,方便在程序中处理复杂的数据结构。
5. 枚举(Enum)类型:用于定义一组有限的可能值。
枚举类型在LabVIEW中用于定义状态、类型等具有离散取值的变量。
二、LabVIEW中的数据流在LabVIEW中,数据流是指程序中数据变量的传输和处理过程。
LabVIEW使用数据流来描述程序中不同任务和模块之间的数据传输关系,从而构成一个基于数据流的图形化程序。
1. 数据流图(Dataflow Diagram):LabVIEW的程序主要以数据流图的形式展示,数据流图由各种节点和线组成。
每个节点代表一个任务或功能模块,而线表示数据的传输路径。
2. 数据流控制:数据流控制是指确定数据在节点之间的传输顺序和方式。
在LabVIEW中,数据以数据流的形式从一个节点传输到另一个节点,通过控制数据流的传输顺序和方式,可以实现数据的同步和异步传输。
Labview 第三章 数据类型:数组、簇和波形
第三章数据类型:数组、簇和波形3.1概述数组是同类型元素的集合。
一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。
可以通过数组索引访问其中的每个元素。
索引的范围是0到n –1,其中n是数组中元素的个数。
图3-1所显示的是由数值构成的一维数组。
注意第一个元素的索引号为0,第二个是1,依此类推。
数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。
图3-1数组示意图簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。
它类似于C语言中的stuct。
使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。
减少子VI的连接端子的数量。
波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。
3.2数组的创建及自动索引3.2.1创建数组一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(数或字符串等)。
如果需要用一个数组作为程序的数据源,可以选择Functions»Array»Array Constant,将它放置在流程图中。
然后再在数组框中放置数值常量、布尔数还是字符串常量。
下图显示了在数组框放入字符串常量数组的例子。
左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个元素为:”ABC”,后两个元素均为空。
图3-1数组的创建在前面板中创建数组的方法是,从Controls模板中选择Array & Cluster,把数组放置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。
这样就创建了一个数值数组。
也可以直接在前面板中创建数组和相应的控制对象,然后将它们复制或者拖曳到流程图中,创建对应的常数。
还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。
3.2.2数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。
lABVIEW关于数据类型的编辑:数组、簇和波形
数据类型:数组、簇和波形.1概述数组是同类型元素的集合。
一个数组可以是一维或者多维,如果必要,每维最多可有231-1个元素。
可以通过数组索引访问其中的每个元素。
索引的范围是0到n – 1,其中n是数组中元素的个数。
图3-1所显示的是由数值构成的一维数组。
注意第一个元素的索引号为0,第二个是1,依此类推。
数组的元素可以是数据、字符串等,但所有元素的数据类型必须一致。
图3-1数组示意图簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。
它类似于C语言中的stuct。
使用簇可以把分布在流程图中各个位置的数据元素组合起来,这样可以减少连线的拥挤程度。
减少子VI的连接端子的数量。
波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍意义的数据类型,但非常实用。
3.2数组的创建及自动索引3.2.1创建数组一般说来,创建一个数组有两件事要做,首先要建一个数组的“壳”(shell),然后在这个壳中置入数组元素(如果需要用一个数组作为程序的数据源,可以选择Functions»Array»Array Constant,将它放置在流程图中。
然后再在数组框中放置数值常量、布尔数还是字符串常量。
下图显示了在数组框放入字符串常量数组的例子。
左边是一个数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个元素为:”ABC”,后两个元素均为空。
图3-1数组的创建在前面板中创建数组的方法是,从Controls模板中选择Array & Cluster,把数组放置在前面板中,然后选择一个对象(例如数值常量)插入到数组框中。
这样就创建了一个数值数组。
也可以直接在前面板中创建数组和相应的控制对象,然它们复制或者拖曳到流程图中,创建对应的常数。
还有很多在流程图中创建和初始化数组的方法,有些功能函数也可以生成数组。
3.2.2数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。
虚拟仪器 LABVIEW 第3章3-1
第2页
《虚拟仪器设计》
在同一硬件平台上,调用不同的测试软件就可构 成不同功能的虚拟仪器。例如:
对采集的数据通过测试软件进行标定,并在时间轴上 把对应的数据点显示出来,就构成了一台数字示波器; 对采集的数据利用软件进行FFT变换,并把各频率分 量幅值在频率轴上显示出来,则构成一台频谱分析仪 等。 通过信号分析与处理可求取信号的各种特征值,如峰 值、真有效值、均值、均方值、方差、标准差及频谱 函数、相关函数、概率密度函数等,可构成各种测试 仪器。
信号名称
图3-9 Simulate Signal.vi的参数设定对话框
第23页
《虚拟仪器设计》
(1)信号特性
首先选择周期信号类型和能够附加噪声信号的类型, 分别见图3-10和图3-11,然后设定信号的频率、幅值、 初始相角和直流偏置,噪声的均值、标准偏差等。
第24页
《虚拟仪器设计》
(2)采样时间特性和时间戳 采样时间特性选择:
《虚拟仪器设计》
虚拟仪器测试功能软件的主要内容
① 时域分析:测量时采集到的信号是一个时域波形。 ② 频域分析:测量时直接采集到的信号是时域波形,由 于时域分析的局限性,所以往往把问题转换到频域来处 理。基本方法是FFT。 ③ 相关分析:信号的相关分析是时(延)域中进行的一 种信号分析处理方法。 ④ 幅值域分析:信号的幅值域分析首先是对随机信号进 行统计分析,可以求得信号的均值、均方值、方差、概 率密度函数等。
在测试工程应用中还有这样一种情形:测量的信号是若 干个正弦信号或余弦信号的叠加,每个正弦信号或余弦 信号具有不同的频率、幅值和相位。
仿真信号发生器Simulate Signal.vi不能产生多个周期信 号叠加的波形,如果要实现这一功能,需要在每个单一 周期信号产生以后再进行叠加运算。
LabVIEW虚拟仪器第3章
通过局部变量实现
通过移位寄存器实现
反馈节点(Feedback Node)
通过反馈节点实现a++
4.3 While循环
两个参数:当前循环次数和条件布尔判断量;循环 次数由布尔量来判断决定。循环的条件有两种: “真
时停止”和“真时继续”。
添加定时器
3.2 波形显示—波形图表
Chart可以将新测得的数据添加到曲线的尾端, 从而反映实时数据的变化趋势,它主要用来显 示实时曲线。
右键菜单及属性框
带状 示波器 扫描图 图表 图表
对于标量数据,Chart图表直接将数据添加 在曲线的尾端。
对于一维数组数据,它会一次性把一维数组的 数据添加在曲线末端,即曲线每次向前推进的 点数为数组数据的点数。
波形数据控件位于控件选 板“All Controls—>I/O — >Waveform”
波形数据包括以下组成部分: 1)起始时间t0,为时间标识类型; 2)时间间隔dt,为双精度浮点类型; 3)波形数据Y,为双精度浮数据是一种预定义格式的簇,但是必须用 专用的波形数据操作函数才能对它进行操作,其中 某些操作函数与簇的操作函数非常类似。
结构功能相同,相互之间可以进行转换,右键 菜单中的“替换—>替换为平铺式/层叠式顺序”
在Stacked Sequence Structure的Frame间 传递数据 ,不能通过数据线直接传递,要借助 局部变量(右键菜单中的”添加顺序局部变量)
在Flat Sequence Structure的Frame间传递 数据,可以通过数据线传递,不需要局部变量。
簇作为输入时需要指定三个元素:起始位置x0、 数据点间隔dx和数组数据。
第3章LabVIEW中的数据类型
波形数据由三个元素构成:波形起始时刻t0;波形采样时间间隔dt;波形数 据Y。
第3章 LabVIEW中的数据 类型
•
时间标识
时间标识是LabVIEW中的一种特殊数据类型,用于输入时间和日期。时 间输入输出变量控件位于“控件→新式→数值”子面板中
第3章 LabVIEW中的数据 类型
•
时间标识
时间常量位于“函数→编程→定时”子面板中
2.特点 (1)近代中国交通业逐渐开始近代化的进程,铁路、水运和 航空都获得了一定程度的发展。 (2)近代中国交通业受到西方列强的控制和操纵。 (3)地域之间的发展不平衡。 3.影响 (1)积极影响:促进了经济发展,改变了人们的出行方式, 一定程度上转变了人们的思想观念;加强了中国与世界各地的 联系,丰富了人们的生活。 (2)消极影响:有利于西方列强的政治侵略和经济掠夺。
第3章 LabVIEW中的数据 类型
•
历史ⅱ岳麓版第13课交通与通讯 的变化资料
精品课件欢迎使用
[自读教材·填要点]
一、铁路,更多的铁路 1.地位 铁路是 交通建运设输的重点,便于国计民生,成为国民经济 发展的动脉。 2.出现 1881年,中国自建的第一条铁路——唐山 至开胥平各庄铁 路建成通车。 1888年,宫廷专用铁路落成。
电路与电子学基础第3章LabVIEW 数据类型(1)
3.1.2 布尔型控件
布尔控件代表一个布尔 值,只能是True或False
它既可以代表按钮输入, 也可以当作LED指示灯显 示。
7
3.1.2 布尔型控件
程序框图中要对布尔量进行操作可以选 择“函数选板”→“编程”→“布尔”, 得到 “布尔”子模板。
8
9
布尔型输入控件有一个重要的属性叫做机械动 作,这是模拟真实开关的一种开关控制特性。 机械动作定义了用鼠标单击按钮或开关时,其 值在什么时刻由1变为0,在什么时刻由0变为1。 用户可以在前面板上选定某个布尔型控件,点 击鼠标右键,将弹出快捷菜单。选择“机械动 作”,会显示下级菜单。将鼠标放置某个图标 上,上方将显示具体的动作类型,用户可以从 中选择需要的机械动作类型。
1第3章数据操作结构与节点?31基本数据类型231基本数据类型?vi程序框图中接线端以不同的图标和颜色来表示不同的数据类型输入控件显示控件数据类型默认值32位无符号整数32bitunsignedintegernumeric064位无符号整数64bitunsignedintegernumeric06464位时间标示6464bittimestamp当地时间日期枚举类型enumeratedtype布尔booleanflase字符串string空字符串331
<64.64>位时间标示(<64.64>bit time stamp)
枚举类型(Enumerated type) 布尔(Boolean)
字符串(String)
默认值
0
0 当地时间
日期 -
FLASE 空字符串
2
3.1.1 数字型控件
数字型控件的外观 可以五花八门,但 是程序框图中的操 作却是以其代表的 数据类型为准。
LabVIEW虚拟仪器技术第3章-基本数据类型
布尔控件
布尔串控件,位于 “控件”选板->“新式”>“布尔”中。
布尔函数
对布尔量实施操 作的函数称为布尔函 数,位于“函数”选 板->“编程”->“布 尔”中。
按钮与开关
布尔输入控件分为按钮型布尔控件和开关型 布尔控件。它们都是布尔输入控件,但物理意义 有所区别。
单位标签可以在快捷菜单->显示项->单位标 签从而显示,可自由输入物理单位符号,如时间 “h”,“s”,长度“m”等。也可于单位标签上 右键->创建单位字符串进行单位选择。
LabVIEW程序可实现不同单位的自动转换, 还可以通过运算自动处理组合单位。
数值控件的基数与单位标签
数值控件的属性
在快捷菜单上选择“属性”项,即可打开属 性对话框。属性对话框由许多属性页组成,涵盖 了大量的控件属性设置信息。
我们利用控件选板所提供的各种输入控件 和显示控件就可以达到”所见即所得”的效果。
从LabVIEW数据流编程的角度看,任何数 据都必须是有源的,这个源就是输入控件或常 量。常量可以理解为特殊的输入控件。而数据 最终流向的目的地就是显示控件。
从控件本身的角度看,LabVIEW只是推荐 了控件的使用方法,而并没有绝对区分控件必 须是输入控件还是显示控件,两者之间可以相 互转化。
线型与数据类型
LabVIEW中,不同的线型代表不同的数据类型。
在LabVIEW中,数值控件的数据类型是可以 改变的。当我们使用数值控件时,需注意正确使 用数据类型,避免程序发生错误。
编写求平均数程序: 程序能否运行? 程序能否实现功能?
Result为蓝色控件,其数据类型为整型数据, 程序计算结果会被强制转换为整形数。程序能运 行,但无法正确结果。
LABVIEW编程基础 第3章 LabVIEW的数据类型
字符串控件在默认情况下为正常显示状态显 示字符的一般形式,在字符串中可以直接输入回 车或空格键,系统自动根据键盘动作为字符串创 建隐藏的‘\’形式的转义控制字符。
图3-59
字符串输入与显示控件
字符串是LabVIEW中一种基本的数据类型。 路径也是一种特殊的字符串,专门用于对文件路 径的处理。 字符串型与路径子选板中共有三种对象供用户选 择:字符串输入/显示、组合框和文件路径输入/显示。
1.字符串控件
字符串控件用于输入和显示各种字符串。 右键单击字符串控件弹出的快捷菜单中,关于 定义字符串的显示方式有四种。
(2)索引数组
图3-17
索引数组函数接线端子
图3-18
使用索引数组函数索引数组中的元素和指定列或行或元素
(3)替换数组子集
图3-19
替换数组子集函数接线端子
图3-20
替换数组子集函数的使用
(4)数组插入
图3-21
数组插入函数接线端子
图3-22
数值插入函数的使用
(5)删除数组元素
图3-23
删除数组元素函数接线端子
第三章 LabVIEW的数据类型
陕西理工大学 物理与电信工程学院
1 CONTENTS
数据类型 数据运算选板 数组型数据
目 录
2 3 4
簇型数据 字符串型数据
5
1 CONTENTS
数据类型
数据运算选板
目 录
2 3 4
数组型数据
簇型数据
5
字符串型数据
3.1 数据类型
3.1.1 数值型控件
LabVIEW中的数据类型
第3章 LabVIEW中的数据类型
2018/11/24
精通LabVIEW虚拟仪器程序设计与案例实现
字符串型与路径
字符串也是LabVIEW一种常用的数据类型,LabVIEW提供了功能强大的 字符串控件和字符串运算函数,路径也是一种特殊的字符串,专门用于对文 件的处理。 字符串也有常量和变量,字符串变量位于前面板的“控件→新式→字符串 与路径”子面板中。 控件→新式→字符串与路径
精通LabVIEW虚拟仪器程序设计与案例实现
本章内容
基本数据类型 数据类型之间的转换 数学运算 字符串运算 布尔运算 簇数据操作 波形数据操作
第3章 LabVIEW中的数据类型
2018/11/24
精通LabVIEW虚拟仪器程序设计与案例实现
基本数据类型
LabVIEW除了具有一般的数据类型之外还有一些特殊的数据类 型,LabVIEW中不同的数据类型用不同的颜色和线型来表示。
第3章 LabVIEW中的数据类型
2018/11/24
精通LabVIEW虚拟仪器程序设计与案例实现
枚举型
枚举常量主要位于“函数→编程→数值”子面板中
第3章 LabVIEW中的数据类型
2018/11/24
精通LabVIEW虚拟仪器程序设计与案例实现
簇
簇数据是LabVIEW中一种集合型的数据结构,它对应于C语言等文本编程语 言的结构体变量。很多情况下,为了便于引用,需要将不同的数据类型组合成 一个有机整体。例如,一名学生的姓名、性别、年龄、成绩等数据项,都与这 名学生有关,只有把它们组合成一个组合项才能真正详尽地反应情况。簇正是 这样的一种数据结构,它可以包含很多种不同类型的数据,而数组只能包含同 一类型的数据。 可以把簇想象成一束电缆束,电缆束中每一根线代表一个元素。 簇可以包含多种不同的数据类型,如果簇内的元素都为数字型,则端口图标 显示为棕色;若包含其它的数据类型,则显示为粉红色。
labview课件第3章
18.Interleave 1D Arrays
将输入的一维数组进行插接。首先将所有一维数组的
第0个元素按顺序放在输出数组中;再将所有一维数组的第 1个元素按顺序放在输出数组中,依次类推。如果输入数组
的长度不同,则以最小长度为准对其他数组进行截取。
【例3.16】 将3个不同长度的一维数组插接。
19.Decimate 1D Array
【例3.12】 将一维数组分成两部分。
13.Sort 1D Array 将输入的一维数组按照升序排列。
【例3.13】 将一维数组按照升序和降序分别排列。
14.Array Max & Min
返回输入任意维数组的最大值和最小值,以及它们在数组
中的位置。当数组中有多个元素同为最大值或同为最小值时, 只输出第一个值所在的位置。
3.1 数组 3.2 簇 3.3 波形 习题3
3.1 数
3.1.1 数组的创建 成,数据类型隐含在数据中。
组
在LabVIEW中,数组由数据类型、数据索引和数据3部分组
数组控件
数组的创建:
第一步,从Controls模板中创建数组框架;
第二步,定义数组类型:
•第一种方法:直接将面板上已有的控制
【例3.20】 将不同数据类型的元素组成一个新簇;替换
簇中的某些元素。
3、按元素名称解包函数(Unbundle By Name)
普通的解包函数解包后只有将鼠标移到输出端子上才
能看到输出元素的名称,程序的可读性不高。该函数 可以根据名称有选择的输出簇内部元素。其中元素名
称就是指元素的Label。
实现的功能与Interleave 1D Arrays节点相反。
【例3.17】 将一个一维数组分解成多个一维数组。
LabVIEW中的数字型数据3数值的单位
LabVIEW 中的数字型数据3 - 数值的单位三、数值的单位1. 数值控件上的单位数值型控件和常量是可以带单位的。
在数值型控件的快捷菜单上选择“Visible Items -> Unit Label”,就可输入数值的单位。
如果你对某个单位的正确拼写没有把握,可以先任意输入一个字符,然后用鼠标右键点击单位标签,选择“Build Unit String…”。
这时,LabVIEW会弹出一个对话框,LabVIEW所支持的单位都在这里分类排出。
图1~3:使用数字控件的单位例如要计算2年有多少天,可以有如下的程序:图4,5:同类型单位的空间可以由数据传递2. 单位使数据类型检查更严格把一个I32 型的数据赋值给string 型的控件肯定是一种错误行为,程序员总是希望编译器在编译时就把这种错误报告出来。
虽然现在大多数编程语言都可以在编译时报告此类错误,但LabVIEW 数值类型的单位可以让这种检查更严格:实数与字符串之间不可以互相赋值;同样是实数型的俩个数据,一个表示时间,一个表示长度,他们之间也不应当相互赋值。
在编写LabVIEW 程序的时候,应当尽量使用带单位的数值控件。
因为,如果你给一个数据设置了单位,LabVIEW就会自动帮助你进行单位的一致性检查。
比如图6 所示,当你试图把表示时间的数据和表示长度的数据相加时,LabVIEW会禁止你连线。
着帮助你防止了编程时出现的不一致性错误。
图6:不同类型的数据不能进行计算但是,这种严格的一致性检查也可能会带来麻烦。
例如,我们编写了一个子VI,用于计算两个时间单位的和。
下次当我们需要一个计算长度单位的和的子VI时,却不能够直接使用已有的计算时间单位的子VI,因为它们的单位是不同的。
为了解决这个问题,LabVIEW 提供了单位统配符。
在编写需要用于不同单位的子VI时,可以使用单位通配符。
单位的通配符用$n 表示,其中n 是1 到9 之间任意一个数字。
例如我们以上提到的加法,可以在子VI 中使用通配符$1,如果还需要另外一个执行其他运算的子VI 中,其单位可以用$2 表示。
21.LabVIEW 中的数字型数据 3 - 数值的单位
LabVIEW 中的数字型数据3 - 数值的单位三、数值的单位1. 数值控件上的单位数值型控件和常量是可以带单位的。
在数值型控件的快捷菜单上选择“Visible Items -> Unit Label”,就可输入数值的单位。
如果你对某个单位的正确拼写没有把握,可以先任意输入一个字符,然后用鼠标右键点击单位标签,选择“Build Unit String…”。
这时,LabVIEW会弹出一个对话框,LabVIEW所支持的单位都在这里分类排出。
图1~3:使用数字控件的单位例如要计算2年有多少天,可以有如下的程序:图4,5:同类型单位的空间可以由数据传递2. 单位使数据类型检查更严格把一个I32 型的数据赋值给string 型的控件肯定是一种错误行为,程序员总是希望编译器在编译时就把这种错误报告出来。
虽然现在大多数编程语言都可以在编译时报告此类错误,但LabVIEW 数值类型的单位可以让这种检查更严格:实数与字符串之间不可以互相赋值;同样是实数型的俩个数据,一个表示时间,一个表示长度,他们之间也不应当相互赋值。
在编写LabVIEW 程序的时候,应当尽量使用带单位的数值控件。
因为,如果你给一个数据设置了单位,LabVIEW就会自动帮助你进行单位的一致性检查。
比如图6 所示,当你试图把表示时间的数据和表示长度的数据相加时,LabVIEW会禁止你连线。
这帮助你防止了编程时出现的不一致性错误。
图6:不同类型的数据不能进行计算但是,这种严格的一致性检查也可能会带来麻烦。
例如,我们编写了一个子VI,用于计算两个时间单位的和。
下次当我们需要一个计算长度单位的和的子VI时,却不能够直接使用已有的计算时间单位的子VI,因为它们的单位是不同的。
为了解决这个问题,LabVIEW 提供了单位统配符。
在编写需要用于不同单位的子VI时,可以使用单位通配符。
单位的通配符用$n 表示,其中n 是 1 到9 之间任意一个数字。
例如我们以上提到的加法,可以在子VI 中使用通配符$1,如果还需要另外一个执行其他运算的子VI 中,其单位可以用$2 表示。
Labview 数据类型和结构:详细说明
簇函数可以创建并操作簇。 举例来说,可执行类似下列的操作:
-从簇中提取一个数据元素。
-向簇中添加一个数据元素。
-将簇分解为单独的数据元素。
另外也可以使用捆绑函数来组装一个簇。捆绑与按名称捆绑函数可以修改簇;而解除捆绑与按名称解除捆绑则可以将簇 打散。
图 2. 将数值控件拖入数组框内 若要将一个无效的输入或显示控件拖入数组框中,则无法正确放置。 在程序框图中使用数组之前,必须在数组框中插入对象。 否则数组的接线端将为空,不会产生任何相关的数据类型。
2 维数组
上述范例为一维数组。 而二维数组则是以网格的方式存储数据。 它需要一个列索引和一个行索引来定位一个元素,且 二者都是以 0 作为起始。图 3 所示即为一个 8 行 8 列的二维数组,即具有 8 × 8 = 64 个元素。
簇中元素的顺序
虽然簇与数组中的元素均有顺序,但是只要使用解除捆绑函数就会将簇内的所有元素拆开。 您可以使用按名称解除捆 绑函数将簇内的元素按名称解除捆绑。 如果您使用按名称解除捆绑函数,簇中的每一个元素必须要有个标签(Label)。 与数组不同的是,簇的大小必须固定。 与数组相同的是,而且簇既可以是输入控件也可以是显示控件。 簇中不能同时 含有输入控件和显示控件。
创建簇常量
图 10.簇输入控件示例
若要在程序框图中创建簇常量,可以在函数选板上选择 Cluster Constant,将簇外框放置到程序框图上,然后在框内放 置一个字符串常量、数值常量、布尔常量或者簇常量即可。 您可以使用簇常量来存储数据或者作为与其它数组进行比 较的基准。
如果前面板上已有簇输入控件或显示控件,且您想创建一个包含相同元素的簇常量,那么您可以将簇从前面板拖拽至程 序框图;或者右键点击前面板上的簇,并选择 Create»Constant 即可。
labview的数据类型----无所不在的类型描述符 TYPE DESCRIPTOR
labview 的数据类型----无所不在的类型描述符TYPE
DESCRIPTOR
大家都知道,LV 是基于数据流的图形编程语言.我们在单步监视LV 的运行时,在连线的任何一处查看的它的数据都是相同的,确实有点数据流动的意思. LABVIEW 的连线颜色,线条粗细代表不同的数据,差别很大的两种类型是无法连接到一起的,可见,LV 在任何时刻都知道正在流动的数据类型,它是通过什么实现的那?
答案是:类型描述符.TYPE DESCRIPTOR
类型描述符包括那些内容那,我们从最简单地BOOLEAN看一下LABIEW 随时维护一个存储结构,其中包括类型描述符,可以看出,BOOLEAN 的存储结构是一个I16 数组,目前共有四个元素,
0x08 0x4021 0x0343 0x4243
第一个I16 是长度字节:4*2BYTE=8 BYTE
第二个I16 是分成高位字节和低位字节两部分:40 和21(HEX),其中40 是LV 保留部分,21 是BOOLEAN 的类型码,类型码是一一对应的(TYPE CODE)
第三个元素高位字节表示控件名字的长度,低位字节是名字第一个字母的ASCII,接下来是第二个字母和第三个字母.
这里把长度和类型码合在一起称做类型描述符(TYPE DESCRIPTOR) TYPE DESCRIPTOR:
所以类型描述符中包括了控件数据的类型和这个存储结构总长度,可以看出,我们例子中的BOOLEAN名称是ABC,对应的ASCII分别是
41,42,43.我们知道,BOOLEAN在内存中占一个字节,类型描述符中没有它的值,它的值体现在它所占的内存字节中,该字节为0,则为。
LabVIEW虚拟仪器程序设计及应用第3章 LabVIEW的数据类型
LabVIEW作为一种通用的编程语言, 与其他文本编程语言一样,它的数据操作 是最基本的操作。LabVIEW是用“数据流” 的运行方式来控制VI程序。
数据流是LabVIEW的生命,运行程序 就是将所有输入端口上的数据通过一系列 节点送到目的端口。LabVIEW主要的数据 类型包括标量类型(单元素),如数值型、 字符型和布尔型;还包括了结构类型(包 括一个以上的元素),如数组和群集。 LabVIEW数据控件模板将各种类似的 数据类型集中在一个子模板上以便于使用。
在此页面中可以设置数据类型和范围 等。用户应当注意的是,在设定最大值和 最小值时,不能超出该数字类型的数据范 围,否则,设定值无效。数据类型页面各 部分的功能如下。 (1)表示法 (2)定点配置
3.数据输入页面
用于为数值对象或输出设置数据范围。 使用默认界限:选中此选项时,可根 据所选的数据表示法设置默认的最小值、 最大值和增量值。取消勾选用户可指定数 据的取值范围。包括最大值和最小值的设 定。增量用于设置强制增量。
数值子选板中的基本数值函数选板
3.2.3 比较函数选板
比较函数选板包含在函数选板中的比 较子选板中,用户使用比较函数选板可以 进行数值比较、布尔值比较、字符串比较、 数组比较和簇比较,如图3-9所示。不同数 据类型的数据在进行比较时适用的规则不 同,下面就这些规则进行简单的介绍。
(5)多字符串显示 (6)开时文本 (7)关时文本 (8)文本颜色
2.操作页面
该页面用于为布尔对象指定按键时的 机械动作。 (1)按钮动作 (2)动作解释 (3)所选动作预览 (4)指示灯
3.2 数据运算选板 3.2.1 数值函数选板
数值函数选板包含在函数选板的数值 子选板中,该子选板中有类型转换节点、 复数节点、缩放节点和数学与科学常量节 点等,如图3-7所示。
《基于LabVIEW的数据采集与处理技术》课件第3章
当我们从多个通道连续采集数据时,默认情况下,数据 采集函数返回的数据是波形。图3-8所示的是由3个通道采集的 数据,这个波形数组包含3个成员,每个成员对应一个通道的 数据,其中,有采样开始时间t0、采样间隔dt和采样数据数组。
由于数据采集函数的参数多态,我们也可以使它们返回一 个二维标量数组。这个数组每列包含一个通道的数据,每行包 含一次扫描的数据,如图3-9所示。数据实际采集的顺序为 s0c0、s0c1、s0c2、s1c0、s1c1、s1c2、s2c0、s2c1、s2c2……
虚拟通道控件和虚拟通道常数的快捷菜单中都有一个I/O Name Filtering选项,选择该选项会弹出一个小对话框,用来 设置显示在通道下拉列表中的通道名类别。默认情况下显示模 拟输入通道。
使用虚拟通道时,数据采集函数的通道参数可以接受的数 据格式与图3-1相似。使用虚拟通道定址时不必再为数据采集 函数连接device输入参数,LabVIEW自动忽略这个参数。如果 不需要更改通道设置,那么也不必连接input limits或input config等参数。
物理通道地址不需要在管理与控制资源管理器(MAX)中进 行通道设置,而只要在程序中的数据采集函数的通道参数 Channel或Channels中写入通道号就能访问指定通道采集的数 据。在数据采集过程中按通道参数列出的顺序扫描通道,在数 据输出过程中按通道参数列出的顺序刷新。而数据采集卡的设 置直接对数据采集函数生效。
第 3 章 模拟信号的采集
在图3-3中,通道数组用3个成员指定了8个通道,极限数 组的3个成员与之对应。通道0、1、2和3的极限为-0.5~0.5; 通道4的极限为 -1~1;通道5、6、7的极限为-5~5。
如果在MAX中设置了通道,极限设置所用的单位就是通 道设置中用于某个特定通道名的物理单位。例如,我们在数据 采集向导中设置了一个通道的物理单位为Deg C,极限设置值 就被看做摄氏度。如果没有在MAX中设置通道,用于极限设 置的缺省单位值通常是伏特。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
第三章 LabVIEW的数据类型
3.1 数据类型 3.2 数据运算选板 3.3 数组型数据 3.4 簇型数据 3.5 矩阵数据 3.6 字符串型数据
3
3.1 数据类型
3.1.1 数值型控件 3.1.2 布尔型控件
3.1 数据类型
18
算术运算符举例
19
C=A+B =
文本编程语言
图形化编程语言
3.2.2 关系运算符
20
关系运算符举例
21
x>y
=
文本编程语言
图形化编程语言
3.2.3 逻辑运算符
22
逻辑运算符举例
23
x>y
=
文本编程语言
图形化编程语言
3.2.4 表达式节点(Expression Node)
24
小试身手
4
VI程序框图中接线端以不同的图标和颜色来表示不同的数据类型
输入控件 显示控件
数据类型
32位无符号整数 (32-bit unsigned integer numeric)
64位无符号整数 (64-bit unsigned integer numeric)
<64.64>位时间标示(<64.64>bit time stamp)
27
小试身手
28
4. 写一个温度监测器,如右图所 示,当温度超过报警上限,而且开 启报警时,报警灯点亮。温度值可 以由随即数发生器产生。
29
5.给定任意x, 求如下表达式的值
y
x5
c os x ex
30
3.3 数组(Array) 数组用于将相同类型的数据元素进行组合 数组的表示:元素(Elements)-最多可达231-1
图标
存储所占位数
数值范围
续表
63
0~1 844 674 407 309 551 615
32
0~4 294 967 295
16
0~65 535
8
0~255
8
数值类型 扩展精度浮点型 双精度浮点型 单精度浮点型
图标
续表
存储所占位数 128 64 32
数值范围
最小正数:6.48E−4 966 最大正数:1.19E+4 932 最小负数:−6.48E-4 966 最大负数:−1.19E+4 932
16
右击时间标志控件,从弹出的快捷菜单中,选“ 属性”,可以设置时间日期的显示格式和显示精度, 与数值属性的修改类似。
3.2 数据运算
17
3.2.1 算术运算符 3.2.2 关系运算符 3.2.3 逻辑运算符 3.2.4 表达式节点(Expression Node)
3.2.1 算术运算符
3.3.1 数组的创建
33
图3-11 创建的数值型一维数组
34
(a)拖曳边角添加数组元素
(b)拖动外边框添加数组元素
数组元素的添加方式
35
(a)二维数组
(b)显示更多的数组成员
增加数组维数及成员
增加数组维数
36
在数组壳左边的指针标记上弹出菜单,选择Add Dimension选项, 增加数组的维数
枚举类型(Enumerated type)
默认值
0
0 当地时间
日期 -
布尔(Boolean)
FLASE
字符串(String)
空字符串
3.1.1 数值型控件
5
数字型控件的外观可以 五花八门,但是程序框 图中的操作却是以其代 表的数据类型为准
6
表3-1
数值类型表
数值类型 有符号64位整数
图标
存储所占位数
最小正数:4.94E−324 最大正数:1.79E+308 最小负数:−4.94E−324 最大负数:−1.79E+308
最小正数:1.40E−45 最大正数:3.40E+38 最小负数:−1.40E−45 最大负数:−3.40E+38
9
数值类型 复数扩展精度浮点型
复数双精度浮点型 复数单精度浮点型
维(Dimensions) 数组的元素可以是任何类型,但不能是数组 数组元素的访问:索引(Index)
注意:Index从0开始
2019/9/10
3.3 数组(Array)
31
数组控件
数组控件
3.3.1 数组的创建
32
在前面板和程序框图中可以创建数值、布尔、路径、字符串、 波形和簇等数据类型的数组。
图标
续表
存储所占位数
数值范围
256
实部与虚部分别与扩展精度浮点型相同
128
实部与虚部分别与双精度浮点型相同
64
实部与虚部分别与单精度浮点型相同
10
3.1.2 布尔型控件
11
布尔控件代表一个布尔值,只 能是True或False
它既可以代表按钮输入,也可 以当作LED指示灯显示。
注意机械特性
数值范围
64
−18 446 744 073 709 551 616~ +18 446 744 073 709 551 615
有符号32位整数
32
−2 147 483 648~+2 147 483 647
有符号16位整数
16
−32 768~+32 767
有符号8位整数
8
−128~+127
7
数值类型 无符号64位整数 无符号32位整数 无符号16位整数 无符号8位整数
项,打开如下图所示的枚举型选项编 辑对话框。
3.1.4 时间类型
15
时间类型是LabVIEW中特有的数据 类型,用于输入或输出时间和日期。 时间标志控件位于控件选拔的“数值” 子选板中。时间常数位于函数选板的 “定时”子选板中。
单击时间日期控件旁 边的时间与日期选择 按钮,可以打开如上 图所示的时间和日期 设置对话。
25
1.编写一个VI求三个数的平均值, 如右图所示。
- 要求对三个输入控件等间隔并 右对齐,对应的程序框图控件 对象也要求如此对齐。
- 分别用普通方式和高亮方式运 行程序,体会数据流向。
- 单步执行一遍
26
2.写一个VI判断两个数的大小,如 右图所示:当A>B时,指示灯亮
3.写一个VI获取当前系统时间,并 将其转换为字符串和浮点数。这 在实际编程中会经常遇到。(用 到的函数都在 编程---定时, 编程--数值---转换,字符串—格式化日 期)
3.1.3 枚举类型
12
LabVIEW中的枚举类型和C语言中的枚举类型定义相同。它提供了一个选项 列表,其中每一项都包含一个字符串标识和数字标识,数字标识与每一选项
在列表中的顺序一一对应。
枚举型控件
13
同枚举控件单选按钮一样,可以作为条件结构的选择器
3.1.3 枚举类型
14
从上述的选板中选择枚举类型的输入 控件添加到前面板中,然后右击该控 件,从快捷菜单中选择Edit Items选