Labview 第三章 数据类型:数组、簇和波形

合集下载

基于labview的数组、簇和波形

基于labview的数组、簇和波形

图形Graph一次性绘制预先产生的数据数组,不能将新数据追加到以前产生的数据上
波形chart和波形Graph的使用
Chart和Graph使用总结
波形Chart:单点以及多点波形Chart的框图程序 单曲线波形Graph
参考的例程
Charts.vi Waveform Graph.vi
XY Graph使用
图形是以曲线来显示数据
01
常用的二维图形控件有波形Chart和波形Graph和XY Graph
02
可显示单条曲线和显示多条曲线。
03
图形控件有很多特性,可以设置和修改,改变曲线显示的格式。
04
图形显示
图形Chart可以交互式绘制曲线,常用于循环中,可以保存并显示已采集到的数据,当新数据到来时可以追加显示。
数组、簇和波形
01
单击此处添加文本具体内容,简明扼要地阐述你的观点
LabVIEW的数据类型
数据类型选择和转换:
数值型控件对象的数据类型或格式和精度指定:右击对象,在弹出菜单上选择“Represeutation”或”Format @ Precision” 不同数据类型连接时,有的可以自动转换,有的不行 可使用转换函数强制转换 转换函数在函数面板数值运算Numeric中conversion子模板中
例:10元素的一维数组
思考?
波形可以存储在数组中,波形上一点构成数组中的一个元素。
波形如何存储?
在前面板创建
在后面板创建
通过函数或VIS动态生成
数组的创建
在前面板创建数组:
第一步创建数组壳: 从控制模板的Array&Cluster子模板中选择Array控制器,放在前面板上,即建立了一个空的数组壳(Array Shell) 第二步建立数据对象: 把一个数据对象拖入数组壳,或者从控制模板中添加一个数据对象到数组壳中,这样就可以创建一个数组 离索引显示最近的元素对应该索引显示里索引值关联的元素 索引显示

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关于数据类型的编辑:数组、簇和波形

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数组、簇和图形的区别

数组是同类型元素的集合。

一个数组可以是一维或者多维,如果必要,每维最多可有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入门教程(初学者必看)

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)或图标上,就会显示相应的帮助信息。

第3章LabVIEW中的数据类型

第3章LabVIEW中的数据类型

第3章 LabVIEW中的数据 类型

数字型变量
控件→ 新式→数值
第3章 LabVIEW中的数据 类型

数字型常量
函数→ 编程→数值
第3章 LabVIEW中的数据 类型

数字型变量与常量之间的转换
变量与常量之间可以相互转换,方法为在图标上点击鼠标右键,选 择“转换为常量/转换为输入控件/转换为显示控件”。
2.特点 (1)近代中国交通业逐渐开始近代化的进程,铁路、水运和 航空都获得了一定程度的发展。 (2)近代中国交通业受到西方列强的控制和操纵。 (3)地域之间的发展不平衡。 3.影响 (1)积极影响:促进了经济发展,改变了人们的出行方式, 一定程度上转变了人们的思想观念;加强了中国与世界各地的 联系,丰富了人们的生活。 (2)消极影响:有利于西方列强的政治侵略和经济掠夺。
[合作探究·提认知] 电视剧《闯关东》讲述了济南章丘朱家峪人朱开山一家, 从清末到九一八事变爆发闯关东的前尘往事。下图是朱开山 一家从山东辗转逃亡到东北途中可能用到的四种交通工具。
依据材料概括晚清中国交通方式的特点,并分析其成因。 提示:特点:新旧交通工具并存(或:传统的帆船、独轮车, 近代的小火轮、火车同时使用)。 原因:近代西方列强的侵略加剧了中国的贫困,阻碍社会发 展;西方工业文明的冲击与示范;中国民族工业的兴起与发展; 政府及各阶层人士的提倡与推动。

数字/字符串转换
函数→编程→字符串→字符串/数值转换
第3章 LabVIEW中的数据 类型

字符串/数组/路径转换
函数→编程→字符串→字符串/数组/路径转换
第3章 LabVIEW中的数据 类型

布尔值/数字值转换
函数→编程→数值→转换

4数组、簇和波形

4数组、簇和波形

