labview 数组、簇和图形

合集下载

虚拟仪器与LabVIEW程序设计 第4章 数组、簇与波形显示

虚拟仪器与LabVIEW程序设计 第4章 数组、簇与波形显示

参考数组函数一览表 数组的多态性
数组函数

❖ 概念:相同或不同类型数据元素的有序组合。 ❖ 创建1)在前面板创建簇控件
2)在程序框图中创建簇常量
❖ 簇函数
❖ 错误簇:用于在节点之间传递错误信息。一般包 含:状态、代码、源三个信息。
❖ 波形控件 ❖ 创建波形
波形
标签
曲线图例
❖ 波形图控件
标尺图例
第4章 数组、簇与波形显示
检测与质量教研室
1. 数组 2. 簇 3. 波形图表 4. 波形图
主要内容
数组
❖ 概念:相同类型数据元素的集合 ❖ 类型:数值型、布尔型、字符型、簇等各种类型,
但是不:索引值(如一维数组有N个元素则索
引值范围是0-N-1) ❖ 容量:每维最多可有231-1个元素。维度可以是
一维或多维。
③ ① ②
❖ 在前面板创建数组对象 1)在前面板放置数组框 2)定义数组类型 3)数组赋值 在程序框图中创建数组常量 1)在程序框图放置数组常量框 2)定义元素类型 3)赋初值
创建数组
❖ 创建多维数组:
❖ 通过程序创建数组 1)利用函数创建数组
2)利用For循环创建二维数组
创建数组
❖ 在波形图表中显示单条曲线 ❖ 在波形图表中显示多条曲线
❖ 波形图表和波形图的比较
❖ XY图 ❖ 数字波形图
其它类型的图形和图表
Thank You !
X滚动条
图形工具 选板
游标图例
❖ 在波形图中显示单条曲线 ❖ 在波形图中显示多条曲线
波形图
标签
图例
数字显示
波形图表
纵坐标
图形工具选板
❖ 波形图表控件
横坐标

基于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第6章字符串、数组、簇和矩阵

LABVIEW第6章字符串、数组、簇和矩阵
30
小试身手
2. 对字符串进行加密,规则是每个字母后移5 位,例如A变为F,b变为g,x变为c,y变为d…
31
小试身手
3. 产生一个3×3的整数随机数数组,随机数要 在0到100之间,然后找出数组的鞍点,即该位 置上的元素在该行上最大,在该列上最小,也 可能没有鞍点。如下图所示:
32
小试身手
14、他乡生白发,旧国见青山。。2021年3月6日星期六上午11时6分13秒11:06:1321.3.6
15、比不了得就不比,得不到的就不要。。。2021年3月上午11时6分21.3.611:06March 6, 2021
16、行动出成果,工作出财富。。2021年3月6日星期六11时6分13秒11:06:136 March 2021
11、越是没有本领的就越加自命不凡。21.3.611:06:1311:06Mar-216-Mar-21
MOMODA POWERPOINT 12、越是无能的人,越喜欢挑剔别人的错儿。11:06:1311:06:1311:06Saturday, March 06, 2021
13、知人者智,自知者明。胜人者有力,自胜者强。21.3.621.3.611:06:1311:06:13March 6, 2021
字符串控件包括输入控件、显示控件和下拉框。
3
6.1 字符串(String)
4
6.1 字符串(String)
6.1.1 字符串控件
字符串输入控件一般被用作文本输入框,而字符串 显示控件一般被用作文本显示框。
5
6.1 字符串(String)
6.1.2 表格和树形控件
表格(Table)和树形控件在Controls Palette的 Modern->List & Table…面板下。

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系列教程之八)

簇(l a b v i e w系列教程之八)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March08、簇簇簇是一种类似数组的数据结构,用于分组数据。

簇和数组有着重要的差别,其中一个重要差别是,簇可以包含不同的数据类型,而数组仅可以包含相同的数据类型。

例如,一个数组可以包含10个数字指示器,一个簇却可以包含一个数字控件,一个开关和一个字符串控件。

