LabVIEW数据类型及其操作函数第三讲.ppt

上传人:小飞机 文档编号:5436924 上传时间:2023-07-06 格式:PPT 页数:40 大小:1.13MB
返回 下载 相关 举报
LabVIEW数据类型及其操作函数第三讲.ppt_第1页
第1页 / 共40页
LabVIEW数据类型及其操作函数第三讲.ppt_第2页
第2页 / 共40页
LabVIEW数据类型及其操作函数第三讲.ppt_第3页
第3页 / 共40页
LabVIEW数据类型及其操作函数第三讲.ppt_第4页
第4页 / 共40页
LabVIEW数据类型及其操作函数第三讲.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《LabVIEW数据类型及其操作函数第三讲.ppt》由会员分享,可在线阅读,更多相关《LabVIEW数据类型及其操作函数第三讲.ppt(40页珍藏版)》请在三一办公上搜索。

1、LabVIEW编程及虚拟仪器设计,第三讲:数据类型及其操作函数,上节课内容回顾(1),一、循环结构二、条件结构三、顺序结构四、公式节点五、事件结构,While循环For循环循环结构内外的数据交换自动索引移位寄存器,注意:(1)While循环是先执行、后判断;而For循环的循环次数则是事先定,且具体操作为先判断、后执行(0就不执行)。,(2)循环前读入一次,循环完才输出。,(3)对For循环,在循环计数端子空置、有输入数组条件下,循环次数由数组元素个数确定;若接入多个数组且均处在自动索引状态,同时循环计数端子也接入有一正整型常量,则循环次数取这些输入中的最小值。,(4)While循环的执行次数,

2、仅受循环体内给条件端子置入的具体循环条件制约。,上节课内容回顾(2),一、循环结构二、条件结构三、顺序结构四、公式节点五、事件结构,要么在选择器标签中列出所有可能的情况;要么必须给出一种默认情况。,进行条件结构内外的数据交换时,会在其边框上生成隧道。输入隧道在每个分支中都可使用;而输出隧道必须从每个分支都得到明确的(输入)值,否则程序无法运行。,(只是 6,Default 分支的显示),上节课内容回顾(3),一、循环结构二、条件结构三、顺序结构四、公式节点五、事件结构,输入数据在顺序结构运行前读入,各帧均可用;输出数据在顺序结构执行完才输出,只跟最后一帧有关。,层叠式顺序结构中可设立局部变量,

3、用于在不同帧之间实现数据传递。平铺式顺序结构无需局部变量,数据传递直接经隧道实现。平铺式与层叠式顺序结构实现功能相同,只是表现形式不同。,当公式节点中的代码很多,一屏显示不下时,可在代码区域弹出快捷菜单,选择“显示项”-“滚动条”,从而实现滚动浏览。,一、循环结构二、分支结构三、顺序结构四、公式节点五、事件结构,各输入、输出端子的名称必须与公式节点中的变量名称完全相同。各输入端子间、各输出端子间不允许重名,但输入端子与输出端子可重名。,中间变量也必须在边框上定义,但可以不与外部连接。,上节课内容回顾(4),本节课内容,一、数组二、簇三、波形,除整数、浮点数、布尔数和字符串等基本数据类型以及相应

4、的运算、操作外,LabVIEW中还提供有几种复合数据,包括数组、簇和波形,以及对它们进行操作的函数。灵活使用这些复合类型的数据及相应的操作函数,可简化程序代码,方便虚拟仪器即VI的编程。,一、数组(1),1.数组的创建(1),1)创建数组框架(输入、显示、常量);2)向数组框架中添加“元素”,以确定数组元素的数据类型;3)以拖动方式操作,可确定数组的可视大小;4)给数组赋值(指定具体元素)。,数组是相同类型元素的集合。在LabVIEW中,数组可以随意改变长度。,数组输入控件和数组常量可作为数据源;数组显示控件则作为数据流动的目标容器。到达数组输入控件框架亦即数组显示控件框架的路径为:(前)控件

