基于labview的数组、簇和波形

上传人:油条 文档编号:24866207 上传时间:2017-12-08 格式:PPT 页数:45 大小:686KB
返回 下载 相关 举报
基于labview的数组、簇和波形_第1页
第1页 / 共45页
基于labview的数组、簇和波形_第2页
第2页 / 共45页
基于labview的数组、簇和波形_第3页
第3页 / 共45页
基于labview的数组、簇和波形_第4页
第4页 / 共45页
基于labview的数组、簇和波形_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《基于labview的数组、簇和波形》由会员分享,可在线阅读,更多相关《基于labview的数组、簇和波形(45页珍藏版)》请在金锄头文库上搜索。

1、数组、簇和波形,LabVIEW的数据类型,数据类型选择和转换:,数值型控件对象的数据类型或格式和精度指定:右击对象,在弹出菜单上选择“Represeutation”或”Format Precision”不同数据类型连接时,有的可以自动转换,有的不行可使用转换函数强制转换转换函数在函数面板数值运算Numeric中conversion子模板中,数 组,数组是同一类型数据的集合。LabVIEW中的数组元素可以为任何数值类型、布尔型、字符串和簇。,数组、图表、图形不能作为数组元素,数组,一个数组可以是一维的,在内存允许的情况下,也可以是多维的,每维最多可以包含231_1个元素。可以通过数组指针(索引i

2、ndex)访问数组元素,指针在0到N1的范围内变化,而就是数组元素的个数。例:10元素的一维数组,思考?,波形如何存储?,波形可以存储在数组中,波形上一点构成数组中的一个元素。,数组的创建,在前面板创建在后面板创建通过函数或VIS动态生成,在前面板创建数组:,第一步创建数组壳: 从控制模板的Array&Cluster子模板中选择Array控制器,放在前面板上,即建立了一个空的数组壳(Array Shell)第二步建立数据对象:把一个数据对象拖入数组壳,或者从控制模板中添加一个数据对象到数组壳中,这样就可以创建一个数组,离索引显示最近的元素对应该索引显示里索引值关联的元素,索引显示,增加数组维数

3、,在数组壳左边的指针标记上弹出菜单,选择Add Dimension选项,增加数组的维数,列指针,行指针,当前指针指示的元素,4行2列元素,三维数组、n维数组,页指针,行指针,列指针,后面板创建数组,添加数组容器添加数组元素,前面板创建的是数组变量(控制量或显示量)后面板创建的是数组常量,利用循环创建数组,在For循环和While循环的边框上可以自动地累积数据,形成数组,这种特性被称为自动索引。自动索引为打开状态时,每一次循环产生一个新的数组元素,并存储在循环的边框上。循环结束以后,数组数据将传送到循环外的数组指示器中。若自动索引被设为无效,则只有最后一次循环产生的数传到循环外 。For循环数据

4、出口的自动索引默认为有效。而While循环的数据出口的自动索引默认为无效在数据出口信道上右击,弹出菜单中可修改自动索引。,创建二维数组,使用两个For循环,把其中一个嵌套在另一个中可以生成一个二维数组。外层的For循环产生行,而内层的For循环产生列,生成数组列,生成数组行,课后思考并练习,如何用while循环创建一维或二维数组?,1.用while循环创建数组时,要打开自动索引;2.While循环是在运算之后检查条件端子;3.要设置停止的条件。,数组函数子模板,1.数组大小 Array Size2.数组检索 Index Array 3.替换数组元素Replace Array Subset4.插

5、入数组元素 Insert Into Array5.删除元素 Delete From Array6.初始化数组Initialize Array7.创建数组 Build Array 8.子数组 Array Subset9.一维数组循环移位.Rotate 1D Array10.一维数组倒置 Reverse 1D Array11.一维数组搜索 Search 1D Array12.一维数组分离 Split 1D Array13.一维数组排序 Sort 1D Array14.数组最大值和最小值 Array Max &Min15.二维数组转置 Transpose 2D Array16.一维数组插值 Inte

6、rpolate 1D Array17.一维数组阈值 Threshold 1D Array18.一维数组接插 Interleave 1D Array 19一维数组拆分 Decimate 1D Array20.改变数组维数 Reshape Array,21.簇到数组 Cluster To Array22.数组到簇 Array To Cluster,数组函数举例,设计一个三基色的混色器,设计一个VI,产生8个随机数组成的数组,先倒序排列,按从小到大排列,并且求出最大值、最小值。,使用 For 循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组,更多例子请参考labview软安装路径下:

7、LabVIEW8.6exmaplesgeneralArrays.llb,课后练习:,练习1:产生一个数组,熟悉数组函数。设计一个VI用来连接两个数组。把一个初始化后的数组以指定的偏移量添加到另一个数组中,并指出最后数组的中间元素。练习2:设计一个VI,产生一个二维的随机数数组(3行10列),数组产生后,对每一行进行索引并将每一行绘制在它自己的Graph上(前面板中应包括三个Graph指示器)。 练习3:设计一个VI,产生一维数组,然后将相邻的一对元素相乘(从元素0和元素1开始),最后输出结果数值。例如,输入数组值为1, 23, 10, 5, 7 , 11,输出数组为23, 50 ,35, 77