尽管簇和数组的元素都是有序存放的,但访问簇的元素最好是通过释放的方法同时访问其中部分或全部元素,而不是通过索引一次访问一个元素。

簇和数组的另一个差别是簇具有固定的大小。

簇通常用于将出现在框图上的有关数据元素分组管理。

因为簇在框图中仅用唯一的连线表示,所以对于减少连线混乱和子VI需要的连接器端子个数,使用簇有着积极的效果。

可以将簇看做是一捆连线,线缆中每一个连线表示簇的不同元素。

在框图上,只有当簇具有相同类型,相同元素数量和相同元素顺序时,才可以将簇的子端连接。

多态性应用于簇时,只需要簇具有同样顺序,同样数量的元素。

下面来向大家介绍簇的创建簇的创建框位于前面板中的控件→新式→数组,矩阵和簇→簇,如图:然后就可以往簇的框中添加各种类型的控件了,例如现在要建立一个学生的记录信息,包括学生的姓名,学号,性别和年龄.这就需要在簇外壳里依次放入两个字符串输入控件,一个数字控件和一个布尔控件.如图:与数组的创建类似,簇也可以从程序框图中创建,先在程序框图上放置一个簇外壳,然后就可以在簇外壳里放置各种数据类型常数。

如图:簇内对象的大小是可以调整的,右击簇边界,在弹出的快捷菜单中可以选择各种调节操作,如图:选择调整为匹配大小,即可缩小簇的边框,如图为调整后的结果:簇结构中的元素排列是按照它们放置的先后来排序的,它与簇内元素的位置无关。

放入簇内的第一个元素序号为0,第二个元素序号是1,依次向下排列。

LabView第四章 数组 簇和波型

LabView第四章 数组 簇和波型

虚拟仪器技术
簇的创建
簇的创建框位于前面板中的控件 → 新式 → 数组 , 矩阵和簇→簇,如图:
虚拟仪器技术

然后就可以往簇的框中添加各种类型的控件了,例如 现在要建立一个学生的记录信息,包括学生的姓名,学 号,性别和年龄.这就需要在簇外壳里依次放入两个字 符串输入控件,一个数字控件和一个布尔控件.如图:
虚拟仪器技术
创建簇控制和显示
在前面板上放置一个簇壳(Cluster shell)就 创建了一个簇。然后你可以将前面板上的任何 对象放在簇中。例如数组,你也可以直接从 Control 工具板上直接拖取对象堆放到簇中。
虚拟仪器技术
创建簇控制和显示
下图所示是一个含4个Control的簇。也可以在流程图 上用类似的方法创建簇常数。 如果你要求簇严格地符合簇内对象的大小,可在簇的边 界上弹出快速菜单选择自动定义大小(Autosizing)
虚拟仪器技术

与数组的创建类似,簇也可以从程序框图中创 建,先在程序框图上放置一个簇外壳,然后就 可以在簇外壳里放置各种数据类型常数。如图:
虚拟仪器技术

簇内对象的大小是可以调整的,右击簇边界,在弹 出的快捷菜单中可以选择各种调节操作,如图:
虚拟仪器技术

选择调整为匹配大小,即可缩小簇的边框,如图为 调整后的结果:
虚拟仪器技术
4.2 数组的创建及自动索引
下图显示了在数组框放入字符串常量数组的 例子。左边是一个数组框架,中间的图上已经 置入了字符串元素,右边的图反映了数组的第 0个元素为:”ABC”,后两个元素均为空。
Array Constant 0 0 Array Constant ABC 0 Array Constant ABC

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

第三章 数据类型:数组、簇和波形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】数组与簇的使用

【LabVIEW】数组与簇的使⽤
获取未知⼆维数组的⾏数:
⼆、簇
簇控件在LabVIEW 中的作⽤就类似于C语⾔中的结构体变量。

它能包含任意数⽬任意类型的元素,甚⾄包括数组和簇。

簇可以同时包含多种不同类型的元素,⽽且簇中的元素控件的位置可以随意独⽴地通过拖动改变。

