LabVIEW编程及虚拟仪器设计(第三讲)_第1页
LabVIEW编程及虚拟仪器设计(第三讲)_第2页
LabVIEW编程及虚拟仪器设计(第三讲)_第3页
LabVIEW编程及虚拟仪器设计(第三讲)_第4页
LabVIEW编程及虚拟仪器设计(第三讲)_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

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

(4)While循环的执行次数,仅受循环体内给条件端子置入的具体循环条件制约。上节课内容回顾(2)一、循环结构二、条件结构三、顺序结构四、公式节点五、事件结构要么在选择器标签中列出所有可能的情况;要么必须给出一种默认情况。

进行条件结构内外的数据交换时,会在其边框上生成隧道。输入隧道在每个分支中都可使用;而输出隧道必须从每个分支都得到明确的(输入)值,否则程序无法运行。

(只是6,Default分支的显示)上节课内容回顾(3)一、循环结构二、条件结构三、顺序结构四、公式节点五、事件结构

输入数据在顺序结构运行前读入,各帧均可用;输出数据在顺序结构执行完才输出,只跟最后一帧有关。

层叠式顺序结构中可设立局部变量,用于在不同帧之间实现数据传递。平铺式顺序结构无需局部变量,数据传递直接经隧道实现。平铺式与层叠式顺序结构实现功能相同,只是表现形式不同。

当公式节点中的代码很多,一屏显示不下时,可在代码区域弹出快捷菜单,选择“显示项”->“滚动条”,从而实现滚动浏览。一、循环结构二、分支结构三、顺序结构四、公式节点五、事件结构

各输入、输出端子的名称必须与公式节点中的变量名称完全相同。各输入端子间、各输出端子间不允许重名,但输入端子与输出端子可重名。输入端子输出端子滚动条中间变量也必须在边框上定义,但可以不与外部连接。

上节课内容回顾(4)本节课内容一、数组二、簇三、波形

除整数、浮点数、布尔数和字符串等基本数据类型以及相应的运算、操作外,LabVIEW中还提供有几种复合数据,包括数组、簇和波形,以及对它们进行操作的函数。灵活使用这些复合类型的数据及相应的操作函数,可简化程序代码,方便虚拟仪器即VI的编程。一、数组(1)1.数组的创建(1)

1)创建数组框架(输入、显示、常量);2)向数组框架中添加“元素”,以确定数组元素的数据类型;3)以拖动方式操作,可确定数组的可视大小;4)给数组赋值(指定具体元素)。

数组是相同类型元素的集合。在LabVIEW中,数组可以随意改变长度。

数组输入控件和数组常量可作为数据源;数组显示控件则作为数据流动的目标容器。到达数组输入控件框架亦即数组显示控件框架的路径为:(前)控件选板->新式->数组、矩阵与簇->数组;而数组常量框架(后面板),经函数选板

->编程

->数组->数组常量找到。

一、数组(2)1.数组的创建(2)b)向框架的元素区域中添加数据类型

“元素”(不论输入

、显示还是常量)

a)建框架c)调整元素的可视大小和个数改变元素大小同时显示多个元素注意:只有确定了所建数组的性质,才能进行调整数组元素可视个数的操作。一、数组(3)1.数组的创建(3)

d)赋值;改变数组元素的默认值

默认值的设置方式:在第0号(即首个)元素上弹出快捷菜单,选择“数据操作”

->“当前值设置为默认值”。显示4个元素表格形式的空整型数组输入控件在第0号元素上把当前值1指定为默认值为第0号元素指定整型值1索引(坐标、下标)从0开始一、数组(4)数组的快捷操作(这里,以数组常量索引区的快捷菜单为例)

在数组常量的索引区和边框上右击鼠标,弹出快捷菜单一、数组(5)3.数组的行、列、页注意:一般来说,任何类型数据的输入、显示控件和常量,均可用来定义数组的元素类型。但是,数组、子面板控件(控件->新式->容器->子面板)、选项卡控件(控件->新式->容器->选项卡控件)、ActiveX控件、波形图表、XY图等不能作为数组的元素。

页索引行索引列索引注意:索引区域显示的值,永远是元素区域所显示的左上角元素的索引值(即元素下标;从第0页、0行、0列记起)。以数组常量为例以数组显示控件为例一、数组(6)4.数组操作函数(1)数组大小