获得数组子集
获得输入数组的一部分子集数组\获得数组子集.vi
获得数组的最大值最小值数组\获得数组子集.vi 改变数组的维度数组\改变数组维度.vi 一维数组排序函数数组\改变数组维度.vi 搜索一维数组数组\改变数组维度.vi 划分一维数组数组\改变数组维度.vi 反转一维数组数组\改变数组维度.vi 线性插值、阈值函数数组\线性插值和阈值函数.vi 交叉排列函数、交叉抽取数组函数数组\交叉排列数 组.vi 二维数组转置函数数组\二维数组转置函数.vi
簇 (Cluster)
• 一个比较特别的数据类型,它可以将几种 不同的数据类型集中到一个单元中形成一 个整体 • 可将多个相关数据集中到一起,这样只需 要一条数据线就可以把多个节点连接到一 起。
簇的创建及使用
簇控件的位置,已定义的簇。
簇控件 错误输入控件 错误输出控件
簇操作函数
解包函数 打包函数 按元素名称 解包函数 按元素名称 打包函数
五、数组、簇
数组
1. 数组控件 2. 数组之间的算术运算 3. 数组函数
数组的创建
控件和指示数组 常量数组 循环建立数组 用For循环来创建数组是最佳的,因为循 环开始前它已经分配好了内存,定义好了数 组的长度
1.数组控件
和C语言一样,数组是相同类型的数据元素的集合, 数值、布尔量、字符串都可以。 一般数值数组比较经常使用。 一个数组可以是一维或者多维,如果必要,每维最多 可有 231 − 1 个元素。其前提是内存允许。
子数组替换函数
用于替换数组的部分内容。 数组\子数组替换函数.vi
3
源数组
4
输出数组
2 0 1 2 3 0 0 0 0
替换数组第2行的前3个元素

基于labview的数组、簇和波形

基于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

(完整版)《LabVEW编程及虚拟仪器设计》课程说明

(完整版)《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章-基本数据类型

LabVIEW虚拟仪器技术第3章-基本数据类型
布尔量只有两种状态,要么真,要么假。
布尔控件
布尔串控件,位于 “控件”选板->“新式”>“布尔”中。
布尔函数
对布尔量实施操 作的函数称为布尔函 数,位于“函数”选 板->“编程”->“布 尔”中。
按钮与开关
布尔输入控件分为按钮型布尔控件和开关型 布尔控件。它们都是布尔输入控件,但物理意义 有所区别。
单位标签可以在快捷菜单->显示项->单位标 签从而显示,可自由输入物理单位符号,如时间 “h”,“s”,长度“m”等。也可于单位标签上 右键->创建单位字符串进行单位选择。
LabVIEW程序可实现不同单位的自动转换, 还可以通过运算自动处理组合单位。
数值控件的基数与单位标签
数值控件的属性
在快捷菜单上选择“属性”项,即可打开属 性对话框。属性对话框由许多属性页组成,涵盖 了大量的控件属性设置信息。
我们利用控件选板所提供的各种输入控件 和显示控件就可以达到”所见即所得”的效果。
从LabVIEW数据流编程的角度看,任何数 据都必须是有源的,这个源就是输入控件或常 量。常量可以理解为特殊的输入控件。而数据 最终流向的目的地就是显示控件。
从控件本身的角度看,LabVIEW只是推荐 了控件的使用方法,而并没有绝对区分控件必 须是输入控件还是显示控件,两者之间可以相 互转化。
线型与数据类型
LabVIEW中,不同的线型代表不同的数据类型。
在LabVIEW中,数值控件的数据类型是可以 改变的。当我们使用数值控件时,需注意正确使 用数据类型,避免程序发生错误。
编写求平均数程序: 程序能否运行? 程序能否实现功能?
Result为蓝色控件,其数据类型为整型数据, 程序计算结果会被强制转换为整形数。程序能运 行,但无法正确结果。

LABVIEW编程基础 第3章 LabVIEW的数据类型

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中的数据类型

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语言等文本编程语 言的结构体变量。很多情况下,为了便于引用,需要将不同的数据类型组合成 一个有机整体。例如,一名学生的姓名、性别、年龄、成绩等数据项,都与这 名学生有关,只有把它们组合成一个组合项才能真正详尽地反应情况。簇正是 这样的一种数据结构,它可以包含很多种不同类型的数据,而数组只能包含同 一类型的数据。 可以把簇想象成一束电缆束,电缆束中每一根线代表一个元素。 簇可以包含多种不同的数据类型,如果簇内的元素都为数字型,则端口图标 显示为棕色;若包含其它的数据类型,则显示为粉红色。