8、。,簇数据,定义:簇是一种可以把相同或不同类型的数据组合在一起的数据结构,类似于C语言中的结构体数据类型struct。我们可以把簇形象地理解为一根多芯电缆,不同的信号线捆绑在一起进行传输,电缆中的每根线就相当于簇中的每个元素。例如,学生情况表中有这样一些数据:姓名(字符型)、性别(字符型)、年龄(数字型)、党员否(布尔型)等,形成一个簇 。,Bundle函数(Cluster子模板中),创建簇,方法1:在框图程序中使用Bundle函数(Cluster子模板中)Bundle函数可以新建簇,还可在已有簇中添加元素方法2:在前面板放置一个簇的空框架(Control 模板的Cluster子模板中的Clu

9、ster控件) ,在框架中再增加簇的元素 。,关于簇的几点说明,簇有固定的大小,不像数组那样可以动态改变,只有类型相同的簇之间可以连接,相同的顺序;相同顺序上元素数据类型相同,簇中元素顺序是0N-1,只与元素对象放入簇中的先后有关,与前面板的显示风格无关,如何改变簇元素对象的顺序,新的顺序,当前的顺序,簇数据操作,1、Unbundle分解簇函数2、 Bundle合成簇函数3、 Unbundle By Name 按名称分解簇函数4、 bundle By Name 按名称合成簇函数5、Build Cluster Array 建立簇数组函数6、Index & Bundle Cluster Array

10、 按索引组合簇数组函数 7、簇和数组相互转换Cluster To Array和 Array To Cluster,簇函数bundle和unbundle,应用举例,创建一个,检测输入簇中的Numeric1数值控件值是否大于等于0,如果小于0,VI计算所有控件的绝对值。如果大于等于0,VI不用计算任何控件的绝对值。无论Numeric1的值是什么,VI都将所有的值乘以0.5并将结果显示在Output Cluster上。,数组和簇的转换,有时你会发现,将数组变为簇(或者相反)很方便。尤其是因为LabVIEW包括的关于数组的操作功能多于簇。例如,前面板上有一个多按钮的簇,你希望颠倒这些按钮值的序。好了,

11、Reverse 1D Array功能正好可用,但是它仅可用于数组。这没关系,你可以使用功能Cluster to Array将簇转换为数组,使用Reverse 1D Array切换开关的值,最后再利用Array to Claster 变换回簇。,使用时要指定输出簇的大小,输出簇大小必须与连接到它输入数据的元素数量匹配。否则不足或多出的簇元素会被以默认值填充或被截断。(簇的大小默认为9),不能对包含以数组为元素的簇应用此函数;簇中的元素数据类型必须一样;数组的索引对应簇顺序,数组和簇的比较函数模式,在Comparison子模板中有一些比较函数在对数组或簇运算时有两种模式: Compare Aggr

12、egates(集合比较) Compare Elements(元素比较),相同位置上元素比较结果全部为ture时才返回Ture,否则返回False,返回一个布尔型数组或簇,成员是每一对同样位置上元素的比较结果,波形数据类型,一种特殊的簇簇元素: t0 时间戳 (也是一种数据类型) dt t或delta-t, Y数据的间隔时间 Y 随时间变化的一组数据 Attributes 绑定信息,如设备号或通道号,物理意义:对被测的模拟信号,进行采样,A/D变换,采样率为fs,由时间起始值X0,采样时间间隔X=1/fs,数组Y为各个时刻的采样值。,波形数据类型存储波形? Or数组数据类型存储波形?, 需要回放

13、历史数据的绝对时间, 需设置采样间隔,多曲线显示; 知道相对时间就可以了,均匀采样,波形数据的创建和处理,函数1 Get Waveform Components 2.Build Waveform 3.Get Waveform Attribute 4 Set Waveform Attribute 5 Waveform Operations6 Waveform File I/O 7 Waveform Measurements8 Waveform GenerationVI,图形显示,图形是以曲线来显示数据常用的二维图形控件有波形Chart和波形Graph和XY Graph可显示单条曲线和显示多条曲线

14、。图形控件有很多特性,可以设置和修改,改变曲线显示的格式。,波形chart和波形Graph的使用,图形Chart可以交互式绘制曲线,常用于循环中,可以保存并显示已采集到的数据,当新数据到来时可以追加显示。图形Graph一次性绘制预先产生的数据数组,不能将新数据追加到以前产生的数据上,Chart和Graph使用总结,波形Chart:单点以及多点波形Chart的框图程序单曲线波形Graph,参考的例程,Charts.viWaveform Graph.vi,XY Graph使用,对于不等间隔采样或每一个X对应多个Y的图形绘制,需要用(x,y)坐标来指定数据点。,单曲线和多曲线XY Graph,多曲线波形Graph,图形显示举例,创建一个VI来测量温度并将测量结果显示在波形图表中。设计一个VI来测量温度,每隔0.25秒测一次,共测 定10秒。在数据采集过程中,VI将在波形Chat上实时地显示测量结果。采集过程结束后,在Graph上画出温度数据曲线及最佳拟合曲线,并算出温度的最大值,最小值和平均值。温度上下限,温度超出上下限则发出告警,更多图形显示例子请参见National InstrumentsLabVIEW 8.6examplesWaveform,推荐一些学习网站,china开源代码社区OpenG http:/wiki.openg.orghttp:/ http:/ http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号