其输入“数组”,可是任意维的数组;输出“大小”,提供该数组各维的长度。如果输入“数组”是一维的,输出“大小”便给出一个整数值;若输入“数组”是多维的,则输出“大小”提供的(也称返回的)就是1个一维的整型数组,其每个分量对应输入数组中相应维的长度。

路径:函数选板->编程->数组子选板

这里,对应前页中的上例(2页、3行、4列)。点击该函数图标的右端,可直接生成数组显示器。一、数组(7)4.数组操作函数(2)索引数据

路径:“函数”选板->“编程”->“数组”子选板

使用该函数,可获得对该数组中感兴趣部分的数据。这里只显示了输入数组的第0页;获得(显示)了其第0页第1行。一、数组(8)

4.数组操作函数(3)替换数组子集路径:“函数”选板->“编程”->“数组”子选板

这里,输入仍是前述的2页3行4列的数组(仅给出了第0页);给该函数只接入了数组某行的索引值,具体为1,即要替换输入数组所有页的第1行(成一个新三维数组)。送给输入端子“新元素/子数组”的二维数组是替换新元素,它的第0行去替换原三维数组第0页的第1行;而其第1行,去替换原数组第1页的第1行。

显示的仅是结果的第0页(索引号从0计起)。一、数组(9)

4.数组操作函数(4)初始化数组路径:“函数”选板->“编程”->“数组”子选板

功能:创建n维数组。每一维的长度,分别由“维数大小0”~“维数大小n-1”这n个输入端输入的数值确定。刚创建成仅一维,拖曳其图标下边框,可增加输入端子数,从而创建多维数组;且数组刚创建成时,其每个元素的值均与“元素”端子输入的值相同。一、数组(10)4.数组操作函数(5)创建数组

路径:“函数”选板->“编程”->“数组”子选板

功能:将若干个输入数组即“数组”与“元素”组合成一个数组。该函数图标上弹出的快捷菜单中有“连接输入”选项,当它被选中时,该函数输出端会提供将所有输入连接在一起的结果,此输出数组的维数,与所有输入中的最高维数相同;该选项被关闭,所有输入的维数必须相同,该函数输出的数组比输入(数组)高一维;若所有输入均为标量,“连接输入”选项被自动关闭,函数输出一维数组,按顺序输出所有输入的参数(作为它的元素)。

拖曳下边框可增加输入端子。一、数组(11)

4.数组操作函数(6)数组子集

路径:“函数”选板->“编程”->“数组”子选板

功能:输出(返回)输入的数组中从“索引”参数指定的位置开始、由“长度”参数指定长度的数组子集。每个“索引”与一个“长度”构成一对;“索引-长度”对的数目与输入参数“索引”的维数相同;输出“子数组”的维数,也与“数组”的维数相同。

求数组的最大值和最小值数组的转置数组的排序数组的移位数组的反转抽取一维数组程序见其它.VI其他数组操作函数一、数组(12)

5.操作函数的多态化

多态化是指一种函数功能,即它可以协调/接纳不同格式、不同维数或不同显示模式的输入数据。在LabVIEW中提供的大多数功能函数均是多态化的。

二、簇(1)1.簇(Cluster)的创建(1)a)创建簇框架;b)向簇框架中添加元素;c)拖动确定簇的可视大小。

簇可以包含任意数目、任意类型的元素。簇不能在运行时添加新元素(而数组的长度在运行时可以自由改变)。簇类似于C语言中的结构(structure)。

簇输入控件和簇显示控件的框架在(前)控件选板->新式->数组、矩阵与簇子选板上;而簇常量的框架,则在(框图)函数选板->编程->簇与变体子选板上。

簇与数组最明显的区别是,一个簇中的所有元素,不必同时为输入控件、显示控件或常量。但数组则不然。二、簇(2)1.簇的创建(2)可向其中再放入其他数据类型的“输入控件元素”。以构建一个簇控件、仅放入一个数值输入控件的情况为例。二、簇(3)2.簇元素的顺序

在簇中,元素有一定的排列顺序,该顺序即为创建该簇时添加元素的顺序。簇元素的排列顺序很重要,是完成很多操作的依据。