第3章LabVIEW的数据类型

第3章LabVIEW的数据类型

图标
续表
存储所占位数
数值范围
256
实部与虚部分别与扩展精度浮点型相同
128
实部与虚部分别与双精度浮点型相同
64
实部与虚部分别与单精度浮点型相同
10
3.1.2 布尔型控件
11
布尔控件代表一个布尔值,只 能是True或False
它既可以代表按钮输入,也可 以当作LED指示灯显示。
3.1.3 枚举类型
(10)重排数组维数
41
重排数组函数的接线端子如图3-31所示。其功能是任意类型 的n维数组,在“n维数组”中输入维数大小m,该函数把n维数 组重整为m维数组后,在“m维数组中输出”。
图3-31 重排数组维数函数接线端子
(11)一维数组排序
42
图3-32 一维数组排序函数接线端子
(12)搜索一维数组
5.给定任意x, 求如下表达式的值
y

x5

c os x ex
3.3 数组(Array)
24
数组控件
数组控件
3.3.1 数组的创建
25
在前面板和程序框图中可以创建数值、布尔、路径、字符串、 波形和簇等数据类型的数组。
3.3.1 数组的创建
26
图3-11 创建的数值型一维数组
27
(a)拖曳边角添加数组元素
30
数组函数位于函数选板中“编程”子选板下的“数组”选板内
图3-14 数组函数选板
31
常用的数组函数如下所示。 (1)数组大小
图3-15 数组大小函数接线端子 图3-16 数组大小函数的使用举例
(2)索引数组
32
图3-17 索引数组函数接线端子 图3-18 使用索引数组函数索引数组中的元素和指定列

LabVIEW虚拟仪器程序设计及应用第3章 LabVIEW的数据类型

LabVIEW虚拟仪器程序设计及应用第3章 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的数组、簇和波形共47页

基于labview的数组、簇和波形共47页
基于labview的数Байду номын сангаас、簇和波形
11、用道德的示范来造就一个人,显然比用法律来约束他更有价值。—— 希腊
12、法律是无私的,对谁都一视同仁。在每件事上,她都不徇私情。—— 托马斯
13、公正的法律限制不了好的自由,因为好人不会去做法律不允许的事 情。——弗劳德
14、法律是为了保护无辜而制定的。——爱略特 15、像房子一样,法律和法律都是相互依存的。——伯克

29、勇猛、大胆和坚定的决心能够抵得上武器的精良。——达·芬奇

30、意志是一个强壮的盲人,倚靠在明眼的跛子肩上。——叔本华
谢谢!
47

26、要使整个人生都过得舒适、愉快,这是不可能的,因为人类必须具备一种能应付逆境的态度。——卢梭

27、只有把抱怨环境的心情,化为上进的力量,才是成功的保证。——罗曼·罗兰

28、知之者不如好之者,好之者不如乐之者。——孔子

LabVIEW程序设计与虚拟仪器之第3章数组、簇和波形

LabVIEW程序设计与虚拟仪器之第3章数组、簇和波形

第3章 数组、簇和波形
图3-23 Build Array节点的图标
第3章 数组、簇和波形
【例3.7】 利用Build Array节点创建数组。
VI的前面板和程序框图如图3-24所示。图3-24(a)中的输入 参数全是标量,输出是一维数组,而且Concatenate Inputs选项
自动关闭不能打开;图3-24(b)和图3-24(c)都是输入两个一维数
第3章 数组、簇和波形
图3-1 数组的组成
第3章 数组、簇和波形
数组控制器和指示器框架位于Controls→新式,Array & Cluster子模板上,数组常量框架位于Functions→编程,Array子 模板上,见图3-2。 数组的创建分两步。第一步,从Controls模板中创建数组 框架,如图3-3(a)所示。此时创建的数组框架不包含任何内容, 没有数据类型,也没有数据,在程序中不能使用。第二步,定 义数组类型。定义数组类型的方法是直接将面板上已有的控制
第3章 数组、簇和波形
图3-5 添加数组的维数
第3章 数组、簇和波形
3.1.3 利用循环结构创建数组
利用For循环和While循环的自动索引功能可以很方便地创 建数组。首先看图3-6所示的两个程序框图及运行结果。图3-
6(a)中For循环的自动索引功能默认打开,每次循环产生一个
0~10之间的数组元素,循环结束后,产生一个含有5个元素的 一维数组,数组自动传输到指示器中。我们注意到,循环结构 外的连线比较粗。图3-6(b)中,因为For循环的自动索引功能被 关闭,所以只有最后一个0~10之间的随机数4.55576传输到循 环体外,并且在循环体内外的连线粗细没有变化。 使用两个嵌套的For循环可以创建二维数组。外层循环产 生行元素,内层循环产生列元素。图3-7给出了利用两个For循 环嵌套创建的一个3行4列的二维随机数组的前面板和框图程序。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第三章数据类型:数组、簇和波形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数组控制对象、常数对象和显示对象通过把数组与数值、布尔数、字符串或者簇组合在一起,可以在前面板和流程图中创建任何一种控制对象、常数对象和显示对象。