1、按名称解除绑定函数
功能:返回指定名称的簇元素。

连线簇⾄该函数后,可在函数中选择单独的元素。

该函数可以根据名称有选择地输出簇内部元素。

其中元素名称就是指元素的标签。

注意:如果有事件结构,解绑簇时簇的局部变量要放在事件结构⾥才有效。

2、按名称捆绑函数
功能:该函数通过簇内部元素名称来给簇内部元素陚值,因此参考族(输⼊簇)是必须的。

该函数通过参考簇来获得元素名称。

参考簇必须与输出的簇完全相同,可以直接右击需要陚值的簇,选择 “创建”——>“常量” 选项来创建⼀个与输出簇完全相同的常量簇作为参考簇。

3、获取簇中的控件引⽤
编程--应⽤程序控制--Vi服务器引⽤--到-程序框图;
右击本VI——链接⾄——窗格——簇——选要添加引⽤的控件
4、按名称捆绑时,连接到显⽰簇后提⽰错误:已连接两个包含不同内容的簇
1、右击显⽰簇——创建——常量,创建参考簇;
2、把⾃动产⽣的显⽰簇到参考簇的连接线删掉;
3、拖⼊捆绑函数;
4、从参考簇引出接线到捆绑函数(如果是从捆绑函数引出接线到参考簇就报错!⽆语⼦)
5、从捆绑函数引出接线到显⽰簇上。

此时接线正确,可以看到函数⾥正确显⽰出元素名称。

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

03-labview数组、簇与、曲线图与结构体

03-labview数组、簇与、曲线图与结构体

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
Case Structure
Case Structure
选择端口(selector terminal)
有一个或多个子框架( subdiagrams/ cases), 每次执行结构体时会且仅会执行其 中的一个框架. 进入选择端口(selector terminal)的值决定了 执行哪个子框架。选择端口可接收boolean, string, numeric, enumerated 或ring型数据。 Right-click 结构体边框可添加或减少子框架、 改变子框架的顺序 。 用Labeling tool 可修改每个 case selector label 及该子框架执行的条件
改?
3. build Array函数的运行结果有何特点?
思考题
文件夹”02-ArrayClusterStructureChartGraph“
1.
2. 3. 4.
5.
6. 7. 8.
一个三维3*4*5数组(3页4行5列)与一个二维4*3数组连至Build Array函 数的两个输入端口,其输出端口的数组大小是多少?Build Array函数的各 输入端口可接收不同维数的数组,允许的最大维数差值是多少?(参看例 程01与02) △ 在例程03中,能否将“Cluster 2”端口与”Cluster”端口相连?为什么? △ 在例程04-1中,将”millisecond delay” 的值改为5000,然后运行VI。请问: 在按下stop按钮后,VI为何不能马上结束运行? △ 在例程05中,如果将框图程序中左侧的”random number (0-1)”函数用一个 一维数组常量或控制型数组端口来替换,最外层For Loop输出端口中获得 的数组是多少维? △ 参看例程09-1,09-2与10,了解LabVIEW中Waveform Chart, Waveform Graph, XY Graph三种控件可接收 的数据类型及其区别。在它们中选择适 当的一种画出函数x^2+y^2=4的图形。 在例程13中,为什么不出现想要的运行结果? △ 看例程16-1, 16-2, 16-3, 16-4,进一步理解数据流(dataflow)的概念。 参看例程18-1与18-2, 体会Formula Node的优点。

虚拟仪器LabVIEW 第5章 数组、簇和曲线图形

虚拟仪器LabVIEW 第5章 数组、簇和曲线图形

