《第06章数组和簇精选PPT.ppt》由会员分享,可在线阅读,更多相关《第06章数组和簇精选PPT.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第06章数组和簇第1页,此课件共55页哦1.内部数组函数2.使用内部函数处理簇重点第2页,此课件共55页哦1.多态性的概念难点第3页,此课件共55页哦1、数组与簇的区别?2、数组和簇用G语言编程和用C语言编程的区别?思考题第4页,此课件共55页哦第6章 数组和簇6.1 数组6.2 用循环创建数组6.3 数组函数6.4 多态性6.5 簇6.6 创建簇控件和指示器6.7 簇函数6.8 搭积木:测量容器6.9 课后阅读:LabVIEW监控中世纪钟楼6.10 小结第5页,此课件共55页哦6.1 数组6.1.1 创建数组控件和指示器6.1.2 多维数组第6页,此课件共55页哦数组v数组是由同一类型数据元
2、素组成的大小可变的集合v在VI中使用数组能:压缩框图代码,容易开发代码v数组可有一维或多维,每维最多231个元素。元素的最大数量取决于可利用的内存v数组的单个元素可为任何类型(除数组、图表、图形)v数组索引0n-1v数组的显示:数组控件或指示器、波形图第7页,此课件共55页哦6.1.1 创建数组控件和指示器v创建数组:选取数组框架、将有效数据对象拖进数组框架v显示数组的更多元素,调节数组窗口大小v显示在数组左边方框中的索引值对应第一个可显示的元素v单击索引框上的上、下箭头可遍历整个数组v数组连线粗v举例说明 数字、字符串第8页,此课件共55页哦6.1.2 多维数组vn维数组需要n个索引v增加数
3、组维数:使用Position工具来调整索引显示框大小;弹出快捷菜单并选择Add Dimension(增加维数)v减少数组维数v示例说明第9页,此课件共55页哦6.2 用循环创建数组6.1.1 创建数组控件和指示器6.1.2 多维数组第10页,此课件共55页哦6.2 用循环创建数组v可以使用For循环和While循环的自动索引方法自动创建数组v每个循环创建数组的一个元素v循环执行完成后,才将数组从循环内输出到指示器中vDisable Indexing禁用自动索引:当VI执行完后,仅从循环中输出数组的最后一个值。v自动索引:For循环和While循环在循环边界上对数组自动建立索引Chapter 6
4、内Array Auto Index Demo.vi第11页,此课件共55页哦Array Auto Index Demo.viArray Auto Index Demo.vi的前面板和框图第12页,此课件共55页哦6.2 用循环创建数组v也可以一次一个元素或一次性地将整个数组输入到循环内v允许索引:一次一个元素v禁用索引:整个数组一次性传输到循环内v对于允许自动索引的For循环,数组进入循环时自动将循环的计数值设置为数组的元素个数,因此不需要为循环计数N连接计数值。v如果数组个数和N发生矛盾:取较小值Chapter 6内Array Auto Count Set.vi第13页,此课件共55页哦6.
5、2.1 创建二维数组v使用两个嵌套的For循环可以创建二维数组。v外层循环创建行,内层循环创建列Chapter 6内Two Dimensional Array Demo.vi第14页,此课件共55页哦6.3 数组函数6.3.1 数组大小6.3.2 初试化数组6.3.3 构建数组6.3.4 数组子集6.3.5 索引数组第15页,此课件共55页哦6.3.1 数组大小Array Size Demo.vi一维二维第16页,此课件共55页哦6.3.2 初始化数组vInitalize Array(初试化数组)函数以用户指定的元素值创建n维数组,数组中的所有元素均初始化成同一个值v创建和初始化多维数组v删除
6、维数v输入参数确定数组的数据类型并初始化数组的每一个元素vdimension size确定数组大小Array Initialization Demo.vi第17页,此课件共55页哦Array Initialization Demo.vi第18页,此课件共55页哦6.3.3 构建数组vBuild Array(构建数组)函数用于合并多个数组或给数组添加元素v函数有两种类型的输入:标量和数组,因此函数可以接收数组和单值元素输入v添加输入:Add Input 或拖曳v删除输入:Remove Input 或拖曳v输入类型(元素或数组)可自动配置v讲解:Concatenate Inputs的作用Array
7、 Build Demo.vi第19页,此课件共55页哦Array Build Demo.vi第20页,此课件共55页哦6.3.4 数组子集vArray Subset(数组子集)函数返回数组中从index开始的length个元素部分v数组索引从0开始Array Subset Demo.vi第21页,此课件共55页哦Array Build Demo.vi第22页,此课件共55页哦6.3.5 索引数组vIndex Array(索引数组)函数访问数组的一个元素vIndexd number指定要访问的数组元素v第一个元素的索引号是0vIndex Array函数会自动调整大小以匹配连接的输入数组维数v访问
8、多个元素或子数组v三种情况:一行、一列、一个元素Array Index Demo.vi第23页,此课件共55页哦Array Index Demo.vi第24页,此课件共55页哦Array Index Demo.vi第25页,此课件共55页哦练习:数组v打开LearningChapter 6Practice with Arrays.viv前面板包含4个数组和一个数组控件。完成后的VI将合并连接的输入数组和数字控件值以生成新的数组。VI将使用Array Size和Array Initialize函数来创建维数合适的新数组,并将新数组的所有元素初始化为1。最后,VI计算两个新数组间的差,将结果显示在
9、前面板上。v讲清楚此VI的任务和如何完成第26页,此课件共55页哦Practice with Arrays.vi前面板第27页,此课件共55页哦Practice with Arrays.vi框图(未完成)第28页,此课件共55页哦Practice with Arrays.vi框图(完成)第29页,此课件共55页哦6.4 多态性v多态性(Polymorphism)是LabVIEW的某些函数(如加、乘、除)接受不同维数和类型输入的能力v拥有多态性的函数是多态函数v例如:将标量添加到数组,将两个不同长度的数组相加(取较短的数据长度)v加、乘函数具有多态性vPolymorphisms.vi和Polym
10、orphisms demo.vi第30页,此课件共55页哦Polymorphisms.vi标量+标量=标量标量+数组=数组(标量与每个元素相加)数组+数组=数组(两个输入数组中较短一个的数组长度)第31页,此课件共55页哦Polymorphism Demo.vi第32页,此课件共55页哦练习:使用多态性vPolymorphism Practice.vi第33页,此课件共55页哦Polymorphism Practice.vi框图第34页,此课件共55页哦6.5 簇v簇(Cluster)是一种类似数组的数据结构,用于分组数据v簇可以包含不同的数据类型v访问簇的元素最好通过释放方法(unbundl
11、ing)同时访问部分或全部元素,而不是通过索引一次访问一个元素v簇具有固定的大小v簇和数组相似之处:都由控件和指示器组成v簇不能同时包含控件和指示器v簇通常用于将出现在框图上的有关数据分组管理,可减少连线(一捆连线)和子VI连接端子个数v框图上,只有将相同类型、相同元素数量、相同元素顺序时才能相连。v多态性应用于簇时,只需要簇具有同样顺序、同样数量的元素v举例:一个包含数字控件、水平切换开关、字符串控件、旋钮控件的簇第35页,此课件共55页哦6.6 创建簇控件和指示器v放置簇框架(在前面板)v新的簇框架有可调整大小的边缘和标签(可选)v可将数字、布尔型、字符串、图表、图形、数组等放进框架中来创
12、建簇v簇可以包含控件和指示器,但两者不能共存v一个簇变为控件或指示器取决于放进簇中的第一个元素v从任何簇元素的快捷菜单中选择Chang To Control或Chang To Indicator时,簇及其所有元素都将变成控件或指示器v前面板的现有对象也可拖曳进簇框架中第36页,此课件共55页哦6.6.1 簇顺序v簇元素按照它们放入簇中的先后顺序排序(注意不是按位置)v第一个对象标记为对象0v当删除元素时,剩余元素的顺序将自动调整v在框图Bundle和Unbundle函数上,簇顺序决定元素端子的显示顺序v如果要访问簇中单个元素,必须记住簇顺序v检查和改变簇内元素的顺序(在前面板上,从簇边缘弹出快
13、捷菜单并选择Reorder Control in Cluster)举例说明v簇连接时应注意元素顺序(举例P184)第37页,此课件共55页哦簇顺序的重要性说明第38页,此课件共55页哦6.6.2 使用簇与子VI交换数据v一个VI最多28端子v端子多时,端子将非常小,连线困难v使用簇可将相关控件或指示器组合起来v一个簇只占用一个端子,但它可以包含多个控件或指示器(但不能共存)v子VI仅使用一个端子就能传递多个输出第39页,此课件共55页哦6.7 簇函数6.7.1 Bundle函数6.7.2 Unbundle函数6.7.3 在框图中创建簇常数6.7.4 使用多态性簇第40页,此课件共55页哦6.7
14、.1 Bundle函数vBundle函数用于将若干独立元素装配到一个新簇中,或者替换现有簇中的元素v簇内元素的顺序和Bundle函数的输入顺序相同(从上到下)Cluster Bundle Demo.viv思考:当需要替换或改变簇的一或两个或部分元素的值,但又不希望影响其它元素时,怎么办?v提示:利用Bundle函数中间的输入端子第41页,此课件共55页哦Cluster Bundle Demo.viX0 x轴原点1 X轴增量第42页,此课件共55页哦Cluster Element Replacement.vi前面板第43页,此课件共55页哦Cluster Element Replacement.
15、vi框图第44页,此课件共55页哦6.7.2 Unbundle函数vUnbundle函数用于从簇中提取单个组件v输出组件按簇顺序从上到下排列v在创建正确数量的输出端子前,簇连线是断开的v当把一个输入簇连接到一个大小合适的Unbundle函数时,先前空的输出端子将显示簇中数据类型的符号v思考:bundle by Name的用法?v Unbundle by Name的用法?第45页,此课件共55页哦Cluster Unbundle Demo.vi前面板第46页,此课件共55页哦Cluster Unbundle Demo.vi框图第47页,此课件共55页哦6.7.3在框图中创建簇常量v选择Clust
16、er Constant,可以创建簇框架v在簇框架内放置合适数据类型的常量(拖曳或选择Creat-Constant)第48页,此课件共55页哦6.7.4 使用多态性簇v可以用算数函数处理数字簇v可以使用字符串数字转换函数将数字簇转换成字符串簇第49页,此课件共55页哦ClusterScaling.vi前面板第50页,此课件共55页哦ClusterScaling.vi框图第51页,此课件共55页哦6.8 搭积木:测量容器(自学)第52页,此课件共55页哦6.9 课后阅读:LabVIEW监控中世纪钟楼v自学,不要求第53页,此课件共55页哦6.10 小结v本章主要内容:数组和簇。v数组是一种由相同类型的数据元素组成的大小可变的集合v簇是一种由混合类型的数据元素组成的大小固定的集合v多态性:函数适应不同的输入数据类型、维数或表示方法的能力。v关键术语:P195第54页,此课件共55页哦作业(自己做,不用交)vP198 6.6、6.7第55页,此课件共55页哦