数组元素不能是数组、图表或者图形。

如果您想查看一些数组的例子,请查看Examples\General\arrays.llb中的例子。

3.2.3自动索引For循环和While循环可以自动地在数组的上下限范围内编索引和进行累计。

这些功能称为自动索引。

在启动自动索引功能以后,当把某个外部节点的任何一维元素连接到循环边框的某个输入通道时,该数组的各个元素就将按顺序一个一个地输入到循环中。

循环会对一维数组中的标量元素,或者二维数组中的一维数组等编制索引。

在输出通道也要执行同样的工作――数组元素按顺序进入一维数组,一维数组进入二维数组,依此类推。

在默认情况下,对于每个连接到For循环的数组都会执行自动索引功能。

可以禁止这个功能的执行,方法是用鼠标右键单击通道(输入数组进入循环的位置),在快捷菜单中选择DisableIndexing。

练习3-1创建一个自动索引的数组目的:使用For 循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组。

前面板图3-2练习3-1的面板1.打开一个新的前面板。

2.选择Controls»Array & Cluster,在前面板中放置一个数组。

设置它的标签为WaveformArray。

3.选择Controls»Numeric,在数组框中插入一个数字式显示对象。

如右图所示。

它用于显示数组的内容。

4.选择Controls»Graph,在前面板中放置一个波形图。

设置它的标签为Waveform Graph。

5.隐藏图例和模板。

6.用鼠标右键单击图形,并在快捷菜单中取消选中YScale»Autoscale Y,禁止自动坐标功能。

7.使用文本工具,把Y轴的范围改为-0.5到1.5。

流程图8.按照下图创建流程图。

图3-2练习3-1的流程图●由Functions»Select a VI…寻找LabVIEW\activity目录下的GenerateWaveform VI ,它的作用是返回波形中的某一点。

这个VI需要输入一个索引,我们将循环周期连接到这个输入。

●注意Generate Waveform VI连出来的连线在循环边界变成一个数组时会变粗,正是在这个边界处形成了一维数组。

●For循环会自动累计边界内的数组。

这种功能叫做自动索引。

在这个例子中,连接到循环计数输入的数值常数令For循环创建了一个由100个元素组成的数组。

●Bundle函数(Functions» Cluster)——将图块中的各个组件组合成一个簇,在正确连接以前需要改变该函数的图标的大小。

将移位工具放在图标的左下角。

变形工具会变成如左图所示,拖曳鼠标直到出现第三个输入端子。

●数值常数(Functions»Numeric)——三个数值常数用于设置For循环执行的周期数N=100,初始X=0和deltaX=1。

9.从前面板执行该VI。

该VI将把自动索引后的波形图数组显示在波形图中。

10.把X的delta值改为0.5,X的初始值改为20。

再次执行该VI。

注意,波形图现在同样显示100个点,而每个点的初始值为20,X的delta值为0.5(见X轴)。

11.只需在显示器中输入元素的索引号就可以查看波形数组中的任何元素。

如果输入的数比数组的元素个数大,那么显示器将变暗,表示您没有为该元素设置索引。

如果需要一次查看多个元素,可以通过改变数组显示对象的大小来实现。

把定位工具放置在数组框的右下角。

工具将变成右图所示的变形工具。

当工具变形时,用鼠标拖曳数组的右边或者下边。

数组现在就可以按照元素索引的上升顺序显示多个素,以某个与指定索引对应的元素开始,如下图所示。