改变簇中元素的排序:在簇框架上弹出快捷菜单,选择“重新排序簇中控件…”,即打开了簇元素顺序编辑状态。簇元素上有两个序号,左侧反显的为新序号;右侧加灰的是旧序号。单击簇元素之一,将把该元素设置为第0号元素;对其他重复此过程,直到改好所有元素的顺序,点击上方工具栏OK按钮,确认所做修改。

在簇边框上弹出快捷菜单,选“自动调整大小”子菜单,可实现左图所示的所需操作。

二、簇(4)3.簇的操作函数

(1)捆绑[之一]

“函数”选板->“编程”

->“簇与变体”子选板

功能一:

将所有输入元素打包成簇。(元素均是“常量”,但可为不同数据类型)

二、簇(5)3.簇的操作函数

(1)捆绑[之二]

“函数”选板->“编程”

->“簇与变体”子选板功能二:

替换成新簇。二、簇(6)3.簇的操作函数(2)解除捆绑

“函数”选板->“编程”

->“簇与变体”子选板

二、簇(7)3.簇的操作函数(3)按名称打包(捆绑)

“函数”选板->“编程”

->“簇与变体”子选板

功能:按标签替换“输入簇”中的元素;替换结果从“输出簇”提供出来。故,“输入簇”必须接入,且要求其至少1个元素有标签。

添加标签:在对象(簇某元素)上弹出快捷菜单,从“显示项”子菜单选中“标签”,可为对象添加标签。二、簇(8)3.簇的操作函数(4)按名称解除捆绑

“函数”选板->“编程”

->“簇与变体”子选板

功能:把输入簇中的元素按标签解除捆绑。在函数输出端,只能获得拥有标签的簇元素。

函数初建时,只有一个输出端子;单击其标签域,可弹出带有标签的簇元素的列表;必须对其分别建立相应的显示器。二、簇(9)3.簇的操作函数(5)簇与数组的相互转换

“函数”选板->“编程”

->“簇与变体”子选板

功能:把所有簇元素按顺序组合成一维数组经“数组”端子输出。显然,它要求簇的所有元素的类型要相同。

把“数组”端子输入的数组中的元素,按顺序捆绑成簇,并经“簇”端子输出。

三、波形(1)1.波形的创建(属于输出、显示)[1]

路径:控件选板->“新式”->“I/O”子选板

波形数据含有4个组成部分:t0为时间标识常量类型,表示波形数据的时间起点;dt属于双精度浮点类型,表示波形相邻数据点间的时间间隔,以秒为单位;Y是双精度浮点数组,它按时间顺序给出整个波形的所有数据点;“属性”具有变体类型,用于携带任意的属性信息。三、波形(2)波形的创建[2]

(a)时间标识(zhi)

时间标识,又称时间戳,是LabVIEW中记录时间的专用数据类型;它属于常量,获取它的路径:函数选板->编程->定时->时间标识常量。获取时间标识的输入控件和显示控件的路径为:控件选板->

新式->数值子选板。

在时间标识的常量或输入、显示控件上弹出快捷菜单,都可以打开上图所示对话框,以按现行时间进行时间的设置。路径:在时间标识常量(后)和时间标识输入或显示控件(前)上弹出快捷菜单,经数据操作子选板选择“设置时间和日期”。三、波形(3)波形的创建[3]

(b)变体类型

任何数据类型都可以转化为变体类型,然后再为其添加属性,并可以在需要时,转换回原来的数据类型。找到变体类型操作函数的路径:“函数”选板->“编程”->“簇、类与变体”->“变体”子选板。

三、波形(4)2.波形操作函数——创建波形(1)

“函数”选板->“编程”->“波形”子选板

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

“函数”选板

->“编程”->“波形”子选板

功能:将波形数据解包。默认情况下,只有Y输出端子;拖曳函数图标上边框,可增加dt、t0输出端子;拖曳下边框,可增加attributes(变体类型)输出端子。点击输出端子,可弹出元素选择快捷菜单。

三、波形(6)2.波形操作函数--设置波形属性(3)

路径:“函数”选板->“编程”->“波形”子选板

功能:为输入的波形数据添加“名称”和“值”的属性。实际上,这里的所谓属性,是为波形中的变体类型元素添加的;可以认为,该函数中封装了“设置变体属性”函数。

三、波形(7)2.波形操作函数——获取波形属性(4)

路径:“函数”选板->“编程”->“波形”子选板

功能:获取波形中名为“名称”的属性。实际上,是为获得波形数据中变体类型元素attributes的属性。

