基于labview的数组、簇和波形.ppt

上传人:tia****nde 文档编号:12729492 上传时间:2020-05-20 格式:PPT 页数:45 大小:881.36KB
返回 下载 相关 举报
基于labview的数组、簇和波形.ppt_第1页
第1页 / 共45页
基于labview的数组、簇和波形.ppt_第2页
第2页 / 共45页
基于labview的数组、簇和波形.ppt_第3页
第3页 / 共45页
点击查看更多>>
资源描述
数组、簇和波形,LabVIEW的数据类型,数据类型选择和转换:,数值型控件对象的数据类型或格式和精度指定:右击对象,在弹出菜单上选择“Represeutation”或”FormatPrecision”不同数据类型连接时,有的可以自动转换,有的不行可使用转换函数强制转换转换函数在函数面板数值运算Numeric中conversion子模板中,数组,数组是同一类型数据的集合。LabVIEW中的数组元素可以为任何数值类型、布尔型、字符串和簇。,数组、图表、图形不能作为数组元素,数组,一个数组可以是一维的,在内存允许的情况下,也可以是多维的,每维最多可以包含231_1个元素。可以通过数组指针(索引index)访问数组元素,指针在0到N1的范围内变化,而就是数组元素的个数。例:10元素的一维数组,思考?,波形如何存储?,波形可以存储在数组中,波形上一点构成数组中的一个元素。,数组的创建,在前面板创建在后面板创建通过函数或VIS动态生成,在前面板创建数组:,第一步创建数组壳:从控制模板的Array&Cluster子模板中选择Array控制器,放在前面板上,即建立了一个空的数组壳(ArrayShell)第二步建立数据对象:把一个数据对象拖入数组壳,或者从控制模板中添加一个数据对象到数组壳中,这样就可以创建一个数组,离索引显示最近的元素对应该索引显示里索引值关联的元素,索引显示,增加数组维数,在数组壳左边的指针标记上弹出菜单,选择AddDimension选项,增加数组的维数,列指针,行指针,当前指针指示的元素,4行2列元素,三维数组、n维数组,页指针,行指针,列指针,后面板创建数组,添加数组容器添加数组元素,前面板创建的是数组变量(控制量或显示量)后面板创建的是数组常量,利用循环创建数组,在For循环和While循环的边框上可以自动地累积数据,形成数组,这种特性被称为自动索引。自动索引为打开状态时,每一次循环产生一个新的数组元素,并存储在循环的边框上。循环结束以后,数组数据将传送到循环外的数组指示器中。若自动索引被设为无效,则只有最后一次循环产生的数传到循环外。For循环数据出口的自动索引默认为有效。而While循环的数据出口的自动索引默认为无效在数据出口信道上右击,弹出菜单中可修改自动索引。,创建二维数组,使用两个For循环,把其中一个嵌套在另一个中可以生成一个二维数组。外层的For循环产生行,而内层的For循环产生列,生成数组列,生成数组行,课后思考并练习,如何用while循环创建一维或二维数组?,1.用while循环创建数组时,要打开自动索引;2.While循环是在运算之后检查条件端子;3.要设置停止的条件。,数组函数子模板,1.数组大小ArraySize2.数组检索IndexArray3.替换数组元素ReplaceArraySubset4.插入数组元素InsertIntoArray5.删除元素DeleteFromArray6.初始化数组InitializeArray7.创建数组BuildArray8.子数组ArraySubset9.一维数组循环移位.Rotate1DArray10.一维数组倒置Reverse1DArray11.一维数组搜索Search1DArray12.一维数组分离Split1DArray13.一维数组排序Sort1DArray14.数组最大值和最小值ArrayMax&Min15.二维数组转置Transpose2DArray16.一维数组插值Interpolate1DArray17.一维数组阈值Threshold1DArray18.一维数组接插Interleave1DArray19一维数组拆分Decimate1DArray20.改变数组维数ReshapeArray,21.簇到数组ClusterToArray22.数组到簇ArrayToCluster,数组函数举例,设计一个三基色的混色器,设计一个VI,产生8个随机数组成的数组,先倒序排列,按从小到大排列,并且求出最大值、最小值。,使用For循环的自动索引功能创建数组,并用一个图形(Graph)显示该数组,更多例子请参考labview软安装路径下: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。,簇数据,定义:簇是一种可以把相同或不同类型的数据组合在一起的数据结构,类似于C语言中的结构体数据类型struct。我们可以把簇形象地理解为一根多芯电缆,不同的信号线捆绑在一起进行传输,电缆中的每根线就相当于簇中的每个元素。例如,学生情况表中有这样一些数据:姓名(字符型)、性别(字符型)、年龄(数字型)、党员否(布尔型)等,形成一个簇。,Bundle函数(Cluster子模板中),创建簇,方法1:在框图程序中使用Bundle函数(Cluster子模板中)Bundle函数可以新建簇,还可在已有簇中添加元素方法2:在前面板放置一个簇的空框架(Control模板的Cluster子模板中的Cluster控件),在框架中再增加簇的元素。,关于簇的几点说明,簇有固定的大小,不像数组那样可以动态改变,只有类型相同的簇之间可以连接,相同的顺序;相同顺序上元素数据类型相同,簇中元素顺序是0N-1,只与元素对象放入簇中的先后有关,与前面板的显示风格无关,如何改变簇元素对象的顺序,新的顺序,当前的顺序,簇数据操作,1、Unbundle分解簇函数2、Bundle合成簇函数3、UnbundleByName按名称分解簇函数4、bundleByName按名称合成簇函数5、BuildClusterArray建立簇数组函数6、Index&BundleClusterArray按索引组合簇数组函数7、簇和数组相互转换ClusterToArray和ArrayToCluster,簇函数bundle和unbundle,应用举例,创建一个,检测输入簇中的Numeric1数值控件值是否大于等于0,如果小于0,VI计算所有控件的绝对值。如果大于等于0,VI不用计算任何控件的绝对值。无论Numeric1的值是什么,VI都将所有的值乘以0.5并将结果显示在OutputCluster上。,数组和簇的转换,有时你会发现,将数组变为簇(或者相反)很方便。尤其是因为LabVIEW包括的关于数组的操作功能多于簇。例如,前面板上有一个多按钮的簇,你希望颠倒这些按钮值的序。好了,Reverse1DArray功能正好可用,但是它仅可用于数组。这没关系,你可以使用功能ClustertoArray将簇转换为数组,使用Reverse1DArray切换开关的值,最后再利用ArraytoClaster变换回簇。,使用时要指定输出簇的大小,输出簇大小必须与连接到它输入数据的元素数量匹配。否则不足或多出的簇元素会被以默认值填充或被截断。(簇的大小默认为9),不能对包含以数组为元素的簇应用此函数;簇中的元素数据类型必须一样;数组的索引对应簇顺序,数组和簇的比较函数模式,在Comparison子模板中有一些比较函数在对数组或簇运算时有两种模式:CompareAggregates(集合比较)CompareElements(元素比较),相同位置上元素比较结果全部为ture时才返回Ture,否则返回False,返回一个布尔型数组或簇,成员是每一对同样位置上元素的比较结果,波形数据类型,一种特殊的簇簇元素:t0时间戳(也是一种数据类型)dtt或delta-t,Y数据的间隔时间Y随时间变化的一组数据Attributes绑定信息,如设备号或通道号,物理意义:对被测的模拟信号,进行采样,A/D变换,采样率为fs,由时间起始值X0,采样时间间隔X=1/fs,数组Y为各个时刻的采样值。,波形数据类型存储波形?Or数组数据类型存储波形?,需要回放历史数据的绝对时间,需设置采样间隔,多曲线显示;知道相对时间就可以了,均匀采样,波形数据的创建和处理,函数1GetWaveformComponents2.BuildWaveform3.GetWaveformAttribute4SetWaveformAttribute5WaveformOperations6WaveformFileI/O7WaveformMeasurements8WaveformGenerationVI,图形显示,图形是以曲线来显示数据常用的二维图形控件有波形Chart和波形Graph和XYGraph可显示单条曲线和显示多条曲线。图形控件有很多特性,可以设置和修改,改变曲线显示的格式。,波形chart和波形Graph的使用,图形Chart可以交互式绘制曲线,常用于循环中,可以保存并显示已采集到的数据,当新数据到来时可以追加显示。图形Graph一次性绘制预先产生的数据数组,不能将新数据追加到以前产生的数据上,Chart和Graph使用总结,波形Chart:单点以及多点波形Chart的框图程序单曲线波形Graph,参考的例程,Charts.viWaveformGraph.vi,XYGraph使用,对于不等间隔采样或每一个X对应多个Y的图形绘制,需要用(x,y)坐标来指定数据点。,单曲线和多曲线XYGraph,多曲线波形Graph,图形显示举例,创建一个VI来测量温度并将测量结果显示在波形图表中。设计一个VI来测量温度,每隔0.25秒测一次,共测定10秒。在数据采集过程中,VI将在波形Chat上实时地显示测量结果。采集过程结束后,在Graph上画出温度数据曲线及最佳拟合曲线,并算出温度的最大值,最小值和平均值。温度上下限,温度超出上下限则发出告警,更多图形显示例子请参见NationalInstrumentsLabVIEW8.6examplesWaveform,推荐一些学习网站,china开源代码社区OpenGhttp:/wiki.openg.org,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!