图3-3练习3-1中多个数组元素的同时观察在前面的流程图中,您为波形图指定了初始的X值和deltaX值。

默认的X初始值是0,delta X 值是1。

这样,也可以把波形数组直接连接到波形图端子,而无需指定初始的X值和delta X值,如图3-4所示。

图3-4练习3-1使用默认X及Delta X时简化后的流程图12.按上图删除Bundle功能函数和它所连接的常数对象。

方法是用移位工具选择该功能函数和连接的常数对象,按下<Delete>。

再选择Edit»Remove Bad Wires。

按照上图完成流程图的连线。

13.执行该VI。

注意初始的X值是0,delta X值是1。

多图区图形可以创建含有多条曲线的图形,方法是创建一个数组,用它来汇集传给单图区图形的类型的数据元素。

图3-5 练习3-1多图区图形的流程图14. 按照上图创建流程图。

● 正弦函数(Functions»Numeric»Trigonometric )——在这里,它用于在For 循环中创建一个由数据点组成的数组,表示一个正弦波周期。

● Pi 常数(Functions»Numeric»AdditionalNumeric Constants )● Build Array (Functions»Array )——在这里,它用于创建合适的数据结构(一个二维数组),在波形图中绘制两条曲线。

用移位工具拖曳边角可以增大该函数的面积,创建两个输入端子。

15. 返回前面板,执行该 VI 。

注意同一个波形中的两个图区。

默认情况下,它们的X 初始值都是0,delta X 初始值都是1。

下图是该程序的运行结果(前面板未改动)。

16. 把该VI 保存为LabVIEW\Activity 目录中的GraphWaveform Arrays.vi 。

17. 可以修改图形中的某个图区的外观。

方法是,用鼠标右键单击这个图形,再从弹出菜单选择对应的图例。

Array图3-6 练习3-1多图区图形的面板显示练习 3-1 结束。

在上面这个例子中,由于计算端子连接了一个值为100的常数对象,所以 For 循环将执行100次。

下面这个例子显示了另外一种控制循环执行次数的方法。

更详细的例子建议调阅Examples》Fundamentals 》Graphs and Charts》Graph Examples》Waveform Graph例子。

练习3-2对输入数组使用自动索引功能目的:打开并执行一个VI,它将在一个For循环中使用自动索引功能处理一个数组。

1.选择File»Open…,打开Examples\General\arrays.llb中的Separate ArrayValues VI 。

2.打开流程图。

下面的示意图显示的是在TRUE和FALSE时的情况。

图3-7练习3-2的流程图注意,Input Array引出的连线与For循环外的粗线不同,表示这是一个数组,而循环内部的细线则表示这是一个数组元素。

数组元素在每个循环期间将自动编号。

用自动索引功能设置For 循环的计数器注意,计数器端子还没有连线。

当您对某个进入For循环的数组使用自动索引功能时,循环就将根据数组的大小执行相应的次数,这样就无需连接某个值到计数器的端口。

如果对一个以上的数组使用自动索引功能,或者在使用自动索引功能之外还需要设置计数器时,实际的循环次数将是其中最小的数。

3.执行该VI。

在输入的八个数中,可以看到4个属于正数数组,另外4个属于负数数组。

4.从流程图中将一个值为5的常数对象连接到For 循环的计数器端子。

执行该VI。

可以看到尽管输入数组仍然有八个元素,但是3个位于正数数组,另外2个位于负数数组。

这说明,如果设置了N并开启了自动索引功能,那么实际循环的次数将取较小的数。

5.关闭该VI,不要保存任何修改。

注:练习3-2的算法说明下面是一段伪代码,解释上面的算法,假定输入数组为A(已赋值),B(正数)、C(负数)。

Sbr 、Scr分别是与B数组、C数组对应的右寄存器数组,Sbl 、Scl分别是与B数组、C数组对应的左寄存器数组,size运算为测数组实际大小,ins运算为将一个数插入数组中最左边的空位。

练习3-2结束。

3.3数组功能函数LabVIEW提供了很多用于操作数组的功能函数,位于Functions»Array中。

其中包括Replace Array Element,、Search 1D Array、Sort 1D Array、Reverse 1D Array和Multiply Array Elements等等。

创建数组——Build Array函数(Functions»Array),用于根据标量值或者其他的数组创建一个数组。

开始时,Build Array函数具有一个标量输入端子。

相关文档
最新文档