5、选板-新式-数组、矩阵与簇-数组;而数组常量框架(后面板),经函数选板-编程-数组-数组常量找到。,一、数组(2),1.数组的创建(2),b)向框架的元素区域 中添加数据类型“元素”(不论输入、显示还是常量),a)建框架,c)调整元素的可 视大小和个数,注意:只有确定了所建数组的性质,才能进行调整数组元素可视个数的操作。,一、数组(3),1.数组的创建(3),d)赋值;改变数组元素的默认值,默认值的设置方式:在第0号(即首个)元素上弹出快捷菜单,选择“数据操作”-“当前值设置为默认值”。,索引(坐标、下标)从0开始,一、数组(4),数组的快捷操作(这里,以数组常量索引区的快捷菜单为例),在数组

6、常量的索引区和边框上右击鼠标,弹出快捷菜单,一、数组(5),3.数组的行、列、页,注意:一般来说,任何类型数据的输入、显示控件和常量,均可用来定义数组的元素类型。但是,数组、子面板控件(控件-新式-容器-子面板)、选项卡控件(控件-新式-容器-选项卡控件)、ActiveX控件、波形图表、XY 图等不能作为数组的元素。,注意:索引区域显示的值,永远是元素区域所显示的左上角元素的索引值(即元素下标;从第0页、0行、0列记起)。,以数组常 量为例,以数组显示控件为例,一、数组(6),4.数组操作函数(1)数组大小,其输入“数组”,可是任意维的数组;输出“大小”,提供该数组各维的长度。如果输入“数组”

7、是一维的,输出“大小”便给出一个整数值;若输入“数组”是多维的,则输出“大小”提供的(也称返回的)就是1个一维的整型数组,其每个分量对应输入数组中相应维的长度。,路径:函数选板-编程-数组子选板,这里,对应前页中的上例(2页、3行、4列)。点击该函数图标的右端,可直接生成数组显示器。,一、数组(7),4.数组操作函数(2)索引数据,路径:“函数”选板-“编程”-“数组”子选板,使用该函数,可获得对该数组中感兴趣部分的数据。这里只显示了输入数组的第0页;获得(显示)了其第0页第1行。,一、数组(8),4.数组操作函数(3)替换数组子集,路径:“函数”选板-“编程”-“数组”子选板,这里,输入仍是

8、前述的2页3行4列的数组(仅给出了第0页);给该函数只接入了数组某行的索引值,具体为1,即要替换输入数组所有页的第1行(成一个新三维数组)。送给输入端子“新元素/子数组”的二维数组是替换新元素,它的第0行去替换原三维数组第0页的第1行;而其第1行,去替换原数组第1页的第1行。显示的仅是结果的第0页(索引号从0计起)。,一、数组(9),4.数组操作函数(4)初始化数组,路径:“函数”选板-“编程”-“数组”子选板,功能:创建n维数组。每一维的长度,分别由“维数大小 0”“维数大小n-1”这n个输入端输入的数值确定。刚创建成仅一维,拖曳其图标下边框,可增加输入端子数,从而创建多维数组;且数组刚创建

9、成时,其每个元素的值均与“元素”端子输入的值相同。,一、数组(10),4.数组操作函数(5)创建数组,路径:“函数”选板-“编程”-“数组”子选板,功能:将若干个输入数组即“数组”与“元素”组合成一个数组。该函数图标上弹出的快捷菜单中有“连接输入”选项,当它被选中时,该函数输出端会提供将所有输入连接在一起的结果,此输出数组的维数,与所有输入中的最高维数相同;该选项被关闭,所有输入的维数必须相同,该函数输出的数组比输入(数组)高一维;若所有输入均为标量,“连接输入”选项被自动关闭,函数输出一维数组,按顺序输出所有输入的参数(作为它的元素)。,拖曳下边框可增加输入端子。,一、数组(11),4.数组

10、操作函数(6)数组子集,路径:“函数”选板-“编程”-“数组”子选板,功能:输出(返回)输入的数组中从“索引”参数指定的位置开始、由“长度”参数指定长度的数组子集。每个“索引”与一个“长度”构成一对;“索引-长度”对的数目与输入参数“索引”的维数相同;输出“子数组”的维数,也与“数组”的维数相同。,求数组的最大值和最小值数组的转置数组的排序数组的移位数组的反转抽取一维数组程序见 其它.VI,其他数组操作函数,一、数组(12),5.操作函数的多态化,多态化是指一种函数功能,即它可以协调/接纳不同格式、不同维数或不同显示模式的输入数据。在 LabVIEW中提供的大多数功能函数均是多态化的。,二、簇