图形光标
5.3.2 Waveform Graph数据类型
一。单曲线图形显示 ( Waveform Graph 可接收两种数据类型 )
二.多曲线图形显示
5.3.3
XY Graph
一.单曲线数据类型
XY 数据类型(一)
XY 数据类型(二)
二.多曲线数据数据类型
XY 双曲线图形显示
5.4 练习
5.2.2 簇函数
1. Unbundle (解捆) 函数
例5.2.1 将一个簇中的各个元素值分别取出。
2.Bundle (捆绑)函数
例5.2.2
Bundle函数的使用。
例5.2.3 修改簇中某些元素的值。
5.3 曲线图显示件
5.3.1 Waveform Graph 控件
Waveform Graph 菜单选项
Add 函数的多态组合
5.2 簇(Clusters)
什么是簇? 簇是由不同类型的数据元素组成的一种数据类型。 5.2.1簇的创建
(a) 混合簇控制件 (b) 混合簇指示器 (c)数值型簇控制件
a. 混合簇控制端点
b.混合簇指示端点
c. 数值型控制簇
在程序框图中的端点图标
注意
在一个簇对象中,簇元素只能同为控制件或指示件,不能 同时包含两种。一个簇是控制簇还是指示簇,取决于放进 簇中的第一个元素。 簇控件和簇指示器的转换
5.4.1 练习使用自动索引功能创建数组。 目标:利用For Loop自动索引特性创建一个数组,并在waveform graph 上显示该数组波形。
5.4.2 练习
使用Graph和 分析VI
练习目的:创建一个VI,用于实时测量和显示温度,同时 显示温度的最大值、最小值和平均值。

LabVIEW 数组和簇

LabVIEW 数组和簇

23
错误簇和错误处理函数
error in 和error out簇
– 对于系统错误,code都有预先的定义,可以 通过选择Help->Explain Error…打开错误解 释框来查找该错误代码的更详细的解释。
24
错误簇和错误处理函数
传输错误信息:错误流
25
错误簇和错误处理函数
26
小试身手
1. 产生一个6×3的整数随机数数组,随机 数要在0到100之间,然后找出数组的最 大值和最小值及其索引。
18
数组和簇的转换
• 数组和簇的转换函数
19
数组和簇的转换
• 数组和簇的转换函数
20
数组和簇的转换
• 数组和簇的比较函数
21
数组和簇的转换
• 数组和簇的比较函数
22
错误簇和错误处理函数
error in 和error out簇
– LabVIEW利用error in 和error out这两个预定 义簇来作为传递错误信息的载体。
2. 簇的练习:教材练习7.4
27
簇的创建
通过簇控件实现的温度显示器
Байду номын сангаас11
簇(Cluster) ——LabVIEW中的结构体变量
• 改变簇内部元素控件的索引
12
簇(Cluster) ——LabVIEW中的结构体变量
簇操作函数
13
簇(Cluster) ——LabVIEW中的结构体变量
1、解包函数(Unbundle)
– 该函数将簇解开从而获得簇中各个元素的 值。缺省情况下,它会根据输入的簇自动 调整输出端子的数目和数据类型,并按照 簇内部元素索引的顺序排列。
labview应用数组array簇cluster数组和簇的转换错误簇和错误处理函数array数组控件数组控件array数组控件array数组之间的算术运算labview一个非常大的优势就是它可以根据输入数据的类型判断算子的运算方法即自动实现多态对于加减乘除数组之间的运算满足下面的规则

虚拟仪器第七讲 数组和簇

虚拟仪器第七讲  数组和簇

13
用名称捆绑与分解簇
Bundle By Name和Unbundle By Name功能允
许根据元素的名称(而不是其位置)来查询元 素。 与Bundle不同,使用Bundle By Name可以访问 你需要的元素,但不能创建新簇; 它只能替换一个已经存在的簇的元素,同时你 必须给Bundle By Name图标中间的输入端子一 个输入,以申明要替换其元素的簇。 Unbundle可返回指定名称的簇元素,不必考虑 簇的序和大小。(演示,注意理解)
并且在另一个簇中显示其内容 前面板
Input Cluster Numeric 6.00 Boolean1 Boolean 2 Output Cluster Numeric 6.00 Boolean1 Boolean 2 stop STOP
String Tsinghua
String Tsinghua
有时你会发现,将数组变为簇(或者相反)很
方便。尤其是因为LabVIEW包括的关于数组的 操作功能多于簇。例如,前面板上有一个多按 钮的簇,你希望颠倒这些按钮值的序。 Reverse 1D Array功能正好可用,但是它仅可 用于数组。 你可以使用功能Cluster to Array将簇转换为数 组,使用Reverse 1D Array切换开关的值,最 后再利用Array to Claster 变换回簇。
21
10
练习簇
流程图
11
Bundle 函数的解释
12
用名称捆绑与分解簇
有时你并不需要汇集或分解整个簇,而
仅仅需要对其一、两个元素操作。 这时你可以用名称来捆绑与分解簇。 在Cluster 工具模板中除了Bundle及 Unbundle功能外,还提供有Bundle By Name和Unbundle By Name功能

