数据类型及其具体操作函数的培训讲义_第1页
数据类型及其具体操作函数的培训讲义_第2页
数据类型及其具体操作函数的培训讲义_第3页
数据类型及其具体操作函数的培训讲义_第4页
数据类型及其具体操作函数的培训讲义_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、、顺序结构四、公式节点五、事件结构要么在选择器标签中列出所有可能的情况;要么必须给出一种默认情况。 进行条件结构内外的数据交换时,会在其边框上生成隧道。输入隧道在每个分支中都可使用;而输出隧道必须从每个分支都得到明确的输入值,否那么程序无法运行。 只是 6,Default 分支的显示上节课内容回忆3一、循环结构二、条件结构三、顺序结构四、公式节点五、事件结构 输入数据在顺序结构运行前读入,各帧均可用;输出数据在顺序结构执行完才输出,只跟最后一帧有关。 层叠式顺序结构中可设立局部变量,用于在不同帧之间实现数据传递。平铺式顺序结构无需局部变量,数据传递直接经隧道实现。平铺式与层叠式顺序结构实现功能

3、相同,只是表现形式不同。 当公式节点中的代码很多,一屏显示不下时,可在代码区域弹出快捷菜单,选择“显示项 - “滚动条,从而实现滚动浏览。一、循环结构二、分支结构三、顺序结构四、公式节点五、事件结构 各输入、输出端子的名称必须与公式节点中的变量名称完全相同。各输入端子间、各输出端子间不允许重名,但输入端子与输出端子可重名。输入端子输出端子滚动条中间变量也必须在边框上定义,但可以不与外部连接。 上节课内容回忆4本节课内容一、数组二、簇三、波形 除整数、浮点数、布尔数和字符串等根本数据类型以及相应的运算、操作外,LabVIEW中还提供有几种复合数据,包括数组、簇和波形,以及对它们进行操作的函数。灵

4、活使用这些复合类型的数据及相应的操作函数,可简化程序代码,方便虚拟仪器即VI的编程。一、数组11.数组的创立1 1创立数组框架输入、显示、常量;2向数组框架中添加“元素,以确定数组元素的数据类型;3以拖动方式操作,可确定数组的可视大小;4给数组赋值指定具体元素。 数组是相同类型元素的集合。在LabVIEW中,数组可以随意改变长度。 数组输入控件和数组常量可作为数据源;数组显示控件那么作为数据流动的目标容器。 到达数组输入控件框架亦即数组显示控件框架的路径为:前控件选板-新式-数组、矩阵与簇-数组;而数组常量框架后面板,经函数选板 - 编程 -数组 - 数组常量找到。 一、数组21.数组的创立

5、2b向框架的元素区域 中添加数据类型 “元素不管输入 、显示还是常量 a建框架c调整元素的可 视大小和个数改变元素大小同时显示多个元素注意:只有确定了所建数组的性质,才能进行调整数组元素可视个数的操作。一、数组31.数组的创立3 d赋值;改变数组元素的默认值 默认值的设置方式:在第0号即首个元素上弹出快捷菜单,选择“数据操作 -“当前值设置为默认值。显示4个元素表格形式的空整型数组输入控件在第0号元素上把当前值1指定为默认值为第0号元素指定整型值1索引坐标、下标从0开始一、数组4数组的快捷操作这里,以数组常量索引区的快捷菜单为例 在数组常量的索引区和边框上右击鼠标,弹出快捷菜单一、数组53.

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

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

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

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

10、指定的位置开始、由“长度参数指定长度的数组子集。每个“索引与一个“长度构成一对;“索引-长度对的数目与输入参数“索引的维数相同;输出“子数组的维数,也与“数组的维数相同。 一、数组12 5. 操作函数的多态化 多态化是指一种函数功能,即它可以协调/接纳不同格式、不同维数或不同显示模式的输入数据。在 LabVIEW中提供的大多数功能函数均是多态化的。 二、簇11.簇Cluster的创 建 1a创立簇框架;b向簇框架中添加元素;c拖动确定簇的可视大小。 簇可以包含任意数目、任意类型的元素。簇不能在运行时添加新元素而数组的长度在运行时可以自由改变。簇类似于C语言中的结构structure。 簇输入控

11、件和簇显示控件的框架在前控件选板- 新式-数组、矩阵与簇子选板上;而簇常量的框架,那么在框图函数选板-编程-簇与变体子选板上 。 簇与数组最明显的区别是,一个簇中的所有元素,不必同时为输入控件、显示控件或常量。但数组那么不然。二、簇21.簇的创立 2可向其中再放入其他数据类型的“输入控件元素。以构建一个簇控件、仅放入一个数值输入控件的情况为例。二、簇32.簇元素的顺序 在簇中,元素有一定的排列顺序,该顺序即为创立该簇时添加元素的顺序。簇元素的排列顺序很重要,是完成很多操作的依据。 改变簇中元素的排序:在簇框架上弹出快捷菜单,选择“重新排序簇中控件,即翻开了簇元素顺序编辑状态。簇元素上有两个序号