11、(1),1.簇(Cluster)的创 建(1),a)创建簇框架;b)向簇框架中添加元素;c)拖动确定簇的可视大小。,簇可以包含任意数目、任意类型的元素。簇不能在运行时添加新元素(而数组的长度在运行时可以自由改变)。簇类似于C语言中的结构(structure)。,簇输入控件和簇显示控件的框架在(前)控件选板-新式-数组、矩阵与簇子选板上;而簇常量的框架,则在(框图)函数选板-编程-簇与变体子选板上。,簇与数组最明显的区别是,一个簇中的所有元素,不必同时为输入控件、显示控件或常量。但数组则不然。,二、簇(2),1.簇的创建(2),可向其中再放入其他数据类型的“输入控件元素”。,以构建一个簇控件、仅

12、放入一个数值输入控件的情况为例。,二、簇(3),2.簇元素的顺序,在簇中,元素有一定的排列顺序,该顺序即为创建该簇时添加元素的顺序。簇元素的排列顺序很重要,是完成很多操作的依据。,改变簇中元素的排序:在簇框架上弹出快捷菜单,选择“重新排序簇中控件”,即打开了簇元素顺序编辑状态。簇元素上有两个序号,左侧反显的为新序号;右侧加灰的是旧序号。单击簇元素之一,将把该元素设置为第0号元素;对其他重复此过程,直到改好所有元素的顺序,点击上方工具栏OK按钮,确认所做修改。在簇边框上弹出快捷菜单,选“自动调整大小”子菜单,可实现左图所示的所需操作。,二、簇(4),3.簇的操作函数(1)捆绑 之一,“函数”选板

13、-“编程”-“簇与变体”子选板,功能一:将所有输入元素打包成簇。(元素均是“常量”,但可为不同数据类型),二、簇(5),3.簇的操作函数(1)捆绑 之二,“函数”选板-“编程”-“簇与变体”子选板,功能二:替换成新簇。,二、簇(6),3.簇的操作函数(2)解除捆绑,“函数”选板-“编程”-“簇与变体”子选板,二、簇(7),3.簇的操作函数(3)按名称打包(捆绑),“函数”选板-“编程”-“簇与变体”子选板,功能:按标签替换“输入簇”中的元素;替换结果从“输出簇”提供出来。故,“输入簇”必须接入,且要求其至少1个元素有标签。,添加标签:在对象(簇某元素)上弹出快捷菜单,从“显示项”子菜单选中“标

14、签”,可为对象添加标签。,二、簇(8),3.簇的操作函数(4)按名称解除捆绑,“函数”选板-“编程”-“簇与变体”子选板,功能:把输入簇中的元素按标签解除捆绑。在函数输出端,只能获得拥有标签的簇元素。函数初建时,只有一个输出端子;单击其标签域,可弹出带有标签的簇元素的列表;必须对其分别建立相应的显示器。,二、簇(9),3.簇的操作函数(5)簇与数组的相互转换,“函数”选板-“编程”-“簇与变体”子选板,功能:把所有簇元素按顺序组合成一维数组经“数组”端子输出。显然,它要求簇的所有元素的类型要相同。,把“数组”端子输入的数组中的元素,按顺序捆绑成簇,并经“簇”端子输出。,三、波形(1),1.波形

15、的创建(属于输出、显示)1,路径:控件选板-“新式”-“I/O”子选板,波形数据含有4个组成部分:t0为时间标识常量类型,表示波形数据的时间起点;dt属于双精度浮点类型,表示波形相邻数据点间的时间间隔,以秒为单位;Y是双精度浮点数组,它按时间顺序给出整个波形的所有数据点;“属性”具有变体类型,用于携带任意的属性信息。,三、波形(2),波形的创建 2(a)时间标识(zhi),时间标识,又称时间戳,是LabVIEW中记录时间的专用数据类型;它属于常量,获取它的路径:函数选板-编程-定时-时间标识常量。获取时间标识的输入控件和显示控件的路径为:控件选板-新式-数值子选板。,在时间标识的常量或输入、显