注意:在“波形”子选板上还有很多波形操作函数,且还有实现波形测量和波形发生的子VI,可以在需要使用时查阅并选择。其中一些波形函数较简单,可在框图上双击其函数图标,打开它的对应VI窗口,查看了解其内部的实现细节和原理。

三、波形(8)3.Waveform使用举例(1)

找到它的路径:前面板“帮助”\“查找范例”\“目录结构”\general\waveform\Operations.llb\CreateWaveformexample.vi

三、波形(9)3.Waveform使用举例(2)------前页例简介

首先,用FOR循环建立#points个0~100间的随机数数组;以此数组为Y数据,以当前时间作时间起点t0,以0.2s为时间间隔dt,建立波形数据。之后,用“连接字符串”函数,连接channelname字符串控制器、字符串常量“CH:”以及由“格式化写入字符串”函数转化而来的32位带符号整数控制器channel#所代表的通道号字符串,并以连接后的字符串作属性值,建立名为Channelnamed属性;再以字符串控制器channelunit的内容作为属性值,建立名为channelunit的属性;最后将波形数据输出(波形+波形数据)。三、波形(9)4.波形数组

波形数组是由波形数据作为元素组成的数组。例如在数据采集中,常常要从多个数据通道的每个通道中各采集一个波形。这时,数据采集函数输出的数据类型,其实就是一个波形数组。获得波形数组后,使用数组操作函数从该波形数组中提取出相关的波形元素(波形成分),然后,就可以使用前面介绍的波形函数对波形数据进行处理了。

完。

路径:“函数”选板->“编程”->“波形”->“模拟波形”->“波形

生产”子选板练习1:按所给参数,构建一个可以采集并输出正弦波形的VI。练习2:构建一个VI,将包含10个随机数的一

个数组的元素顺序颠倒过来,再将数

组最后5个元素移到数组前端,形成

一个新数组。练习3:创建一个簇控件,其元素分别为字符型控件“姓名”,数值型控件“学号”,布尔型控件“注册”;从该簇控件中提取出元素“注册”并显示在前面板上。练习4:任意创建一盒波形,将其名称设定为“采样信号”,将其值设定为1到200的数组。2023/3/22附录资料:不需要的可以自行删除2023/3/22步进电动机的工作原理与特点原理:步进电机是利用电磁铁原理,将脉冲信号转换成线位移或角位移的电机。每来一个电脉冲,电机转动一个角度,带动机械移动一小段距离。特点:(1)来一个脉冲,转一个步距角。

(2)控制脉冲频率,可控制电机转速。

(3)改变脉冲顺序,改变转动方向。

(4)角位移量或线位移量与电脉冲数成正比.2023/3/22步进电动机结构注意:步进电机通的是直流电脉冲

步进电机主要由两部分构成:定子和转子。它们均由磁性材料构成。定、转子铁心由软磁材料或硅钢片叠成凸极结构,定、转子磁极上均有小齿,定、转子的齿数相等。其中定子有六个磁极,定子定子磁极上套有星形连接的三相控制绕组,每两个相对的磁极为一相,组成一相控制绕组,转子上没有绕组。转子上相邻两齿间的夹角称为齿距角2023/3/22工作方式步进电机的工作方式可分为:三相单三拍、三相单双六拍、三相双三拍等。一、三相单三拍(1)三相绕组联接方式:Y型(2)三相绕组中的通电顺序为:A相

B相

C相通电顺序也可以为:

A相C相B相

2023/3/22(3)工作过程引转子,由于磁力线总是要通过磁阻最小的路径闭合,因此会在磁力线扭曲时产生切向力而形成磁阻转矩,使转子转动,使转、定子的齿对齐停止转动。A相通电,A方向的磁通经转子形成闭合回路。若转子和磁场轴线方向原有一定角度,则在磁场的作用下,转子被磁化,吸A相通电使转子1、3齿和AA'对齐。CA'BB'C'A34122023/3/22CA'BB'C'A3412B相通电,转子2、4齿和B相轴线对齐,相对A相通电位置转30;1C'342CA'BB'AC相通电再转302023/3/22这种工作方式,因三相绕组中每次只有一相通电,而且,一个循环周期共包括三个脉冲,所以称三相单三拍。三相单三拍的特点:(1)每来一个电脉冲,转子转过30

温馨提示

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

评论

0/150

提交评论