12、,左侧反显的为新序号;右侧加灰的是旧序号。单击簇元素之一,将把该元素设置为第0号元素;对其他重复此过程,直到改好所有元素的顺序,点击上方工具栏OK按钮,确认所做修改。 在簇边框上弹出快捷菜单,选“自动调整大小子菜单,可实现左图所示的所需操作。 二、簇43.簇的操作函数 1捆绑 之一 “函数选板 - “编程 - “簇与变体子选板 功能一: 将所有输入元素打包成簇。元素均是“常量,但可为不同数据类型 二、簇53.簇的操作函数 1捆绑 之二 “函数选板 - “编程 - “簇与变体子选板 功能二: 替换成新簇 。二、簇63.簇的操作函数 2解除捆绑 “函数选板 - “编程 - “簇与变体子选板 二、簇

13、73.簇的操作函数 3按名称打包 捆绑 “函数选板 - “编程 - “簇与变体子选板 功能:按标签替换“输入簇中的元素;替换结果从“输出簇提供出来。 故,“输入簇必须接入,且要求其至少1个元素有标签。 添加标签:在对象簇某元素上弹出快捷菜单,从“显示项子菜单项选择中“标签,可为对象添加标签。二、簇83.簇的操作函数 4按名称解除捆绑 “函数选板 - “编程 - “簇与变体子选板 功能:把输入簇中的元素按标签解除捆绑。在函数输出端,只能获得拥有标签的簇元素。 函数初建时,只有一个输出端子;单击其标签域,可弹出带有标签的簇元素的列表;必须对其分别建立相应的显示器。二、簇93.簇的操作函数 5簇与数

14、组的相互转换 “函数选板 - “编程 - “簇与变体子选板 功能:把所有簇元素按顺序组合成一维数组经“数组端子输出。 显然,它要求簇的所有元素的类型要相同。 把“数组端子输入的数组中的元素,按顺序捆绑成簇,并经“簇端子输出。 三、波形11.波形的创立 属于输出、显示1 路径:控件选板 -“新式 -“I/O 子选板 波形数据含有4个组成局部:t0为时间标识常量类型,表示波形数据的时间起点;dt属于双精度浮点类型,表示波形相邻数据点间的时间间隔,以秒为单位;Y是双精度浮点数组,它按时间顺序给出整个波形的所有数据点;“属性具有变体类型,用于携带任意的属性信息。 三、波形2波形的创立 2 a时间标识z

15、hi 时间标识,又称时间戳,是LabVIEW中记录时间的专用数据类型;它属于常量,获取它的路径:函数选板 -编程-定时 -时间标识常量 。获取时间标识的输入控件和显示控件的路径为:控件选板 - 新式 - 数值子选板。 在时间标识的常量或输入、显示控件上弹出快捷菜单,都可以翻开上图所示对话框,以按现行时间进行时间的设置。路径:在时间标识常量后和时间标识输入或显示控件前上弹出快捷菜单,经数据操作子选板 选择“设置时间和日期。三、波形3波形的创立 3 b 变体类型 任何数据类型都可以转化为变体类型,然后再为其添加属性,并可以在需要时,转换回原来的数据类型。找到变体类型操作函数的路径:“函数选板-“编

16、程 - “簇、类与变体- “变体子选板 。 三、波形42. 波形操作函数创立波形1 “函数选板 - “编程 - “波形子选板 功能:创立波形或修改已有波形。具体地,在默认情况下,只有“波形和“波形成分即Y输入端子;拖曳该函数图标的上边框,可增加dt、t0输入端子;拖曳其图标的下边框,可增加attribuates变体类型输入端子。 假设“波形端子无参数接入,该函数就根据其他输入参数创立新的波形数据并输出;如果“波形端子接入了已有的波形数据,该函数那么会据经“波形成分即Y端接入的参数修改波形数据,修改后的波形数据从输出端给出也称返回。 三、波形52. 波形操作函数获取波形成分2 “函数选板 - “

17、编程 - “波形子选板 功能:将波形数据解包。默认情况下,只有Y输出端子;拖曳函数图标上边框,可增加dt、t0输出端子;拖曳下边框,可增加attributes变体类型输出端子。点击输出端子,可弹出元素选择快捷菜单。 三、波形62. 波形操作函数设置波形属性3 路径:“函数选板- “编程 - “波形子选板 功 能:为输入的波形数据添加“名称和“值的属性。实际上,这里的所谓属性,是为波形中的变体类型元素添加的;可以认为,该函数中封装了“设置变体属性函数。 三、波形72. 波形操作函数获取波形属性4 路径:“函数选板-“编程- “波形子选板 功 能:获取波形中名为“名称的属性。实际上,是为获得波形数

18、据中变体类型元素attributes的属性。 注意:在“波形子选板上还有很多波形操作函数,且还有实现波形测量和波形发生的子VI,可以在需要使用时查阅并选择。其中一些波形函数较简单,可在框图上双击其函数图标,翻开它的对应VI窗口,查看了解其内部的实现细节和原理。 三、波形83. Waveform使用举例1 找到它的路径:前面板“帮助“查找范例“目录结构generalwaveformOperations.llbCreate Waveform example.vi 三、波形93. Waveform使用举例2-前页例简介 首先,用FOR循环建立#points个0100间的随机数数组;以此数组为Y数据,以当前时间作时间起点t0,以0.2s为时间间隔dt,建立波形数据。之后,用“连接字符串函数,连接channel name字符串控制器、字符串常量“CH:以及由“格式化写入字符串函数转化而来的32位带符号整数控制器channel#所代表的通道号字符串,并以连接后的字符串作属性值,建立名为Channel named 属性

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论