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

上传人:wuy****n92 文档编号:73761416 上传时间:2023-02-22 格式:PPT 页数:45 大小:612.50KB
返回 下载 相关 举报
基于labview的数组、簇和波形.ppt_第1页
第1页 / 共45页
基于labview的数组、簇和波形.ppt_第2页
第2页 / 共45页
点击查看更多>>
资源描述

《基于labview的数组、簇和波形.ppt》由会员分享,可在线阅读,更多相关《基于labview的数组、簇和波形.ppt(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数组、簇和波形数组、簇和波形LabVIEW的数据类型的数据类型数据类型选择和转换:数据类型选择和转换:数值型控件对象的数据类型或格式和精度指定:右击对象,数值型控件对象的数据类型或格式和精度指定:右击对象,在弹出菜单上选择在弹出菜单上选择“Represeutation”“Represeutation”或或”Format ”Format Precision”Precision”不同数据类型连接时,有的可以自动转换,有的不行不同数据类型连接时,有的可以自动转换,有的不行 可使用转换函数强制转换可使用转换函数强制转换 转换函数在函数面板数值运算转换函数在函数面板数值运算NumericNumeric中

2、中conversionconversion子模板中子模板中数数 组组数组是同一类型数据的集合。LabVIEW中的数组元素可以为任何数值类型、布尔型、字符串和簇。数组、图表、图形不能作为数组元素数组、图表、图形不能作为数组元素数组数组一个数组可以是一维的,在内存允许的情况下,也可以是多维的,每维最多可以包含231_1个元素。可以通过数组指针(索引index)访问数组元素,指针在0到N1的范围内变化,而就是数组元素的个数。例:10元素的一维数组思考?思考?波形如何存储?波形可以存储在数组中,波形上一点构成数组中的一个元素。数组的创建数组的创建在前面板创建在后面板创建通过函数或VIS动态生成在前面板

3、创建数组:在前面板创建数组:第一步创建数组壳第一步创建数组壳:从控制模板的从控制模板的Array&ClusterArray&Cluster子模板中选择子模板中选择ArrayArray控制器,放在前面控制器,放在前面板上,即建立了一个空的数组壳(板上,即建立了一个空的数组壳(Array ShellArray Shell)第二步建立数据对象第二步建立数据对象:把一个数据对象拖入数组壳,或者从控制模板中添加一个数据对象把一个数据对象拖入数组壳,或者从控制模板中添加一个数据对象到数组壳中,这样就可以创建一个数组到数组壳中,这样就可以创建一个数组离索引显示最近的元素对应该索引显示里索引值关联的元素 索引

4、显示增加数组维数增加数组维数 在数组壳左边的指针标记上弹出菜单,选择Add Dimension选项,增加数组的维数 列指针行指针当前指针指示的元素4行2列元素三维数组、三维数组、n维数组维数组页指针行指针列指针后面板创建数组后面板创建数组添加数组容器添加数组元素前面板创建的是数组变量(控制量或显示量)后面板创建的是数组常量利用循环创建数组利用循环创建数组 在在ForFor循环和循环和WhileWhile循环的边框上可以自动地累积数据,形循环的边框上可以自动地累积数据,形成数组,这种特性被称为自动索引。成数组,这种特性被称为自动索引。自动索引为打开状态时,每一次循环产生一个新的数组元自动索引为打

5、开状态时,每一次循环产生一个新的数组元素,并存储在循环的边框上。循环结束以后,数组数据将素,并存储在循环的边框上。循环结束以后,数组数据将传送到循环外的数组指示器中。传送到循环外的数组指示器中。若自动索引被设为无效,则只有最后一次循环产生的数传若自动索引被设为无效,则只有最后一次循环产生的数传到循环外到循环外 。ForFor循环数据出口的自动索引默认为有效。而循环数据出口的自动索引默认为有效。而WhileWhile循环的循环的数据出口的自动索引默认为无效数据出口的自动索引默认为无效 在数据出口信道上右击,弹出菜单中可修改自动索引。在数据出口信道上右击,弹出菜单中可修改自动索引。创建二维数组创建

6、二维数组 使用两个使用两个ForFor循环,把其中一个嵌套在另一个中可以生成循环,把其中一个嵌套在另一个中可以生成一个二维数组。外层的一个二维数组。外层的ForFor循环产生行,而内层的循环产生行,而内层的ForFor循环循环产生列产生列生成数组列生成数组行课后思考并练习课后思考并练习课后思考并练习课后思考并练习如何用while循环创建一维或二维数组?1.用while循环创建数组时,要打开自动索引;2.While循环是在运算之后检查条件端子;3.要设置停止的条件。数组函数子模板数组函数子模板1.1.数组大小数组大小 Array Size Array Size2.2.数组检索数组检索 Index

7、 Array Index Array 3.3.替换数组元素替换数组元素Replace Array SubsetReplace Array Subset4.4.插入数组元素插入数组元素 Insert Into Array Insert Into Array5.5.删除元素删除元素 Delete From Array Delete From Array6.6.初始化数组初始化数组Initialize ArrayInitialize Array7.7.创建数组创建数组 Build Array Build Array 8.8.子数组子数组 Array Subset Array Subset9.9.一维

8、数组循环移位一维数组循环移位.Rotate 1D Array.Rotate 1D Array10.10.一维数组倒置一维数组倒置 Reverse 1D Array Reverse 1D Array11.11.一维数组搜索一维数组搜索 Search 1D Array Search 1D Array12.12.一维数组分离一维数组分离 Split 1D Array Split 1D Array13.13.一维数组排序一维数组排序 Sort 1D Array Sort 1D Array14.14.数组最大值和最小值数组最大值和最小值 Array Max&Min Array Max&Min15.15.

9、二维数组转置二维数组转置 Transpose 2D Array Transpose 2D Array16.16.一维数组插值一维数组插值 Interpolate 1D Array Interpolate 1D Array17.17.一维数组阈值一维数组阈值 Threshold 1D Array Threshold 1D Array18.18.一维数组接插一维数组接插 Interleave 1D Array Interleave 1D Array 1919一维数组拆分一维数组拆分 Decimate 1D Array Decimate 1D Array20.20.改变数组维数改变数组维数 Resh

10、ape Array Reshape Array21.簇到数组 Cluster To Array22.数组到簇 Array To Cluster数组函数举例数组函数举例设计一个三基色的混色器设计一个设计一个设计一个设计一个VIVI,产生,产生,产生,产生8 8个随机数组成的数组,先倒序排个随机数组成的数组,先倒序排个随机数组成的数组,先倒序排个随机数组成的数组,先倒序排列,按从小到大排列,并且求出最大值、最小值。列,按从小到大排列,并且求出最大值、最小值。列,按从小到大排列,并且求出最大值、最小值。列,按从小到大排列,并且求出最大值、最小值。使用使用 For 循环的自动索引功能创建数组,并循环的

11、自动索引功能创建数组,并用一个图形(用一个图形(Graph)显示该数组)显示该数组 更多例子请参考labview软安装路径下:LabVIEW8.6exmaplesgeneralArrays.llb课后练习:课后练习:练习练习1 1:产生一个数组,熟悉数组函数。设计一个:产生一个数组,熟悉数组函数。设计一个VIVI用来用来连接两个数组。把一个初始化后的数组以指定的偏移量连接两个数组。把一个初始化后的数组以指定的偏移量添加到另一个数组中,并指出最后数组的中间元素。添加到另一个数组中,并指出最后数组的中间元素。练习练习2 2:设计一个:设计一个VIVI,产生一个二维的随机数数组(,产生一个二维的随机

12、数数组(3 3行行1010列),数组产生后,对每一行进行索引并将每一行绘列),数组产生后,对每一行进行索引并将每一行绘制在它自己的制在它自己的GraphGraph上(前面板中应包括三个上(前面板中应包括三个GraphGraph指指示器)。示器)。练习练习3 3:设计一个:设计一个VIVI,产生一维数组,然后将相邻的一对,产生一维数组,然后将相邻的一对元素相乘(从元素元素相乘(从元素0 0和元素和元素1 1开始),最后输出结果数值。开始),最后输出结果数值。例如,输入数组值为例如,输入数组值为1 1,23 23,10 10,5 5,7 7,11 11,输出,输出数组为数组为2323,50 50,

13、3535,77 77。簇数据簇数据 定义:定义:簇是一种可以把相同或不同类型的数据组合簇是一种可以把相同或不同类型的数据组合在一起在一起的数据结构,类似于的数据结构,类似于C C语言中的结构体数据类型语言中的结构体数据类型structstruct。我们可以把簇形象地理解为一根多芯电缆,不同的信号线我们可以把簇形象地理解为一根多芯电缆,不同的信号线捆绑在一起进行传输,电缆中的每根线就相当于簇中的每捆绑在一起进行传输,电缆中的每根线就相当于簇中的每个元素。个元素。例如,学生情况表中有这样一些数据:姓名(字符型)、例如,学生情况表中有这样一些数据:姓名(字符型)、性别(字符型)、年龄(数字型)、党员

14、否(布尔型)等,性别(字符型)、年龄(数字型)、党员否(布尔型)等,形成一个簇形成一个簇 。Bundle函数(Cluster子模板中)创建簇创建簇 方法方法1 1:在框图程序中使用在框图程序中使用BundleBundle函数(函数(ClusterCluster子模板中)子模板中)BundleBundle函数可以新建簇,函数可以新建簇,还可在已有簇中添加元素还可在已有簇中添加元素 方法方法2 2:在前面板放置一个簇的空在前面板放置一个簇的空框架(框架(Control Control 模板的模板的ClusterCluster子模子模板中的板中的ClusterCluster控件)控件),在框架中再,

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

16、称分解簇函数按名称分解簇函数 4 4、bundle By Name bundle By Name 按名称合成簇函数按名称合成簇函数按名称合成簇函数按名称合成簇函数 5 5、Build Cluster Array Build Cluster Array 建立簇数组函数建立簇数组函数建立簇数组函数建立簇数组函数 6 6、Index&Bundle Cluster ArrayIndex&Bundle Cluster Array 按索引组合簇数组函数按索引组合簇数组函数按索引组合簇数组函数按索引组合簇数组函数 7 7、簇和数组相互转换、簇和数组相互转换、簇和数组相互转换、簇和数组相互转换Cluster

17、To ArrayCluster To Array和和和和 Array To Array To ClusterCluster簇函数簇函数bundle和和unbundle应用举例应用举例创建一个,检测输入簇中的Numeric1数值控件值是否大于等于0,如果小于0,VI计算所有控件的绝对值。如果大于等于0,VI不用计算任何控件的绝对值。无论Numeric1的值是什么,VI都将所有的值乘以0.5并将结果显示在Output Cluster上。数组和簇的转换数组和簇的转换 有时你会发现,将数组变为簇(或者相反)很有时你会发现,将数组变为簇(或者相反)很方便。尤其是因为方便。尤其是因为LabVIEWLabV

18、IEW包括的关于数组的包括的关于数组的操作功能多于簇。例如,前面板上有一个多按钮操作功能多于簇。例如,前面板上有一个多按钮的簇,你希望颠倒这些按钮值的序。好了,的簇,你希望颠倒这些按钮值的序。好了,Reverse 1D ArrayReverse 1D Array功能正好可用,但是它仅可功能正好可用,但是它仅可用于数组。这没关系,你可以使用功能用于数组。这没关系,你可以使用功能Cluster Cluster to Arrayto Array将簇转换为数组,使用将簇转换为数组,使用Reverse 1D Reverse 1D ArrayArray切换开关的值,最后再利用切换开关的值,最后再利用Arr

19、ay to Array to Claster Claster 变换回簇。变换回簇。使用时要指定输出簇的大小,输出簇大小必须与连接到它输入数据的元素数量匹配。否则不足或多出的簇元素会被以默认值填充或被截断。(簇的大小默认为9)不能对包含以数组为元素的簇应用此函数;簇中的元素数据类型必须一样;数组的索引对应簇顺序数组和簇的比较函数模式数组和簇的比较函数模式在Comparison子模板中有一些比较函数在对数组或簇运算时有两种模式:Compare Aggregates(集合比较)Compare Elements(元素比较)相同位置上元素比较结果全部为ture时才返回Ture,否则返回False返回一个

20、布尔型数组或簇,成员是每一对同样位置上元素的比较结果波形数据类型波形数据类型一种特殊的簇簇元素:t0 0 时间戳 (也是一种数据类型)dt t或delta-t,Y数据的间隔时间 Y 随时间变化的一组数据 Attributes 绑定信息,如设备号或通道号 物理意义:物理意义:对被测的模拟信号,进行采样,对被测的模拟信号,进行采样,A/DA/D变换,变换,采样率为采样率为fs,fs,由时间起始值由时间起始值X0X0,采样时间间,采样时间间隔隔X=1/fsX=1/fs,数组,数组Y Y为各个时刻的采样值。为各个时刻的采样值。波形数据类型存储波形?波形数据类型存储波形?Or数组数据类型存储波形?数组数

21、据类型存储波形?需要回放历史数据的绝对时间,需设置采样间隔,多曲线显示;知道相对时间就可以了,均匀采样 波形数据的创建和处理波形数据的创建和处理函数1 Get Waveform Components1 Get Waveform Components 2.Build Waveform 2.Build Waveform 3.Get Waveform Attribute 3.Get Waveform Attribute 4 Set Waveform Attribute 4 Set Waveform Attribute 5 Waveform Operations5 Waveform Operation

22、s6 Waveform File I/O 6 Waveform File I/O 7 Waveform Measurements7 Waveform Measurements8 Waveform Generation8 Waveform GenerationVI图形显示图形显示图形是以曲线来显示数据常用的二维图形控件有波形Chart和波形Graph和XY Graph可显示单条曲线和显示多条曲线。图形控件有很多特性,可以设置和修改,改变曲线显示的格式。波形波形chart和波形和波形Graph的使用的使用图形Chart可以交互式绘制曲线,常用于循环中,可以保存并显示已采集到的数据,当新数据到来时可

23、以追加显示。图形Graph一次性绘制预先产生的数据数组,不能将新数据追加到以前产生的数据上Chart和和Graph使用总结使用总结 波形波形ChartChart:单点以及多点波形:单点以及多点波形ChartChart的框图程序的框图程序 单曲线波形单曲线波形GraphGraph 参考的例程参考的例程Charts.viWaveform Graph.viXY Graph使用使用 对于不等间隔采样或每一个X对应多个Y的图形绘制,需要用(x,y)坐标来指定数据点。单曲线和多曲线单曲线和多曲线XY Graph 多曲线波形多曲线波形Graph 图形显示举例图形显示举例创建一个VI来测量温度并将测量结果显示

24、在波形图表中。设计一个设计一个VIVI来测量温度,每隔来测量温度,每隔0.250.25秒测一次,共测秒测一次,共测 定定1010秒。在数据采集过程中,秒。在数据采集过程中,VIVI将在波形将在波形ChatChat上实上实时地显示测量结果。采集过程结束后,在时地显示测量结果。采集过程结束后,在GraphGraph上上画出温度数据曲线及最佳拟合曲线,并算出温度的画出温度数据曲线及最佳拟合曲线,并算出温度的最大值,最小值和平均值。最大值,最小值和平均值。温度上下限,温度超出上下限则发出告警温度上下限,温度超出上下限则发出告警更多图形显示例子请参见National InstrumentsLabVIEW 8.6examplesWaveform推荐一些学习网站推荐一些学习网站china开源代码社区OpenG http:/http:/http:/ http:/

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

当前位置:首页 > 教育专区 > 大学资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