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中的波形数据
LabVIEW中的波形数据与其他基于文本模式的编程语言不同,在LabVIEW中有一类被称为波形数据的数据类型,这种数据类型更类似于“簇”的结构,由一系列不同数据类型的数据构成。
但是波形数据又具有与“簇”不同的特点,例如它可以由一些波形发生函数产生,可以作为数据采集后的数据进行显示和存储。
这一节将主要介绍创建波形数据以及处理波形数据的方法。
1 波形数据的创建LabVIEW中的波形数据既可以由一些用于产生波形的函数、VIs以及Express VIs生成,也可以由数据采集函数从数据采集卡中采集数据而得到。
下面主要介绍用函数、VIs以及Express VIs生成波形数据的方法。
在LabVIEW中,与创建波形数据相关的函数、VIs以及Express VIs主要位于函数选板中的波形(Waveform)子选板以及信号处理(Signal Processing)子选板中,两个选板分别如图6-19以及图6-20所示。
图6-19 波形子选板图6-20 信号处理子选板下面介绍一些常用的用于产生波形数据的函数、VIs以及Express VIs的使用方法。
1.基本函数发生器函数(Basic Function Generation.vi)基本函数发生器函数可以产生正弦波、锯齿波、方波和三角波四种波形,并可以任意设定波形的频率、幅值、相位以及偏移量(叠加的直流分量)等属性。
图6-21所示的程序演示了基本函数发生器函数产生多种波形的方法,在例程中,用户可以指定波形的类型(正弦波、锯齿波、方波或三角波)、幅值、频率、相位以及叠加的直流分量的幅值等属性,根据这些属性生成相应的波形。
程序的后面板如图6-22所示。
图6-21 基本函数发生器函数演示程序的前面板图6-22 基本函数发生器函数演示程序的后面板2.调谐与噪声波形发生函数(Tones and Noise Waveform.vi)调谐与噪声波形发生函数用以产生多个一定频率、幅值、相位的正弦信号叠加的波形数据,同时可以模拟噪声和直流分量,并叠加到已有的波形数据上面。
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数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。
03-labview数组、簇与、曲线图与结构体
function “Tick Count (ms)”
函数 “Tick Count (ms)”的功能:输出毫 秒计数器的当前值 2^32-1(ms)=1193.04647083…小时
Sequence Structures
In the Execution Control subpalette of Functions palette Executes diagrams sequentially Right-click to add new frame
子框架名称(case selector label)
Case Structure
True The value is valid. Square Root
输入通道(input tunnel)
输出通道(output tunnel)
Case Structure
对于流入selector terminal的所有可能值,均要 有相应的处理子框架 当某个子框架建立了输入通道后,也即给所有 的子框架建立了一个输入通道,其它的子框架 均可从该输入通道中获得数据。 给某个子框架建立了输出通道后,也即对所有 的子框架建立了一个输出通道,必须要在其它 的全部子框架中对输出通道进行赋值
Bundle By Name
Cluster Functions
Unbundle
Unbundle By Name
Unbundled cluster in the diagram
Error Cluster
Conditional Terminal
Loops
While Loops
Have Iteration Terminal Always Run at least Once Run According to Conditional Terminal
LabVIEW编程基础(中)
LabVIEW的基本控件与基本函数LabVIEW基本控件:数值、布尔、字符串与路径、数组与簇、图形、枚举1、数值:数值输入控件与数值显示控件(数值输入控件有增量/减量按钮;输入为白色背景,输出为灰色背景)默认数据类型为:双精度,橙色。
2、布尔:值默认为False,图标为绿色。
布尔控件的机械动作属性单击时转换:按下按钮时改变状态,再次单击后恢复原状态。
与VI是否读取控件无关。
(可赋值恢复)类似开关按钮释放时转换:按下按钮时保持当前状态,直到释放按钮,再次单击后恢复原状态。
与VI是否读取控件无关。
(可赋值恢复)类似开关按钮保持转换直到释放:按下按钮时改变状态,直到释放按钮,,再次单击后恢复原状态。
与VI 是否读取控件无关。
(可赋值恢复)。
类似开关按钮单击时触发:按下按钮时改变状态,LabVIEW再次读取控件值后返回原状态。
释放时触发::按下按钮时保持当前状态,释放时改变状态,LabVIEW再次读取控件值后返回原状态。
保持触发直到释放:按下按钮时改变状态,直到释放按钮,LabVIEW再次读取控件值后返回原状态。
3、字符串与路径:(字符串输入控件与字符串显示控件),粉色。
4种显示方式(正常显示、’\’代码显示、密码显示、十六进制显示)4、数组:依据加入的控件类型同样分为输入控件与显示控件LabVIEW的数组以索引号0表示数组的首个数据。
增加数组维度的方法:(1)索引框的快捷菜单中->增加维度(2)直接向下拖动索引框(3)属性对话框->外观选项卡->维数组中的元素为同类型的控件,可以是各种类型的控件,但不能是数组的数组。
数组的多态性:5、簇:依据加入的控件类型同样分为输入控件与显示控件簇本身的属性:重新排序簇中控件、自动调整大小(无、调整为匹配大小、水平排列、垂直排列)使用簇结构时,尽可能的使用:严格自定义类型。
错误簇:状态(布尔)、代码(数值输入)、源(字符串输入)6、波形图表(Chart)与波形图(Graph):波形图表有一个“先入先出的缓冲区(默认为1024个数据)”,所以特别适合实时显示数据。
labview完整教程详细解答
第一讲:认识Labview1.1 Labview 简介在开始菜单里找见NI Labview7.1 点击打开,会出现如下界面:从File>>New VI 或者从右半部分中的New>>Blank VI 都可以打开如下界面:上图中前图是虚拟仪器的前面板,是用户使用的人机界面,后面的是程序框图界面(即后面板)。
在LabVIEW的用户界面上,应特别注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函数(Functions)模板。
这些模板集中反映了该软件的功能与特征。
下面我们来大致浏览一下。
工具模板(Tools Palette)该模板提供了各种用于创建、修改和调试VI程序的工具。
如果该模板没有出现,则可以在Windows菜单下选择Show ToolsPalette命令以显示该模板。
当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。
当从Windows菜单下选择了Show Help Window功能后,把工具模板内选定的任一种工具光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。
工具图标有如下几种:图标名称功能1Operate Value(操作值)用于操作前面板的控制和显示。
使用它向数字或字符串控制中键入值时,工具会变成标签工具2Position/Size/Select (选择)用于选择、移动或改变对象的大小。
当它用于改变对象的连框大小时,会变成相应形状。
3Edit Text(编辑文本)用于输入标签文本或者创建自由标签。
当创建自由标签时它会变成相应形状。
4Connect Wire(连线)用于在流程图程序上连接对象。
如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。
5ObjectShortcut Menu(对象菜单)用鼠标左键可以弹出对象的弹出式菜单。
6ScrollWindows(窗口漫游)使用该工具就可以不需要使用滚动条而在窗口中漫游。
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入门教程(初学者必看)
Labview入门教程亚为电子科技说明:1、不同labview版本,内容大同小异,不要过于核对图标2、必须先安装labview,亚为的资料,版本不低于2014,如果是串口通信,还要安装NIVISA520。
3、直接打开亚为用户资料的“labview例程/****例程”,看到的是前面板,也就是交互界面。
界面可以自行修改,注意右键->数据操作->保存默认参数。
4、波形图上右键,可以导出或者另存数据。
高速采集模式下,yav 例程不自动保存,需要手动导出。
高速模式下,不要采集时间过长,否则系统崩溃,会内存溢出甚至蓝屏死机。
5、如果需要修改算法逻辑,按下Ctrl+E即可打开程序框图界面。
里面的数学符号,仔细研究下,就应该能认识。
看懂加减乘除即可。
6、这个文档认真看十遍,你就是Labview编程高手啦,亚为科技不负责labview编程指导哦。
高手都是自学的。
第一讲:认识Labview1.1 Labview 简介在开始菜单里找Labview点击打开,会出现如下界面:从File>>New VI 或者从右半部分中的New>>Blank VI 都可以打开如下界面:上图中前图是虚拟仪器的前面板,是用户使用的人机界面,后面的是程序框图界面(即后面板)。
在LabVIEW的用户界面上,应特别注意它提供的操作模板,包括工具(Tools)模板、控制(Controls)模板和函数(Functions)模板。
这些模板集中反映了该软件的功能与特征。
下面我们来大致浏览一下。
工具模板(Tools Palette)该模板提供了各种用于创建、修改和调试VI程序的工具。
如果该模板没有出现,则可以在Windows菜单下选择Show Tools Palette命令以显示该模板。
当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。
当从Windows菜单下选择了Show Help Window功能后,把工具模板内选定的任一种工具光标放在流程图程序的子程序(Sub VI)或图标上,就会显示相应的帮助信息。
基于labview的数组、簇和波形
单曲线和多曲线XY Graph
多曲线波形Graph
图形显示举例
创建一个VI来测量温度并将测量结果显示在 波形图表中。
设计一个VI来测量温度,每隔0.25秒测一次,共测 定10秒。在数据采集过程中,VI将在波形Chat上实 时地显示测量结果。采集过程结束后,在Graph上 画出温度数据曲线及最佳拟合曲线,并算出温度的 最大值,最小值和平均值。
数组函数举例
设计一个三基色的混色器
设计一个VI,产生8个随机数组成的数组,先倒序排 列,按从小到大排列,并且求出最大值、最小值。
使用 For 循环的自动索引功能创建数组,并 用一个图形(Graph)显示该数组
更多例子请参考labview软 安装路径下:
……\\LabVIEW8.6\exmaples \general\Arrays.llb
生成数 组行
生成数 组列
课后思考并练习
如何用while循环创建一维或二维数组?
1.用while循环创建数组时,要打开自动索引; 2.While循环是在运算之后检查条件端子; 3.要设置停止的条件。
1.数组大小 Array Size
数组函数子模板
2.数组检索 Index Array
3.替换数组元素Replace Array Subset
4.插入数组元素 Insert Into Array
5.删除元素 Delete From Array
6.初始化数组Initialize Array
7.创建数组 Build Array
8.子数组 Array Subset
9.一维数组循环移位.Rotate 1D Array
10.一维数组倒置 Reverse 1D Array
LabVIEW(十):数组和簇
LabVIEW(⼗):数组和簇★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★⼀、数组1、创建数组(1)、前⾯板右键>“数组、矩阵与簇”>数组。
(2)、前⾯板右键>(选择要添加的数组数据类型,⽐如创建数值数组)数值>将“数值输⼊控件”拖⼊数组中。
(3)、选中数组右键>表⽰法>”DBL(双精度)”或“I32(长整型)”等,根据需要修改。
2、查看数组⼤⼩:(前⽂已有赘述)选中索引框右键>⾼级>显⽰最后元素3、改变数组的维度选中索引框>“添加维度”或“删除维度”4、数组的初始化将数组的“数值输⼊控件”往下拖拉以显⽰更多元素,在输⼊控件中填⼊数值。
初始化完毕。
5、“数组⼤⼩”函数:返回数组每个维度中元素的个数程序框图右键>数组>数组⼤⼩>为“数组⼤⼩”创建显⽰控件>连接需要获得数组⼤⼩的数组。
6、“创建数组”函数:连接多个数组或向N维数组添加元素。
(1)、程序框图右键>数组>创建数组(2)、将“创建数组”向上/下拖动可显⽰更多输⼊端。
也即:选中“创建数组”右键>”添加输⼊”或”删除输⼊”。
(3)、可输⼊单个“数值输⼊控件”(在前⾯板中添加),也可以输⼊数组。
7、添加的数组:“创建数组”创建的显⽰控件。
(1)、选中“创建数组”右键>(勾选)连接输⼊:两个N维的数组连接之后仍是N维数组。
(2)、选中“创建数组”右键>(未勾选)连接输⼊:两个N维的数组连接之后是2N维数组。
8、“数组插⼊”函数:在n维数组中索引指定的位置插⼊元素或⼦数组。
(1)、程序框图右键>数组>数组插⼊。
(2)、将“数组插⼊”向上/下拖动可显⽰更多输⼊端。
但不像创建数组那样有快捷菜单。
(3)、要添加索引的位置:“数组插⼊”右键>创建>常量。
可省略此项,省略该项则添加到数组末尾。
(完整版)《LabVEW编程及虚拟仪器设计》课程说明
《LabVIEW编程及虚拟仪器设计》课程说明一、概要课程编号:80220142开设学期:春季对象:全校研究生人数:30二、课程内容虚拟仪器是当前仪器与测量发展的一个重要方向,它为各学科提供了一个通用的测量及仪器的设计研究环境,同时它也是学生多门理论课程融合、理论与实践结合的一个很好的环节。
LabVIEW是当前用于数据采集、信号处理和虚拟仪器开发的一个标准工具。
本课程将介绍虚拟仪器的概况,LabVIEW语言、数据采集和虚拟仪器设计。
课程2/3的时间用来在教师指导下完成一到两个虚拟仪器或数据采集系统的设计。
学生所完成的设计成果及技术文档是评定成绩的主要依据。
鼓励学生在设计过程中的创造性工作。
该课程的教学在虚拟仪器实验室进行,每个实验组都配备NI公司的数据采集卡、LabVIEW开发环境及必要的外部设备。
学生可以带自选的设计选题参加。
课程面向全校各系学生开设。
选修该课的学生应当有计算机、数据采集、电工电子和信号处理以及各自研究方向有关测试技术的的基本知识。
三、教学大纲第一章虚拟仪器及LabVIEW入门1.1虚拟仪器概述1.2LabVIEW是什么?1.3LabVIEW的运行机制1.4LabVIEW的初步操作1.5图表(Chart)入门第二章程序结构2.1循环结构2.2分支结构:Case2.3顺序结构和公式节点第三章数据类型:数组、簇和波形(Waveform)3.1数组和簇3.2数组的创建及自动索引3.3数组功能函数3.4什么是多态化(Polymorphism)?3.5簇3.6波形(Waveform)类型第四章图形显示4.1概述4.2Graph控件4.3Chart的独有控件4.4XY图形控件(XY Graph)4.5强度图形控件(Intensity Graph)4.6数字波形图控件(Digital Waveform Graph)4.73D图形显示控件(3D Graph)第五章字符串和文件I/O5.1字符串5.2文件的输入/输出(I/O)5.3数据记录文件(datalog file)第六章数据采集6.1概述6.2模入(Analog Input)6.3模出(Analog Output)6.4采样注意事项6.5附:PCI-MIO-16E-4数据采集卡简介第七章信号分析与处理7.1概述7.2信号的产生7.3标准频率7.4数字信号处理第八章LabVIEW程序设计技巧8.1局部变量8.2全局变量8.3属性节点8.4程序流控制8.5触发与同步第九章数字IO和计数器9.1基本知识9.2数字I/O简介9.3计数器第十章测量专题四、上课及实验地点:西主楼1-301五、实验室环境共17组,每组提供:计算机一台,其中配有NI公司MIO-16E-4采集卡一块,LabVIEW等语言。
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 数据类型和结构:详细说明
簇函数可以创建并操作簇。 举例来说,可执行类似下列的操作:
-从簇中提取一个数据元素。
-向簇中添加一个数据元素。
-将簇分解为单独的数据元素。
另外也可以使用捆绑函数来组装一个簇。捆绑与按名称捆绑函数可以修改簇;而解除捆绑与按名称解除捆绑则可以将簇 打散。
图 2. 将数值控件拖入数组框内 若要将一个无效的输入或显示控件拖入数组框中,则无法正确放置。 在程序框图中使用数组之前,必须在数组框中插入对象。 否则数组的接线端将为空,不会产生任何相关的数据类型。
2 维数组
上述范例为一维数组。 而二维数组则是以网格的方式存储数据。 它需要一个列索引和一个行索引来定位一个元素,且 二者都是以 0 作为起始。图 3 所示即为一个 8 行 8 列的二维数组,即具有 8 × 8 = 64 个元素。
簇中元素的顺序
虽然簇与数组中的元素均有顺序,但是只要使用解除捆绑函数就会将簇内的所有元素拆开。 您可以使用按名称解除捆 绑函数将簇内的元素按名称解除捆绑。 如果您使用按名称解除捆绑函数,簇中的每一个元素必须要有个标签(Label)。 与数组不同的是,簇的大小必须固定。 与数组相同的是,而且簇既可以是输入控件也可以是显示控件。 簇中不能同时 含有输入控件和显示控件。
创建簇常量
图 10.簇输入控件示例
若要在程序框图中创建簇常量,可以在函数选板上选择 Cluster Constant,将簇外框放置到程序框图上,然后在框内放 置一个字符串常量、数值常量、布尔常量或者簇常量即可。 您可以使用簇常量来存储数据或者作为与其它数组进行比 较的基准。
如果前面板上已有簇输入控件或显示控件,且您想创建一个包含相同元素的簇常量,那么您可以将簇从前面板拖拽至程 序框图;或者右键点击前面板上的簇,并选择 Create»Constant 即可。
LABVIEW4 数据类型
2 簇的使用——簇函数
◆对一个簇进行操 作,主要是访问簇 中的各个元素,或 由不同类型但相互 关联的数据组成簇。
◆ 通过簇(Cluster)
子模板中各节点完 成。
1)按名称解除捆绑函数—Unbundle函数
功能:根据名称将簇解开从而有选择的获得簇中元素的值
2) 捆绑函数 —Bundle函数
例:输入一个两行字符串,求其长度。
② 连接字符串函数(Concatenate String)
把输入的多个字符串合并成一个 字符串。输入可以为单一字符串、 字符串数组或是字符串簇。 注意:输入字符串长度包括换行符。
例: 输入3个字符串,将其合并为一个字符串。
③ 截取子字符串函数(String Subset) 函数图标及接口:
第四章
数据类型与操作
§4.1 基本数据类型
§4.2 数据运算选板
§4.3 数 组型数据 §4.4 簇型数据
§4.5 字符串
LabVIEW的数据类型
无符号整形: U8、U16、U32 整形 数值型 基本型 布尔型 数据类型 字符串 数组 复合型 枚举 簇数据 波形数据 有符号整形: I8、I16、I32 浮点数:单精度SGL、双精度DBL、扩展精度EXT 复数:单精度CSG、双精度CDB、扩展精度CEX
1 (从前面板)数组的创建:创建数组控制器和指示器
两个步骤: 第一步创建数组壳: 从控件选板的选择“新式”显 示风格下的“数组、矩阵与簇” 子选板,放在前面板上,即建 立了一个空的数组壳
第二步建立数据对象:
把一个数据对象拖入数组壳, 或者从控制模板中添加一个 数据对象到数组壳中,这样 就可以创建一个数组
如把学生情况表中数据:姓名 (字符型)、性别(字符型)、 年龄(数字型)、党员否(字 符型)等,形成一个簇 。
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中的波形图
LabVIEW中的波形图所谓曲线就是一组X与Y对应数值的图形化显示。
通常曲线图中的Y值代表了数据值,而X值则代表了时间。
波形图控件(waveform chart)可以在Controls工具面板的Modern>>Graph子面板中找到。
这个控件是一个专门用来显示一个或多个数据曲线的数值类型的指示器控件。
这个控件经常在循环结构中使用,用来保留与显示以前采集到的数据,并追加新产生的数据,将这些数据以连续更新的方式进行显示。
在波形图控件中,Y值表示了新产生的数据,X值表示了时间(通常,每次循环就产生一组新的Y值,而X值则表示了一个循环的时间)。
在LabVIEW中只有一种波形图控件,不过这个控件有三种数据刷新模式。
下图就是一个多曲线波形图的例子。
波形图更新模式波形图控件的三种数据更新模式分别是带状记录纸模式(strip chart),示波器图模式(scope chart)以及扫描图模式(sweep chart),如下图所示。
数据更新模式可以通过在波形图控件上面点击鼠标右键后在弹出菜单中的Advanced>>Update Mode>>子菜单来加以改变。
如果在VI程序运行期间想要修改波形图控件的数据更新模式,由于运行时的控件右键菜单与编程时的不同,就在该控件的邮件菜单中的Update Mode中选择即可。
带状记录纸模式的显示和真正的带状记录设备的显示相像。
示波器图模式则和真正示波器的曲线显示相像,该模式中当曲线到达波形图的右边界之后,整个曲线就会清除并从波形图的左边界重新开始显示。
扫描图模式与示波器图模式十分相似,不过扫描图模式中曲线到达右边界后并不会有清除动作,而是有一个竖线出现在波形图中,该竖线标识着新数据的开始,并在新数据不停添加的时候,该竖线会慢慢移动。
这些区别在看到实际波形图控件在不同刷新模式先运行之后就很容易区别开来的。
由于示波器图模式与扫描图模式在追溯以往曲线上比带状记录纸模式的开销要少,所以这两种数据更新模式要比带状记录纸模式很明显的快得多。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 数据类型:数组、簇和波形
簇的序(Order)
簇的元素有一个序,它与簇内元素的位置无关。簇内第一个元素的序为0,第二个 是1,等等。如果你删除了一个元素,序号将自动调整。如果你想将一个簇与另一个簇 连接,这两个簇的序和类型必须同一。 如果想改变簇内元素的序,可在快速菜单中选择ReOrder Controls In Claster, 这时会出现一个窗口,在该窗口内可以修改序。
Array Constant 0 0 Array Constant ABC 0 Array Constant ABC
第三章 数据类型:数组、簇和波形
在前面板中创建数组的方法是,从新式»数组、矩阵与簇»数 组,把数组放置在前面板中,然后选择一个对象(例如数值常量 )插入到数组框中。这样就创建了一个数值数组。
创建数组 (编程» 数组)—用于创建合适的数 据结构,在波形图中绘制两条曲线。用移位工 具拖曳边角可以增大该函数的面积,创建两个 输入端子
返回前面板,执行该 VI。注意同一个波形中的两个图区。默认情况下,它们的X 初始值都是0,delta X初始值都是1。
练习 3-1 .2
第三章 数据类型:数组、簇和波形
多态化是指一种函数功能,即可以协调不同格式、维数或者显示的输入数据。大
多数LabVIEW的函数都是多态化的。
例子:多态化
第三章 数据类型:数组、簇和波形
簇
在前面板上放置一个簇壳(Cluster shell)就创建了一个簇。然后你可以将前 面板上的任何对象放在簇中。例如数组,你也可以直接从Control 工具板上直接 拖取对象堆放到簇中。一个簇中的对象必须全部是Control,或全是Indicator,不 能在同一个簇中组合Control与Indicator,因为簇本身的属性必须是其中之一。一 个簇将是Control或Indicator,取决于其内的第一个对象的状态。如果需要可以使 用工具重置簇的大小。
5. 创建流程图。选择(编程»数组) ,在流程图中放置一个创建数组功能函数。用定位 工具增大函数额面积,以容纳5个输入。 6. 把数组和标量与创建数组连接起来。创建输出的一维数组,它由 array 1、scalar 1 、 scalar 2、array 2、scalar 3中的元素所组成。
第三章 数据类型:数组、簇和波形
第三章 数据类型:数组、簇和波形
练习 3-1 创建一个自动索引的数组
目的:使用 For 循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组。 1. 打开一个新的前面板。 2. 选择新式» 数组、矩阵与簇» 数组,在前面板中放置一个数组。设置它的标签为 Waveform Array。 3. 选择控件» 新式»数值,在数组框中插入一个数字式显示对象。它用于显示数组的内 容。 4. 选择控件» 新式»图形放置一个波形图。设置标签为Waveform Graph。 5. 用鼠标右键单击图形,在快捷菜单中取消 Y Scale» Autoscale Y,禁止自动坐标功能。 6. 使用文本工具,把Y轴的范围改为-0.5到1.5。
簇(Cluster)是另一种数据类型,它的元素可以是不同类型的数据。
它类似于C语言中的stuct。使用簇可以把分布在流程图中各个位置的数据元 素组合起来,这样可以减少连线的拥挤程度。减少子VI的连接端子的数量。
波形(Waveform)可以理解为一种簇的变形,它不能算是一种有普遍
意义的数据类型,但非常实用。
第三章 数据类型:数组、簇和波形
由函数» 选择 VI…寻找LabVIEW\activity目录下的Generate Waveform VI ,它的作用是返 回波形中的某一点。这个VI需要输入一个索引,我们将循环周期连接到这个输入。 注意Generate Waveform VI连出来的连线在循环边界变成一个数组时会变粗,正是在这个 边界处形成了一维数组。 For循环会自动累计边界内的数组。这种功能叫做自动索引。在这个例子中,连接到循环 计数输入的数值常数令For循环创建了一个由100个元素组成的数组。 捆绑函数( 编程»簇与变体)——将图块中的各个组件组合成一个簇,在正确连接以前需 要改变该函数的图标的大小。将移位工具放在图标的左下角。变形工具会变成如左图所示, 拖曳鼠标直到出现第三个输入端子。 数值常数(编程» 数值)——三个数值常数用于设置For循环执行的周期数N=100,初始 X=0和delta X=1。 从前面板执行该VI。该VI将把自动索引后的波形图数组显示在波形图中。
多个数组元素的同时观察
第三章 数据类型:数组、簇和波形
默认的X初始值是0,delta X 值是1。这样,也可以把波形数组直接连接到 波形图端子, 而无需指定初始的X值和delta X值
练习 3-1 .1
第三章 数据类型:数组、簇和波形
多图区图形
可以创建含有多条曲线的图形,方法是创建一个数组,用它来汇集传给 单图区图形的类型的数据元素。 正弦函数(函数» 数学» 基本 与特殊函数)——用于在For循 环中创建一个由数据点组成的 数组,表示一个正弦波周期。
创建数组—
创建数组 (编程» 数组)用于根据标量值或者其他的数组创建一个数组。
例子:创建数组3、3a、3b、3c、Build array3 例子: Build array3中,Boolean型 Not And运算,两个均为真值则为True
第三章 数据类型:数组、簇和波形
初始化数组(编程» 数组)用于创建所有元素值都相等的数组。 例子:初始化数组
第三章 数据类型:数组、簇和波形
把 X的delta值改为0.5,X的初始值改为20。再次执行该VI。注意,波形图现在同样显 示100个点,而每个点的初始值为20,X的delta值为0.5。 只需在显示器中输入元素的索引号就可以查看波形数组中的任何元素。如果输入的数 比数组的元素个数大,那么显示器将变暗,表示您没有为该元素设置索引。 如果需要一次查看多个元素,可以通过改变数组显示对象的大小来实现。 把定位工具 放置在数组框的右下角。工具将变成右图所示的变形工具。当工具变形时,用鼠标拖曳 数组的右边或者下边。数组现在就可以按照元素索引的上升顺序显示多个素,以某个与 指定索引对应的元素开始,如下图所示
第三章 数据类型:数组、簇和波形
分解(Unbundle)簇
Unbundle功能是Bundle的逆过程,它将一个簇分解为若干分离的元件。如 果你要对一个簇分解,就必须知道它的元素的个数。
第三章 数据类型:数组、簇和波形
练习 3-4 簇
Output Cluster Numeric 6.00 Boolean1 Boolean 2 stop STOP
图是一个使用Waveform函数产生正弦波的例子。其中仅仅调用了Sine Waveform 一个函数,只要将有关参数指定,就可产生正弦波。
例子:Waveform数据类型
第三章 数据类型:数组、簇和波形
捆绑(Bundle)数据
Bundle功能将分散的元件集合为一个新的簇,或允许你重置一个已有的簇中的 元素。可以用位置工具拖曳其图标的右下角以增加输入端子的个数。最终簇的序 是取决于被捆绑的输入的顺序。图中Bundle图标中部的Claster端子用于用新元素重 置原簇中的元素。
虚拟仪器与Labview
浙江大学生物系统工程与食品科学学院
蒋 焕 煜
第三章 数据类型:数组、簇和波形
数组是同类型元素的集合。一个数组可以是一维或者多维,如果必要
,每维最多可有231-1个元素。可以通过数组索引访问其中的每个元素。索 引的范围是0到n – 1,其中n是数组中元素的个数。图所显示的是由数值构成 的一维数组。注意第一个元素的索引号为0,第二个是1,依此类推。数组的 元素可以是数据、字符串等,但所有元素的数据类型必须一致。
自动索引
For循环和While循环可以自动地在数组的上下限范围内编索 引和进行累计。这些功能称为自动索引。在启动自动索引功能以 后,当把某个外部节点的任何一维元素连接到循环边框的某个输 入通道时,该数组的各个元素就将按顺序一个一个地输入到循环 中。循环会对一维数组中的标量元素,或者二维数组中的一维数 组等编制索引。在输出通道也要执行同样的工作――数组元素按 顺序进入一维数组,一维数组进入二维数组,依此类推。 在默认情况下,对于每个连接到For循环的数组都会执行自动 索引功能。
例子:初始化数组多维
元素输入端子决定每个元素的数据类型和数值,维长度输入端子决定数组的长 度,例如,假设元素类型是长整型,值为5,维长度为100,那么创建的数组是一个 一维的、由100个值为5的长整型元素组成的数组。 如果所有的维长度输入都是0,该函数会创建一个具有指定数据类型和维数的空数 组。
第二章:程序结构
第三章 数据类型:数组、簇和波形
创建数组
首先建一个数组的“壳”(shell),然后在这个壳中置入数组元素( 数或字符串等)。 如果需要用一个数组作为程序的数据源,可以选择新式» 数组、矩阵与簇 » 数组,将它放置在流程图中。然后再在数组框中放置数值常量、布尔数还是 字符串常量。下图显示了在数组框放入字符串常量数组的例子。左边是一个 数组壳,中间的图上已经置入了字符串元素,右边的图反映了数组的第0个 元素为:”ABC”,后两个元素数组
第三章 数据类型:数组、簇和波形
练习 3-3 使用创建数组功能函数
使用创建数组函数,把一些元素和输出组织成一个更大的数组。
第三章 数据类型:数组、簇和波形
1. 从控件»新式» 数值模板中选择一个数字控制对象放置在前面板中,设置它的标签为 scalar 1。 2. 复制并粘贴该数字显示对象,创建两个新的对象,并分别设置它们的标签为scalar 2 和scalar 3。 3. 创建一个数字控制对象的数组,设置它的标签为array 1。复制并粘贴它,创建一个新 的数组,设置它的标签为array 2。 4. 在array 1、scalar 1、 scalar 2、scalar 3、array 2中输入数值1到9。