虚拟仪器及LabVIEW数据类型波形第3讲_第1页
虚拟仪器及LabVIEW数据类型波形第3讲_第2页
虚拟仪器及LabVIEW数据类型波形第3讲_第3页
虚拟仪器及LabVIEW数据类型波形第3讲_第4页
虚拟仪器及LabVIEW数据类型波形第3讲_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、第3讲复合数据类型:数组、簇和波形LabVIEW编程及虚拟仪器设计上一讲内容回顾 两种循环结构:While循环和For循环;循环结构内外的数据交换;自动索引;移位寄存器 条件结构;顺序结构;公式节点;事件结构打开了自动索引的输入隧道具有3个左端元素的移位寄存器,保存之前3次循环的值本讲内容基本数据类型:数值(整型,浮点型)、布尔、字符串本讲内容,复合数据类型数组(Array)簇(Cluster)1. 波形(Waveform)本讲内容 数组 簇 波形本讲内容 数组 簇 波形1. 数组(Array)数组:相同数据类型的多个数据的有序组合。数组的建立步骤:1. 创建数组框架(前面板)控件选板,新式-

2、数组、矩阵与簇-数组(框图)函数选板,编程-数组-数组常量数组输入控件和输出显示控件框架数组常量框架1. 数组 (前面板)数组输入控件和输出显示控件框架(框图)数组常量框架数组元素索引元素区域2. 向数组框架中添加某种数据类型的“元素”,确定数组的数据类型(数组尚无任何元素)3. 拖曳改变数组的可视区域(可选)改变元素大小1. 数组同时显示多个元素4. 为数组元素赋值(直接在对应元素区域输入)索引1. 数组数组的维数1. 1维数组,一行或一列,只有一个索引:2. 2维数组,m行n列,有两个索引:3. 3维数组,p页m行n列,有三个索引:页索引行索引列索引行索引列索引索引区的值对应数组左上角元素

3、如何从1维数组建立2维数组?在索引区弹出快捷菜单,添加维度1. 数组典型数组操作函数:函数选板,编程-数组子选板1. 数组大小(Array Size)功能:返回数组各维大小。输入1维数组时,返回整型值;输入多维数组时,返回1维整型数组1. 数组2. 索引数组(Index Array)功能:返回指定索引位置的元素或者子数组。n维数组接入n个索引时,返回一个元素;接入部分索引时,返回子数组1. 数组3. 替换数组子集(Replace Array Subset)功能:从索引位置开始,替换元素或者子数组1. 数组4. 初始化数组(Initialize Array)功能:以指定元素创建n维数组。可向下拖

4、曳函数边框,增加更多维数1. 数组5. 创建数组(Build Array)功能:连接多个数组,或向数组添加元素可向下拖曳函数边框,增加更多输入接线端。快捷菜单中的“连接输入”选项:打开时,按顺序连接输入数组,输出数组维数与输入数组最高维数相同;关闭时,输入数组维数必须相同,输出数组维数比输入高一维(可能补零)。6. 数组子集(Array Subset)功能:返回数组的一部分,从“索引”位置开始,共“长度”个。“索引”和“长度”成对出现,对数与输入参数“数组”的维数相同。输出“子数组”与输入“数组”维数相同维数相同。1. 数组从只有1页的3维数组中提取2维数组数组参与计算,算数函数的多态性算数函

5、数的多态:函数的输入可以是不同的数据类型(此处为标量和数组)1. 数组本讲内容 数组 簇 波形2. 簇(Cluster)簇:不同(或相同)数据类型的多个数据的组合。类似C语言中的结构(Struct)。簇的建立步骤:1. 创建簇框架(前面板)控件选板,新式-数组、矩阵与簇(框图)函数选板,编程-簇、类与变体簇输入控件和输出显示控件框架簇常量框架2. 簇 (前面板)簇输入控件和输出显示控件框架(框图)簇常量框架簇元素区域2. 向簇框架中添加某种数据类型的“元素”,不断重复此过程 簇输入控件簇常量示例:字符串双精度浮点数布尔2. 簇簇的作用和价值将不同类型的数据组织在一起,方便数据传递(框图上两个不

6、同的程序代码区域,子函数/VI和上层函数/VI之间的参数传递)简化程序框图,减少错误整型双精度布尔字符串整型数组捆绑/打包解除捆绑/解包数据传递2. 簇簇中元素的顺序创建簇时向其中添加元素的顺序。改变已有簇中元素的顺序:簇边框上快捷菜单,“重新排序簇中控件”选项。为前面板簇输入控件中的元素重新排序当前顺序新顺序下一次鼠标点击指定的顺序某些操作和函数对簇中的元素排序有要求;簇赋值需要元素类型和顺序匹配2. 簇典型簇操作函数:函数选板,编程-簇、类与变体子选板1. 捆绑(Bundle)功能:将所有输入元素打包为簇。输入参数”簇“可选。输入控件的框图端子输出簇控件的框图端子输入控件输出簇控件2. 簇

7、可选输入参数”簇“的作用替换已有簇的某个元素,生成新簇。簇元素新值已有簇常量新簇2. 簇2. 解除捆绑(Unbundle)功能:解除捆绑已有的簇,捆绑的逆操作。已有簇常量2. 簇3. 按名称捆绑(Bundle By Name)功能:按元素名称打包生成新簇。”输入簇“参数必须接入。已有簇常量,建立新簇的模板元素名称来自“输入簇”参数2. 簇4. 按名称解除捆绑(Unbundle By Name)功能:按元素名称解包已有簇。要求元素有名称(标签)。已有簇常量元素名称来自“已命名簇”参数2. 簇簇与数组的转化已有簇常量(三个整型元素)功能:将元素类型相同的簇转化为1维数组。功能:将1维数组转化为元素