LabVIEW编程的图形图表和数组与簇实验

LabVIEW编程的图形图表和数组与簇实验

LabVIEW编程的图形图表和数组与簇实验一、实验目的1.学习如何使用数组与簇,掌握它们的区别和相应操作;2.学习并掌握Chart和Graph的使用,理解它们的区别。

二、实验内容1.练习数组的基本创建方法a.实验要求:编辑一个利用循环的自动索引(auto-indexing)功能创建一个装有10个随机数的数组。

b.实验结果:程序框图:前面板图:2.编辑下列VI 理解二维数组的产生,存为Two Dimensional Array Demo.vi。

如下分别为程序框图和前面图截取图片。

以下是自己编辑的程序框图和前面板:3.创建一个VIa.实验要求:实现将输入控件值与输入数组合并连接起来生成新的数组。

该VI使用数组大小(Array Size)和初始化数组(Initialize Array)两函数来创建维数合适的新数组,并将新数组的所有元素初始化为1。

最后,VI计算两新数组间的差,并将结果显示在前面板中。

最后将该VI保存为Practice with Arrays .vi文件。

b.添加的功能我的添加功能是在能满足基本实验要求的情况下,做了些改变。

输入数组个数由随机数产生在0-10内,而x数组为10元素的数组。

y数组显然也要为10个元素,它有输入元素和输入数组合并产生。

因此间接决定了输入元素。

c.实验结果:程序框图:前面板图:4.创建由一个控件簇和一个显示簇所组成的VIa.实验要求:要求控件进行操作时,显示簇同时进行相应的显示。

前面板组成如图4.3,最后将该VI保存为Cluster.vi文件。

b.实验说明:对输入数字取反;对第一个布尔元件进行取非操作;将二个布尔元件的值进行异或操作然后输出;对字符串中的大写字母转化为小写。

c.实验结果:程序框图:前面板:5.创建一个VIa.实验要求:用Chart和Graph分别显示40个随机数产生的曲线,比较程序的差别:b.实验说明:在满足基本要求的情况下,对程序做了些改变。

使它输出40个数据后间隔2000ms后重新开始下一轮40个数据的采集。

基于labview的数组、簇和波形共47页

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

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

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

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

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

28、知之者不如好之者,好之者不如乐之者。——孔子
  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,在前面板中放置一个数组。

设置它的标签为Waveform Array。

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

如右图所示。

它用于显示数组的内容。

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

设置它的标签为Waveform Graph。

5.隐藏图例和模板。

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

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

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

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

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

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

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

这种功能叫做自动索引。

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

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

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

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

z数值常数( Functions»Numeric)——三个数值常数用于设置For循环执行的周期数N=100,初始X=0和delta X=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。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

2.打开流程图。

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

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

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

z用自动索引功能设置 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运算为将一个数插入数组中最左边的空位。

B=0 初始化C=0K=size(A(.)) 测A数组大小For i=0 to k-1p=A(i) 取第I个元素值if p>=0 thenIns p,Sbr 将p值插入右寄存器ElseIns p,Scrend ifSbl=Sbr 右寄存器值送给左寄存器Scl=ScrNext iB=Sbr 右寄存器值送到正数组C=ScrPrint B 显示Print CEnd练习 3-2结束。

相关文档
最新文档