16、示控件上弹出快捷菜单,都可以打开上图所示对话框,以按现行时间进行时间的设置。,路径:在时间标识常量(后)和时间标识输入或显示控件(前)上弹出快捷菜单,经数据操作子选板 选择“设置时间和日期”。,三、波形(3),波形的创建 3(b)变体类型,任何数据类型都可以转化为变体类型,然后再为其添加属性,并可以在需要时,转换回原来的数据类型。找到变体类型操作函数的路径:“函数”选板-“编程”-“簇、类与变体”-“变体”子选板。,三、波形(4),2.波形操作函数创建波形(1),“函数”选板-“编程”-“波形”子选板,功能:创建波形或修改已有波形。具体地,在默认情况下,只有“波形”和“波形成分”即Y输入端子;

17、拖曳该函数图标的上边框,可增加dt、t0输入端子;拖曳其图标的下边框,可增加attribuates(变体类型)输入端子。若“波形”端子无参数接入,该函数就根据其他输入参数创建新的波形数据并输出;如果“波形”端子接入了已有的波形数据,该函数则会据经“波形成分”即Y端接入的参数修改波形数据,修改后的波形数据从输出端给出(也称返回)。,三、波形(5),2.波形操作函数获取波形成分(2),“函数”选板-“编程”-“波形”子选板,功能:将波形数据解包。默认情况下,只有Y输出端子;拖曳函数图标上边框,可增加dt、t0输出端子;拖曳下边框,可增加attributes(变体类型)输出端子。点击输出端子,可弹出

18、元素选择快捷菜单。,三、波形(6),2.波形操作函数设置波形属性(3),路径:“函数”选板-“编程”-“波形”子选板,功 能:为输入的波形数据添加“名称”和“值”的属性。实际上,这里的所谓属性,是为波形中的变体类型元素添加的;可以认为,该函数中封装了“设置变体属性”函数。,三、波形(7),2.波形操作函数获取波形属性(4),路径:“函数”选板-“编程”-“波形”子选板,功 能:获取波形中名为“名称”的属性。实际上,是为获得波形数据中变体类型元素attributes的属性。,注意:在“波形”子选板上还有很多波形操作函数,且还有实现波形测量和波形发生的子VI,可以在需要使用时查阅并选择。其中一些波

19、形函数较简单,可在框图上双击其函数图标,打开它的对应VI窗口,查看了解其内部的实现细节和原理。,三、波形(8),3.Waveform使用举例(1),找到它的路径:前面板“帮助”“查找范例”“目录结构”generalwaveformOperations.llbCreate Waveform example.vi,三、波形(9),3.Waveform使用举例(2)-前页例简介,首先,用FOR循环建立#points个0100间的随机数数组;以此数组为Y数据,以当前时间作时间起点t0,以0.2s为时间间隔dt,建立波形数据。之后,用“连接字符串”函数,连接channel name字符串控制器、字符串常

20、量“CH:”以及由“格式化写入字符串”函数转化而来的32位带符号整数控制器channel#所代表的通道号字符串,并以连接后的字符串作属性值,建立名为Channel name的属性;再以字符串控制器channel unit的内容作为属性值,建立名为channel unit的属性;最后将波形数据输出(波形+波形数据)。,三、波形(9),4.波形数组,波形数组是由波形数据作为元素组成的数组。例如在数据采集中,常常要从多个数据通道的每个通道中各采集一个波形。这时,数据采集函数输出的数据类型,其实就是一个波形数组。获得波形数组后,使用数组操作函数从该波形数组中提取出相关的波形元素(波形成分),然后,就可以使用前面介绍的波形函数对波形数据进行处理了。,路径:“函数”选板-“编程”-“波形”-“模拟波形”-“波形 生产”子选板,练习1:按所给参数,构建一个可以采集并输 出正弦波形的VI。,练习2:构建一个VI,将包含10个随机数的一 个数组的元素顺序颠倒过来,再将数 组最后5个元素移到数组前端,形成 一个新数组。,练习3:创建一个簇控件,其元素分别为字符 型控件“姓名”,数值型控件“学号”,布尔型控件“注册”;从该簇控件中提 取出元素“注册”并显示在前面板上。,练习4:任意创建一盒波形,将其名称设定为“采样信号”,将其值设定为1到200的 数组。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号