8、类型相同的簇。(快捷菜单中“簇大小”选项指定簇元素数目)5. 簇至数组转换(Cluster To Array)6. 数组至簇转换( Array To Cluster )自动生成的簇元素标签2. 簇错误簇什么是错误?程序执行中的异常状态控件选板,新式-数组、矩阵与簇簇中元素:状态(status),布尔类型,T表示有错误,F表示无错误;代码(code),I32类型,0表示无错误;源(source),字符串类型,描述错误信息。输入控件输出显示控件程序中的错误簇很多函数都有“错误输入” 和“错误输出” 接线端:在编程时,经常将这些函数的错误簇参数串接在一起。2. 簇错误输入(error in)函数1函

9、数2函数3函数4错误输出(error out)函数内部如何使用错误簇?通常情况下:在函数中首先判断“错误输入”参数是否有错误(簇的“状态”元素为T时有错误),如果有错误,则不执行实际代码(除非必要,例如释放占用的资源),将输入的错误簇直接输出;如果无错误,则执行实际代码,根据代码执行情况设置错误输出(有错即输出错误)。2. 簇错误输入(error in)函数1函数2函数3函数4错误输出(error out)自行构建子VI/子函数时也应遵循该原则!当错误簇遇到Case结构2. 簇子VI功能代码“错误”分支“无错误”分支“错误输入”直接传递到“错误输出”根据代码执行情况设置“错误输出”带错误处理功

10、能的带错误处理功能的子子VI的一般架构的一般架构本讲内容 数组 簇 波形3.波形(Waveform)用于存储数字化信号、波形数据随时间连续变化的信号(已经转为电信号,非周期信号)通过采样得到的数字信号采样点采样间隔、采样周期(倒数为采样率Fs)3.波形时间标识/时间戳(Timestamp):表示精确时间的特殊数据类型(前面板)控件选板,新式-数值(框图)函数选板,编程-定时时间标识输入控件时间标识输出显示控件时间标识常量时间/日期浏览按钮3.波形时间标识函数举例获取日期/时间(Get Date/Time In Seconds)功能:读取当前时间,返回对应时间标识。需统计执行时间的代码段(延时3

11、秒)第1次读取当前时间第2次读取当前时间对时间标识做差第0帧第1帧第2帧3.波形波形数据类型一种特殊的簇,用于存储随时间变化的信号的数据类型(信号已经被数字化)(前面板)控件选板:新式-I/O(框图)波形常量快捷菜单,显示项-属性波形输入控件t0 时间标识类型,表示时间起点dt 双精度浮点数,表示数字化波形相邻两点时间间隔Y 双精度浮点数的一维数组,表示具体波形数据属性属性/attributes 变体类型,携带相关信息如设备号,数据采集通道号变体数据类型变体数据类型参见补充内容!参见补充内容!3.波形t0dtY3.波形波形相关典型函数,函数选板,编程-波形创建波形(Build Waveform

12、)功能:创建一个波形(未连入“波形”参数)或修改已有波形(连入“波形”参数)。默认,只有Y输入端上、下拖动边框,出现t0,dt,attributes类似簇的“按名称捆绑”3.波形2. 获取波形成分(Get Waveform Components)功能:提取已有波形中的成分(t0,dt,Y,属性)。类似簇的“按名称解除捆绑”3.波形3. 设置波形属性(Set Waveform Attribute)4. 获取波形属性(Get Waveform Attribute)功能:实际上是为波形中的变体类型的attributes分量设置和获取属性即(名,值)对。参见补充内容中的以下函数设置变体属性(Set V

13、ariant Attribute)获取变体属性(Get Variant Attribute)3.波形程序示例菜单,帮助-查找范例,浏览方式:任务-基础-波形-Create Waveform example.vi 所生成波形中包含名为“attributes”的空变体,该变体含两个属性(值都为字符串类型): NI_ChannelName CH:0 NI_UnitDescription - deg C 3.波形为数众多的其他波形相关函数:波形操作和运算波形发生波形测量请自行学习和使用练习习题1:生成含10个随机数1维数组,将数组元素顺序颠倒,再将数组最后5个元素移到数组前端,形成 一个新数组。习题2

14、:创建一个簇控件,其元素分别为字符型控件“姓名”,数值型控件“学号”,布尔型控件“注册”;从该簇控件中提取出元素“注册”并显示在前面板上。练习习题3:学习波形发生函数的使用方法,注意“采样信息”参数。正弦波形函数的位置:函数选板,编程-波形-模拟波形-波形生成(补充)变体数据类型变体数据类型(Variant)可以包含任意数据类型的特殊数据类型。(前面板)控件选板:新式-变体与类输出显示控件(默认)北京北京上海上海快递员不关心包裹内装了什么表示其中所含数据的字符表示其中所含数据的字符串,串,非数据本身非数据本身!(补充)变体数据类型变体相当于可以容纳某个任何类型数据的容器。典型函数转换为变体(To Variant)功能:将“任何数据”转化为“变体”。描述其中所含数据的字符串,非数据本身!(补充)变体数据类型变体能够嵌套么?可以,因为变体也是一种LabVIEW数据类型(补充)变体数据类型2. 变体至数据转换(Variant To Data)功能:将“变体”转化为“数据”,转化规则依据所接入的“类型”

温馨提示

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

评论

0/150

提交评论