labview 数据类型:数组、簇和波形
- 格式:ppt
- 大小:633.50 KB
- 文档页数:25
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中有一类被称为波形数据的数据类型,这种数据类型更类似于“簇”的结构,由一系列不同数据类型的数据构成。
但是波形数据又具有与“簇”不同的特点,例如它可以由一些波形发生函数产生,可以作为数据采集后的数据进行显示和存储。
这一节将主要介绍创建波形数据以及处理波形数据的方法。
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)调谐与噪声波形发生函数用以产生多个一定频率、幅值、相位的正弦信号叠加的波形数据,同时可以模拟噪声和直流分量,并叠加到已有的波形数据上面。
第三章数据类型:数组、簇和波形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的基本控件与基本函数LabVIEW基本控件:数值、布尔、字符串与路径、数组与簇、图形、枚举1、数值:数值输入控件与数值显示控件(数值输入控件有增量/减量按钮;输入为白色背景,输出为灰色背景)默认数据类型为:双精度,橙色。
2、布尔:值默认为False,图标为绿色。
布尔控件的机械动作属性单击时转换:按下按钮时改变状态,再次单击后恢复原状态。
与VI是否读取控件无关。
(可赋值恢复)类似开关按钮释放时转换:按下按钮时保持当前状态,直到释放按钮,再次单击后恢复原状态。
与VI是否读取控件无关。
(可赋值恢复)类似开关按钮保持转换直到释放:按下按钮时改变状态,直到释放按钮,,再次单击后恢复原状态。
与VI 是否读取控件无关。
(可赋值恢复)。
类似开关按钮单击时触发:按下按钮时改变状态,LabVIEW再次读取控件值后返回原状态。
释放时触发::按下按钮时保持当前状态,释放时改变状态,LabVIEW再次读取控件值后返回原状态。
保持触发直到释放:按下按钮时改变状态,直到释放按钮,LabVIEW再次读取控件值后返回原状态。
3、字符串与路径:(字符串输入控件与字符串显示控件),粉色。
4种显示方式(正常显示、’\’代码显示、密码显示、十六进制显示)4、数组:依据加入的控件类型同样分为输入控件与显示控件LabVIEW的数组以索引号0表示数组的首个数据。
增加数组维度的方法:(1)索引框的快捷菜单中->增加维度(2)直接向下拖动索引框(3)属性对话框->外观选项卡->维数组中的元素为同类型的控件,可以是各种类型的控件,但不能是数组的数组。
数组的多态性:5、簇:依据加入的控件类型同样分为输入控件与显示控件簇本身的属性:重新排序簇中控件、自动调整大小(无、调整为匹配大小、水平排列、垂直排列)使用簇结构时,尽可能的使用:严格自定义类型。
错误簇:状态(布尔)、代码(数值输入)、源(字符串输入)6、波形图表(Chart)与波形图(Graph):波形图表有一个“先入先出的缓冲区(默认为1024个数据)”,所以特别适合实时显示数据。
第一讲:认识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(窗口漫游)使用该工具就可以不需要使用滚动条而在窗口中漫游。
数据类型:数组、簇和波形.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、不同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(⼗):数组和簇★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★⼀、数组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)、要添加索引的位置:“数组插⼊”右键>创建>常量。
可省略此项,省略该项则添加到数组末尾。
《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中的波形图所谓曲线就是一组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中选择即可。
带状记录纸模式的显示和真正的带状记录设备的显示相像。
示波器图模式则和真正示波器的曲线显示相像,该模式中当曲线到达波形图的右边界之后,整个曲线就会清除并从波形图的左边界重新开始显示。
扫描图模式与示波器图模式十分相似,不过扫描图模式中曲线到达右边界后并不会有清除动作,而是有一个竖线出现在波形图中,该竖线标识着新数据的开始,并在新数据不停添加的时候,该竖线会慢慢移动。
这些区别在看到实际波形图控件在不同刷新模式先运行之后就很容易区别开来的。
由于示波器图模式与扫描图模式在追溯以往曲线上比带状记录纸模式的开销要少,所以这两种数据更新模式要比带状记录纸模式很明显的快得多。