《LabVIEW编程及虚拟仪器设计(第三讲.pptx》由会员分享,可在线阅读,更多相关《LabVIEW编程及虚拟仪器设计(第三讲.pptx(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、会计学1LabVIEW编程及虚拟仪器设计编程及虚拟仪器设计(shj)(第三第三讲讲)PPT课件课件第一页,共39页。上节课内容(nirng)回顾(1)一、循环结构二、条件(tiojin)结构三、顺序结构四、公式节点五、事件结构While循环For循环循环结构内外(niwi)的数据交换自动索引移位寄存器注意:(1)While循环是先执行、后判断;而For循环的循环次数则是事先定,且具体操作为先判断、后执行(0就不执行)。(2)循环前读入一次,循环完才输出。(3)对For循环,在循环计数端子空置、有输入数组条件下,循环次数由数组元素个数确定;若接入多个数组且均处在自动索引状态,同时循环计数端子也接
2、入有一正整型常量,则循环次数取这些输入中的最小值。(4)While循环的执行次数,仅受循环体内给条件端子置入的具体循环条件制约。第1页/共39页第二页,共39页。上节课内容(nirng)回顾 (2)一、循环结构(jigu)二、条件结构(jigu)三、顺序结构(jigu)四、公式节点五、事件结构(jigu)要么在选择器标签(bioqin)中列出所有可能的情况;要么必须给出一种默认情况。进行条件结构内外的数据交换时,会在其边框上生成隧道。输入隧道在每个分支中都可使用;而输出隧道必须从每个分支都得到明确的(输入)值,否则程序无法运行。(只是 6,Default 分支的显示)第2页/共39页第三页,共
3、39页。上节课内容(nirng)回顾(3)一、循环结构二、条件(tiojin)结构三、顺序结构四、公式节点五、事件结构 输入(shr)数据在顺序结构运行前读入,各帧均可用;输出数据在顺序结构执行完才输出,只跟最后一帧有关。层叠式顺序结构中可设立局部变量,用于在不同帧之间实现数据传递。平铺式顺序结构无需局部变量,数据传递直接经隧道实现。平铺式与层叠式顺序结构实现功能相同,只是表现形式不同。第3页/共39页第四页,共39页。当公式节点中的代码很多,一屏显示不下时,可在代码区域(qy)弹出快捷菜单,选择“显示项”-“滚动条”,从而实现滚动浏览。一、循环结构二、分支结构三、顺序结构四、公式(gngsh
4、)节点五、事件结构 各输入(shr)、输出端子的名称必须与公式节点中的变量名称完全相同。各输入(shr)端子间、各输出端子间不允许重名,但输入(shr)端子与输出端子可重名。输入端子输出端子滚动条中间变量也必须在边框上定义,但可以不与外部连接。上节课内容回顾(4)第4页/共39页第五页,共39页。本节课内容本节课内容(nirng)一、数组一、数组二、簇二、簇三、波形三、波形(b xn)除整数、浮点数、布尔数和字符串等基本数据类型以及相应的运算、操作(cozu)外,LabVIEW中还提供有几种复合数据,包括数组、簇和波形,以及对它们进行操作(cozu)的函数。灵活使用这些复合类型的数据及相应的操
5、作(cozu)函数,可简化程序代码,方便虚拟仪器即VI的编程。第5页/共39页第六页,共39页。一、数组(一、数组(1)1.数组的创建(chungjin)(1)1)创建数组框架(输入、显示(xinsh)、常量);2)向数组框架中添加“元素”,以确定数组元素的数据类型;3)以拖动方式操作,可确定数组的可视大小;4)给数组赋值(指定具体元素)。数组是相同类型(lixng)元素的集合。在 LabVIEW 中,数组可以随意改变长度。数组输入控件和数组常量可作为数据源;数组显示控件则作为数据流动的目标容器。到达数组输入控件框架亦即数组显示控件框架的路径为:(前)控件选板-新式-数组、矩阵与簇-数组;而数
6、组常量框架(后面板),经函数选板-编程-数组-数组常量找到。第6页/共39页第七页,共39页。一、数组(一、数组(2)1.数组的创建(chungjin)(2)b)向框架的元素区域 中添加数据类型 “元素”(不论输入(shr)、显示还是常量)a)建框架(kun ji)c)调整元素的可 视大小和个数改变元素大小同 时显 示多 个元素注意:只有确定了所建数组的性质,才能进行调整数组元素可视个数的操作。第7页/共39页第八页,共39页。一、数组(一、数组(3)1.数组的创建(chungjin)(3)d)赋值;改变(gibin)数组元素的默认值 默认值的设置方式(fngsh):在第0号(即首个)元素上弹
7、出快捷菜单,选择“数据操作”-“当前值设置为默认值”。显示4个元素表格形式的空整型数组输入控件在第0号元素上把当前值1指定为默认值为第0号元素指定整型值1索引(坐标、下标)从0开始第8页/共39页第九页,共39页。一、数组(一、数组(4)2.数组的快捷操作(cozu)(这里,以数组常量索引区的快捷菜单为例)在数组常量的索引区和边框上右击鼠标,弹出快捷(kui ji)菜单第9页/共39页第十页,共39页。一、数组(一、数组(5)3.数组的行、列、页注意:一般来说,任何类型数据的输入、显示控件和常量,均可用来定义数组的元素类型。但是,数组、子面板控件(控件-新式-容器-子面板)、选项卡控件(控件-
8、新式-容器-选项卡控件)、ActiveX控件、波形(b xn)图表、XY 图等不能作为数组的元素。页索引行索引列索引注意:索引区域(qy)显示的值,永远是元素区域(qy)所显示的左上角元素的索引值(即元素下标;从第0页、0行、0列记起)。上例:2页3行4列;下例:3行3列以数组常 量为例以数组显示(xinsh)控件为例第10页/共39页第十一页,共39页。一、数组(一、数组(6)4.数组操作(cozu)函数 (1)数组大小 其输入“数组”,可是任意维的数组;输出“大小”,提供该数组各维的长度。如果输入“数组”是一维的,输出“大小”便给出一个整数值;若输入“数组”是多维的,则输出“大小”提供的(
9、也称返回的)就是1个一维的整型数组,其每个分量对应(duyng)输入数组中相应维的长度。路径(ljng):函数选板-编程-数组子选板 这里,对应前页中的上例(2页、3行、4列)。点击该函数图标的右端,可直接生成数组显示器。第11页/共39页第十二页,共39页。一、数组一、数组(7)4.数组操作函数(hnsh)(2)索引数据 路径(ljng):“函数”选板-“编程”-“数组”子选板 使用该函数(hnsh),可获得对该数组中感兴趣部分的数据。这里只显示了输入数组的第0页;获得(显示)了其第0页第1行。第12页/共39页第十三页,共39页。一、数组(一、数组(8)4.数组操作函数(hnsh)(3)替
10、换数组子集路径(ljng):“函数”选板-“编程”-“数组”子选板 这里,输入仍是前述的 2页3行4列的数组(仅给出了第 0页);给该函数只接入了数组某行的索引值,具体为1,即要替换输入数组所有页的第 1行(成一个(y)新三维数组)。送给输入端子“新元素/子数组”的二维数组是替换新元素,它的第 0行去替换原三维数组第 0页的第1行;而其第 1行,去替换原数组第 1页的第1行。显示的仅是结果的第 0页(索引号从 0计起)。第13页/共39页第十四页,共39页。一、数组一、数组(9)4.数组操作(cozu)函数 (4)初始化数组路径(ljng):“函数”选板-“编程”-“数组”子选板 功能:创建n
11、维数组。每一维的长度,分别由“维数大小 0”“维数大小n-1”这n个输入端输入的数值(shz)确定。刚创建成仅一维,拖曳其图标下边框,可增加输入端子数,从而创建多维数组;且数组刚创建成时,其每个元素的值均与“元素”端子输入的值相同。第14页/共39页第十五页,共39页。一、数组(一、数组(10)4.数组操作函数(hnsh)(5)创建数组 路径(ljng):“函数”选板-“编程”-“数组”子选板 功能:将若干个输入数组即“数组”与“元素”组合成一个数组。该函数图标上弹出的快捷菜单中有“连接输入”选项,当它被选中时,该函数输出端会提供将所有输入连接在一起的结果,此输出数组的维数,与所有输入中的最高
12、维数相同;该选项被关闭,所有输入的维数必须相同,该函数输出的数组比输入(数组)高一维;若所有输入均为标量,“连接输入”选项被自动关闭,函数输出一维数组,按顺序(shnx)输出所有输入的参数(作为它的元素)。拖曳下边框可增加输入端子。第15页/共39页第十六页,共39页。一、数组一、数组(11)4.数组操作(cozu)函数 (6)数组子集 路径(ljng):“函数”选板-“编程”-“数组”子选板 功能:输出(返回)输入的数组中从“索引”参数指定的位置开始、由“长度”参数指定长度的数组子集。每个“索引”与一个“长度”构成(guchng)一对;“索引-长度”对的数目与输入参数“索引”的维数相同;输出
13、“子数组”的维数,也与“数组”的维数相同。第16页/共39页第十七页,共39页。一、数组一、数组(12)5.操作(cozu)函数的多态化 多态化是指一种函数功能,即它可以协调/接纳不同格式(g shi)、不同维数或不同显示模式的输入数据。在 LabVIEW中提供的大多数功能函数均是多态化的。第17页/共39页第十八页,共39页。二、簇(二、簇(1)1.簇(Cluster)的创 建(1)a)创建簇框架;b)向簇框架中添加元素(yun s);c)拖动确定簇的可视大小。簇可以包含任意数目、任意类型的元素。簇不能在运行时添加新元素(而数组的长度(chngd)在运行时可以自由改变)。簇类似于C语言中的结
14、构(structure)。簇输入控件和簇显示控件的框架在(前)控件选板-新式-数组、矩阵与簇子选板上;而簇常量(chngling)的框架,则在(框图)函数选板-编程-簇与变体子选板上。簇与数组最明显的区别是,一个簇中的所有元素,不必同时为输入控件、显示控件或常量。但数组则不然。第18页/共39页第十九页,共39页。二、簇(二、簇(2 2)1.簇的创建(chungjin)(2)可向其中再放入其他(qt)数据类型的“输入控件元素”。以构建一个簇控件、仅放入一个数值输入(shr)控件的情况为例。第19页/共39页第二十页,共39页。二、簇(二、簇(3)2.簇元素(yun s)的顺序 在簇中,元素有一
15、定的排列顺序,该顺序即为创建该簇时添加元素的顺序。簇元素的排列顺序很重要,是完成(wn chng)很多操作的依据。改变簇中元素的排序:在簇框架上弹出快捷菜单(ci dn),选择“重新排序簇中控件”,即打开了簇元素顺序编辑状态。簇元素上有两个序号,左侧反显的为新序号;右侧加灰的是旧序号。单击簇元素之一,将把该元素设置为第0号元素;对其他重复此过程,直到改好所有元素的顺序,点击上方工具栏OK按钮,确认所做修改。在簇边框上弹出快捷菜单(ci dn),选“自动调整大小”子菜单(ci dn),可实现左图所示的所需操作。第20页/共39页第二十一页,共39页。二、簇二、簇(4)3.簇的操作(cozu)函数
16、(1)捆绑 之一“函数(hnsh)”选板-“编程”-“簇与变体”子选板 功能一:将所有(suyu)输入元素打包成簇。(元素均是“常量”,但可为不同数据类型)第21页/共39页第二十二页,共39页。二、簇二、簇(5)3.簇的操作函数(hnsh)(1)捆绑 之二 “函数(hnsh)”选板-“编程”-“簇与变体”子选板 功能(gngnng)二:替换成新簇。第22页/共39页第二十三页,共39页。二、簇二、簇(6)3.簇的操作函数(hnsh)(2)解除捆绑“函数(hnsh)”选板-“编程”-“簇与变体”子选板 第23页/共39页第二十四页,共39页。二、簇二、簇(7)3.簇的操作函数(3)按名称(mn
17、gchng)打包(捆绑)“函数(hnsh)”选板-“编程”-“簇与变体”子选板 功能:按标签替换“输入簇”中的元素;替换结果从“输出(shch)簇”提供出来。故,“输入簇”必须接入,且要求其至少1个元素有标签。添加标签:在对象(簇某元素)上弹出快捷菜单,从“显示项”子菜单选中“标签”,可为对象添加标签。第24页/共39页第二十五页,共39页。二、簇二、簇(8)3.簇的操作函数(4)按名称(mngchng)解除捆绑 “函数(hnsh)”选板-“编程”-“簇与变体”子选板 功能:把输入簇中的元素按标签解除捆绑。在函数输出端,只能获得拥有标签的簇元素。函数初建时,只有(zhyu)一个输出端子;单击其
18、标签域,可弹出带有标签的簇元素的列表;必须对其分别建立相应的显示器。第25页/共39页第二十六页,共39页。二、簇二、簇(9)3.簇的操作函数(5)簇与数组的相互(xingh)转换 “函数(hnsh)”选板-“编程”-“簇与变体”子选板 功能:把所有簇元素(yun s)按顺序组合成一维数组经“数组”端子输出。显然,它要求簇的所有元素(yun s)的类型要相同。把“数组”端子输入的数组中的元素,按顺序捆绑成簇,并经“簇”端子输出。第26页/共39页第二十七页,共39页。三、波形三、波形(b xn)(1)1.波形的创建(属于输出(shch)、显示)1 路径(ljng):控件选板-“新式”-“I/O
19、”子选板 波形数据含有4个组成部分:t0为时间标识常量类型,表示波形数据的时间起点;dt属于双精度浮点类型,表示波形相邻数据点间的时间间隔,以秒为单位;Y是双精度浮点数组,它按时间顺序给出整个波形的所有数据点;“属性”具有变体类型,用于携带任意的属性信息。第27页/共39页第二十八页,共39页。三、波形三、波形(b xn)(2)1.波形(b xn)的创建 22.(a)时间标识(zhi)时间标识(biozh),又称时间戳,是LabVIEW中记录时间的专用数据类型;它属于常量,获取它的路径:函数选板-编程-定时-时间标识(biozh)常量。获取时间标识(biozh)的输入控件和显示控件的路径为:控
20、件选板-新式-数值子选板。在时间标识的常量或输入、显示控件上弹出快捷菜单,都可以打开上图所示对话框,以按现行时间进行时间的设置。路径:在时间标识常量(后)和时间标识输入或显示控件(前)上弹出快捷菜单,经数据操作子选板 选择“设置时间和日期”。第28页/共39页第二十九页,共39页。三、波形三、波形(b xn)(3)1.波形的创建 32.(b)变体(bin t)类型 任何数据类型都可以转化为变体类型,然后再为其添加属性,并可以在需要时,转换回原来的数据类型。找到变体类型操作(cozu)函数的路径:“函数”选板-“编程”-“簇、类与变体”-“变体”子选板。第29页/共39页第三十页,共39页。三、
21、波形三、波形(b xn)(4)2.波形(b xn)操作函数创建波形(b xn)(1)“函数(hnsh)”选板-“编程”-“波形”子选板 功能:创建波形或修改已有波形。具体地,在默认情况下,只有“波形”和“波形成分”即Y输入端子;拖曳该函数图标的上边框,可增加dt、t0输入端子;拖曳其图标的下边框,可增加attribuates(变体类型)输入端子。若“波形”端子无参数接入,该函数就根据其他输入参数创建新的波形数据并输出;如果“波形”端子接入了已有的波形数据,该函数则会据经“波形成分”即Y端接入的参数修改波形数据,修改后的波形数据从输出端给出(也称返回)。第30页/共39页第三十一页,共39页。三
22、、波形三、波形(b xn)(5)2.波形操作函数(hnsh)获取波形成分(2)“函数(hnsh)”选板-“编程”-“波形”子选板 功能:将波形数据解包。默认情况下,只有Y输出端子;拖曳函数图标上边框,可增加dt、t0输出端子;拖曳下边框,可增加attributes(变体类型)输出端子。点击输出端子,可弹出元素选择快捷菜单。第31页/共39页第三十二页,共39页。三、波形三、波形(b xn)(6)2.波形(b xn)操作函数设置波形(b xn)属性(3)路径(ljng):“函数”选板-“编程”-“波形”子选板 功 能:为输入的波形数据添加“名称”和“值”的属性。实际上,这里的所谓属性,是为波形中
23、的变体类型元素添加的;可以认为,该函数中封装了“设置变体属性”函数。第32页/共39页第三十三页,共39页。三、波形三、波形(b xn)(7)2.波形操作(cozu)函数获取波形属性(4)路径:“函数(hnsh)”选板-“编程”-“波形”子选板 功 能:获取波形中名为“名称”的属性。实际上,是为获得波形数据中变体类型元素attributes的属性。注意:在“波形”子选板上还有很多波形操作函数,且还有实现波形测量和波形发生的子VI,可以在需要使用时查阅并选择。其中一些波形函数较简单,可在框图上双击其函数图标,打开它的对应VI窗口,查看了解其内部的实现细节和原理。第33页/共39页第三十四页,共3
24、9页。三、波形三、波形(b xn)(8)3.Waveform使用(shyng)举例(1)找到它的路径:前面板“帮助”“查找(ch zho)范例”“目录结构”generalwaveformOperations.llbCreate Waveform example.vi 第34页/共39页第三十五页,共39页。三、波形三、波形(b xn)(9)3.Waveform使用举例(j l)(2)-前页例简介 首先,用FOR循环建立#points 个0100间的随机数数组;以此数组为Y数据,以当前时间作时间起点t0,以0.2s为时间间隔dt,建立波形数据。之后,用“连接字符串”函数,连接channel na
25、me字符串控制器、字符串常量(chngling)“CH:”以及由“格式化写入字符串”函数转化而来的32位带符号整数控制器channel#所代表的通道号字符串,并以连接后的字符串作属性值,建立名为Channel named 属性;再以字符串控制器channel unit的内容作为属性值,建立名为channel unit的属性;最后将波形数据输出(波形+波形数据)。第35页/共39页第三十六页,共39页。三、波形三、波形(b xn)(9)4.波形(b xn)数组 波形数组是由波形数据作为元素组成的数组。例如在数据采集中,常常要从多个数据通道的每个通道中各采集一个波形。这时,数据采集函数输出的数据类
26、型,其实就是一个波形数组。获得波形数组后,使用数组操作函数从该波形数组中提取出相关的波形元素(波形成分),然后,就可以使用前面(qin mian)介绍的波形函数对波形数据进行处理了。完。第36页/共39页第三十七页,共39页。路径路径路径路径(ljng)(ljng):“函数函数函数函数”选板选板选板选板-“-“编程编程编程编程”-“”-“波形波形波形波形”-“”-“模拟波形模拟波形模拟波形模拟波形”-“”-“波形波形波形波形 生产生产生产生产”子选板子选板子选板子选板练习1:按所给参数,构建一个可以(ky)采集并输 出正弦波形的VI。第37页/共39页第三十八页,共39页。练习练习练习练习2
27、2:构建一个:构建一个:构建一个:构建一个VIVI,将包含,将包含,将包含,将包含1010个随机数的一个随机数的一个随机数的一个随机数的一 个数组的元素顺序颠倒过来个数组的元素顺序颠倒过来个数组的元素顺序颠倒过来个数组的元素顺序颠倒过来(gu(gu li)li),再,再,再,再将数将数将数将数 组最后组最后组最后组最后5 5个元素移到数组前端,形成个元素移到数组前端,形成个元素移到数组前端,形成个元素移到数组前端,形成 一个新数组。一个新数组。一个新数组。一个新数组。练习练习3:创建一个簇控件,其元素:创建一个簇控件,其元素(yun s)分别为字符分别为字符 型控件型控件“姓名姓名”,数值型,数值型控件控件“学号学号”,布尔型控件布尔型控件“注册注册”;从;从该簇控件中提该簇控件中提 取出元素取出元素(yun s)“注册注册”并显示在前面板上。并显示在前面板上。练习4:任意创建一盒波形(b xn),将其名称设定为 “采样信号”,将其值设定为1到200的 数组。第38页/共39页第三十九页,共39页。