资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,#,第,1,章 虚拟仪器与,LabVIEW,概述,虚拟仪器简介,创建一个,VI,修改已有的,VI,LabVIEW,的学习途径,1-1,虚拟仪器简介,1-1-1,虚拟仪器概念,虚拟仪器是一种以计算机为载体的自动化测量与控制系统,用来对现实世界的各种物理量进行测量或者对物理过程进行控制。,被测对象,计算机,传感器,信号调理器,数据采集卡,应用软件,1-1-2,虚拟仪器结构,PXI,总线结构,1-1-2,虚拟仪器结构,USB,总线结构,1-1-2,虚拟仪器结构,分布式系统结构,1-1-2,虚拟仪器结构,GPIB,或串口设备结构,1-1-2,虚拟仪器结构,CRIO(,紧凑型可重配置输入输出,),系统结构,1-2,创建一个,VI,启动,LabVIEW,新建,VI,前面板,程序框图,1-2-1,启动,LabVIEW,1-2-2,新建,VI,1-2-3,前面板,前面板,是用户接口,用于向程序中输入各种控制参数,并以数字或图形等各种形式输出测试结果。我们可以把它想象为传统仪器的面板,面板上自然会有表头、按钮、拨盘等各种元件。,1-2-4,程序框图,程序框图,是程序的源代码,我们可以把它想象为传统仪器机箱里用来实现仪器功能的零部件。,接线端,、,节点,、,连线,演示,1-3,修改已有的,VI,通过改变,Express VI,的设置修改程序,使用开发工具修改程序,1-3-1,通过改变,Express VI,的设置修改程序,Express VI,是,LabVIEW,为用户提供的一类子程序,可以用来执行常用的测试任务,并能通过配置对话框快速修改执行任务的方式。,1-3-2,使用开发工具修改程序,工具选板,图标,工具名称,功能,操作值,用于为前面板各种输入控件和显示控件赋值。当它指向一个数字或字符控件时,光标形状就变为一个文本操作符。,定位,/,调整大小,/,选择,用于选中、移动对象或改变对象大小。,编辑文本,用于输入各种控件所需要的数字或字符值;也用于创建独立于其它控件的浮动标签。,进行连线,使用该工具,通过连线建立程序框图中各个对象之间的数据传递关系。,对象快捷菜单,该工具置于某一对象上时,单击鼠标左键即可弹出对象的快捷菜单(使用其它工具时,要用鼠标右键才可以弹出对象的快捷菜单)。,滚动窗口,用于滚动整个窗口内的图形,而无须使用滚动条。,设置,/,清除断点,用于在程序中为某个对象设置断点,使程序运行到这里暂停。,探针数据,用于在程序框图中设置探针,以观察程序运行的中间结果。,获取颜色,用于从窗口中提取颜色设置为当前色。,设置颜色,用来为控件、前面板、程序框图设置颜色。下一块调色板用于设置当前背景色,上一块调色板用于设置当前前景色。,1-3-2,使用开发工具修改程序,控件选板,1-3-2,使用开发工具修改程序,函数选板,1-3-2,使用开发工具修改程序,函数选板中选择“统计,.vi”,1-3-2,使用开发工具修改程序,调整后的程序框图,1-3-2,使用开发工具修改程序,调整后的前面板,演示,1-4 LabVIEW,的学习途径,1.LabVIEW,帮助菜单,显示即时帮助,快捷键:,Ctrl+H,锁定即时帮助,快捷键:,Ctrl+Shift+L,搜索,LabVIEW,帮助,快捷键:,Ctrl+?,查找范例,1-4 LabVIEW,的学习途径,1.LabVIEW,帮助菜单,查找示例对话框,1-4 LabVIEW,的学习途径,2.,对话框帮助按钮,在,LabVIEW,各种对话框中一般都有“帮助”按钮,可以随时打开,查看关于当前操作的详细说明。,练习与思考,1.1 VI,包括哪两个主要的部分?如何在它们之间切换?,1.2,程序框图主要由哪几类元件构成?它们分别起什么作用?,1.3 LabVIEW,开发工具的三个选板各用在,VI,的哪个部分?,1.4,修改“生成与显示,.VI”,,让它产生并显示一个方波信号,并可以在程序运行中改变占空比。,1.5,找到一个设计对话框的示例,VI,。,控件的类型,控件选板,控件设置,控件的布置,第,2,章 前面板设计,2-1,控件的类型,输入控件,用户用来向程序中输入数据的前面板控件,显示控件,程序向用户输出运行结果用的前面板控件,接线端区别,输入控件的接线端边框比显示控件的接线端边框粗,而且输入控件接线端上的空心小三角图标在右侧,而显示控件的在左侧。,2-2,控件选板,图标,功能,弹出一个对话框,以文本形式查找选板上的控件。进入搜索模式以后,此钮转换为返回钮。,弹出一个菜单,可以分别设置,控件选板,的形式;“类别”形式的选板上显示的类别;文本形式的选板是否按字母排序;以及,LabVIEW,环境的选项。,2-2,控件选板,图标,名称,内容,数值,数值输入控件、各种滑动杆、旋钮、转盘、颜色盒、数值显示控件、各种进度条、各种刻度条、仪表、量表、液罐、温度计;各种滚动条、时间标识控件。,布尔,各种按钮、开关和指示灯。,字符串与路径,字符串输入控件、字符串显示控件、文件路径输入控件、文件路径显示控件、组合框。,数组、矩阵与簇,数组壳、簇壳、实数矩阵、复数矩阵、错误信息输入控件和错误信息显示控件。,列表与表格,列表框、多列列表框、表格、树形控件和,Express,表格。,图形,波形图表、波形图、,XY,图、,Express XY,图、强度图表、强度图、数字波形图、混合信号图、三维曲面图、三维参数图、三维曲线图、三维图片控件和其它图形、图线、图片控件。,2-2,控件选板,图标,名称,内容,下拉列表与枚举,文本下拉列表、菜单下拉列表、枚举、图片下拉列表、文本与图片下拉列表。,容器,分隔栏、,.NET,容器、选项卡控件、子面板控件和,ActiveX,容器。,I/O,波形、数字波形、数字数据、通道名、,FP,资源名、,VISA,资源名、,IVI,逻辑名以及图象、运动等各种与硬件输入输出有关的控件。,引用句柄,LabVIEW,对很多对象的操作都需要一个句柄标识被操作的对象,这一个子选板包括各类引用句柄。,变体与类,包括变体与,LabVIEW,对象。,修饰,用于前面板装饰的一些图形。,2-3,控件设置,快捷菜单,属性对话框,布尔型控件,的设置,快捷键的设,置与键盘焦,点顺序编辑,其它设置,演示,2-3-1,快捷菜单,2-3-2,属性对话框,-,外观设置,2-3-2,属性对话框,-,标尺设置,2-3-2,属性对话框,-,格式与精度设置,2-3-2,属性对话框,-,数据范围设置,2-3-3,布尔型控件的设置,1.,外观设置,2.,机械动作设置,(,1,)单击时转换,(,2,)释放时转换,(,3,)保持转换直到释放,(,4,)单击时触发,(,5,)释放时触发,(,6,)保持触发直到释放,2-3-4,快捷键的设置与键盘焦点顺序编辑,1.,快捷键设置,键切换键盘焦点,演示,2-3-4,快捷键的设置与键盘焦点顺序编辑,1.,快捷键设置,演示,2-3-4,快捷键的设置与键盘焦点顺序编辑,2.,键盘焦点顺序编辑,2-3-5,其它设置,1.,默认值设置,2.,可见性设置,3.,颜色设置,2-3-5,其它设置,4.,颜色梯度条,2-4,控件的布置,替换与删除控件,改变控件大小和控件比例化,控件排列,组合与锁定控件,2-4-1,替换与删除控件,如果由于修改,VI,的设计,放在前面板上的控件不如另一个控件更符合程序设计要求,就需要进行控件的替换。,前面板上多余的控件要删除,删除对象时使用定位工具在需要删除的控件或它在程序框图的接线端上点击一下,控件周围出现高亮度虚线框时按一下,键即可。,2-4-2,改变控件大小和控件比例化,1.,改变控件大小,2.,增加前面板局部空间,2-4-3,控件排列,1.,对齐控件,2.,分布控件,2-4-3,控件排列,3.,网格的应用,2-4-4,组合与锁定控件,1.,组合控件,定位工具选中一些控件,然后用,“,组合,”,命令把它们组合在一起。这样它们就可以一起移动、一起改变大小,它们之间的相对位置和大小都保持不变。组合以后的控件如果想取消组合,就选中组合的对象然后用,“,取消组合,”,命令。,2.,锁定控件,设计好的,VI,为了防止控件被意外修改,可以将控件锁定。,3.,控件层叠,可以使层叠控件之间的上下层关系改变。,练习与思考,2.1,浏览控件选板,熟悉各个控件的位置。,2.2,按以下要求完成图,2-2,前面板设计:,(,1,)对各个控件的外观、类型和行为进行设置;,(,2,)将第一行,5,个控件顶端对齐,水平中心分布,组合在一起;,(,3,)将左下角,3,个控件左对齐,垂直中心分布,组合在一起;,(,4,)将这两组控件和图形显示控件组合在一起并锁定。,(,5,)为,stop,钮设置一个快捷键。,演示,程序框图里的对象,函数选板,基本数据类型,程序的层次结构,Express VI,多态,程序框图设计原则,修复程序创建中的错误,程序调试,第,3,章 构建程序框图,3-1,程序框图里的对象,3-1-1,节点,3-1-2,接线端,3-1-3,常量,3-1-4,连线,3-1-1,节点,函数,函数是完成,LabVIEW,程序功能的最基本成员,它相当于文本编程语言的操作符或语句,完成的功能相对简单,输入输出接线端相对较少。,子,VI,用于另一个,VI,中的,VI,叫子,VI,,这实际就是供其它程序调用的子程序。,Express VI,Express VI,是一类特殊子,VI,,可以通过对话框配置参数,执行常规的测试任务。,Express VI,的默认图标形式为可扩展节点,蓝色背景。,结构,结构是控制代码执行的元素,,LabVIEW,有,For,循环、,While,循环、条件、顺序、事件等几种结构。,3-1-1,节点,子,VI,节点在程序框图中的显示形式,3-1-1,节点,程序框图中的节点,3-1-2,接线端,控件接线端,控件接线端有图标接线端和数据类型接线端两种显示方式。,节点接线端,节点接线端是节点连线的位置,即数据传递的端点。,3-1-3,常量,通用常量,例如自然对数的底,e,、回车符等。,用户定义常量,LabVIEW,函数选板中有各种常用数据类型的常量,用户可以在编写程序时为它赋值。也可以从,VI,前面板,甚至其它,VI,前面板拖动或复制一个控件到程序框图产生一个用户定义的常量。,3-1-4,连线,线型,手工连线,自动连线路径选择,自动连线,错误连线,3-1-4,连线,线型,LabVIEW,用连线的形状与连线的颜色表示不同的数据类型。例如橙色代表浮点数、绿色代表布尔量、粉红色代表字符串、蓝色代表整型数等。细线代表单个数据,点线代表布尔量,粗线代表数组,双线代表二维数组,网格线代表簇等。,3-1-4,连线,手工连线,需要移动或删除连线时要先选中连线。选中的方法是用定位工具点击连线,点一下选中一个线段,点两下选中两个接线点之间的连线,点三下选中相连的所有线段。,创建左图,所示的图形代码,在,、处各点击鼠标一、二、三次不难发现这个规律。,3-1-4,连线,程序框图连线和创建停止按钮,演示,3-1-4,连线,自动连线,LabVIEW,可以自动为放进程序框图的对象连线。当移动一个对象接近其它对象时,会出现一段临时连线,当它放进程序框图后,两个对象就连接起来。,LabVIEW,找到它认为数据类型最匹配的接线端进行连线。,自动连线的另一个方法是让,LabVIEW,自动产生控件或常数。在接线端上弹出快捷菜单,选择“创建常量,/,创建输入控件,/,创建显示控件”命令,将产生一个常量、输入控件或显示控件。这样产生的对象数据类型肯定是正确的,而且可以自动连好线。如果选择了不正确的数据流方法,例如对一个输入控件使用创建输入控件命令,将不会连线。,3-1-4,连线,常见错误连线类型,3-2,函数选板,标准形式的函数选板,将程序框图节点按类别划分为若干子选板,每个子选板在顶层选板上显示为一个文本条目,最上面一个“编程”子选板是展开为图标形式的。点击每个条目左侧的黑色箭头 都可以将这个子选板展开为图标形式;展开为图标形式以后,点击子选板左上角的黑色箭头 可以将其折叠为一个文本条目。,3-2,函数选板,图标,名称,内容,结构,包括,For,循环、,While,循环、定时结构、条件结构、事件结构、平铺和层叠两种顺序结构、公式节点、反馈节点、全局变量、局部变量等。,数组,包括操作数组的各种函数、数组外框、数组与簇的转换函数和数组与矩阵的转换函数等。,簇与变体,包括操作簇的各种函数、簇外框、簇与数组的转换函数;变体与数据的转换函数、变体属性操作,VI,等。,数值,包括算术运算符、数值类型转换函数、三角函数、对数函数、复数函数、数值常数、数据操作函数、与信号调理有关的量值转换,VI,等。,文件,I/O,包括对各种格式文件读写的函数和,VI,对文件及路径进行操作的各种函数和,VI,。,布尔,包括逻辑运算符、布尔型常数、布尔量与数值的转换函数等。,3-2,函数选板,图标,名称,内容,字符串,包括对字符串操作的各种函数,字符串与数值、数组和路径的转换函数,字符串常量和创建文本,VI,等。,比较,包括各种比较运算符、选择函数、极值函数、强制范围转换函数、用于比较运算的,VI,等。,定时,包括计时、时间控制、提取系统时间的几个函数和,VI,。,对话框与用户界面,包括对话框、错误信息、菜单、光标、帮助、事件等与开发用户界面有关的函数和,VI,。,波形,包括关于波形操作的函数和,VI,。,应用程序控制,包括打开与关闭应用程序和,VI,的引用、属性节点、调用节点、程序的停止和退出等应用程序控制函数,面向对象编程的函数。,3-2,函数选板,图标,名称,内容,同步,包括通知、队列、信号量、事件等与程序同步有关的函数和,VI,。,图形和声音,包括,3,维图形、图片和声音的函数。,报表生成,生成应用程序报表的函数,报表可以使用数字、文本、图像等形式,可以包括前面板、程序框图和说明等内容,可以存储、打印和网络发布。,3-3,基本数据类型,3-3-1,数值型,3-3-2,其它数据类型,3-3-3,数据类型转换,3-3-4,数值型数据的单位,3-3-1,数值型,数据类型,标记,颜色,默认值,简要说明,单精度浮点数,SGL,橙色,0.0,内存存储格式,32,位,双精度浮点数,DBL,橙色,0.0,内存存储格式,64,位,扩展精度浮点数,EXT,橙色,0.0,内存存储格式,80,位,复数单精度浮点数,CSG,橙色,0.0+i0.0,实部和虚部内存存储格式均为,32,位,复数双精度浮点数,CDB,橙色,0.0+i0.0,实部和虚部内存存储格式均为,64,位,复数扩展精度浮点数,CXT,橙色,0.0+i0.0,实部和虚部内存存储格式均为,80,位,8,位整型数,I8,蓝色,0,取值范围,-128 127,16,位整型数,I16,蓝色,0,取值范围,32,768 32,767,32,位整型数,I32,蓝色,0,取值范围,2,147,483,648 2,147,483,647,64,位整型数,I64,蓝色,0,取值范围,1e19,1e19,8,位无符号位整型数,U8,蓝色,0,取值范围,0 255,16,位无符号位整型数,U16,蓝色,0,取值范围,0 65,535,32,位无符号位整型数,U32,蓝色,0,取值范围,0 4,294,967,295,64,位无符号位整型数,U64,蓝色,0,取值范围,2e19,3-3-2,其它数据类型,数据,类型,接线端,图标,图标颜色,缺省值,简要说明,布尔量,绿色,FALSE,存储为,8,位数值(一个字节),数值,0,表示,FALSE,,其余数值代表,TRUE,。,字符串,粉红,空字符串,存储为一个指针,指向的结构包括一个数值和一个数组。数组每个元素表达一个字符。,时间标识,棕色,本地日期时间,存储为一个簇,前两个整数用,64,位表示秒的整数部分数,后两个整数用,64,位表示秒的小数部分。,枚举,蓝色,列出所有的可选值,它的数字表达是无符号整型数。,路径,浅绿,使用标准的,Windows,语法,可以使用相对路径和绝对路径。,引用句柄,浅绿,LabVIEW,进行操作的对象,例如文件、设备等的标识。,3-3-2,其它数据类型,数组,随成员变,图标的方括号内包含数组元素的类型,图标的颜色随元素的数据类型变。,簇,棕或粉红,包含多个不同数据类型的元素,如果元素都是数值,颜色就是棕色;否则为粉红色。,波形,棕色,簇,元素包括,t,0,、,t,和数据。,数字波形,深绿,簇,元素包括,t,0,、,t,和数字数据。,数字数据,深绿,用表格形式显示数字信号。,输入输出名,紫色,表示与输入输出设备有关的名称。,变体,紫色,可以容纳各种不同的数据类型;存储控件名称、数据类型和数据本身。,动态,蓝色,用于,Express VI,的数据类型。,3-3-3,数据类型转换,当连接到一个接线端的数据与这个接线端要求的数据类型不同但是又比较接近时,,LabVIEW,会对这个数据的类型进行强制转换,并在这个接线端边缘加一个红色的,强制转换点,。,3-3-4,数值型数据的单位,演示,3-4,程序的层次结构,理解与应用,VI,的,层次结构,特性是掌握,LabVIEW,编程的关键之一。在应用程序的结构设计阶段,我们从顶层的,VI,着手进行整体规划,按照任务书把复杂的需求划分为一系列简单任务,然后在细节设计阶段我们为每一个任务构建一个子程序。最后完成的应用程序形成一个逐层调用的树形,VI,结构。,。,3-4,程序的层次结构,3-4-1,层次结构窗口,帮助我们了解软件层次结构的一个图形工具是,LabVIEW,的层次结构窗口,层次结构窗口通过显示,VI,的调用与被调用来表达,VI,的从属关系。,3-4-2,子,VI,1.,编辑子,VI,图标,3-4-2,子,VI,2.,连线板设计,如果说图标对于子,VI,来讲只是起到一个调用方便的作用,那么连线板对于子,VI,来说就几乎是必不可少的。因为调用它的,VI,必须由此与它交换数据,它起到一个图形化的参数表作用。,3-4-2,子,VI,3.,子,VI,设置,4.,由上层程序框图创建子,VI,3-5 Express VI,3-5-1 Express VI,的特点,Express VI,内部封装了更多的,VI,功能,可以完成信号采集、信号分析、数据存储等许多通常的任务,从而使虚拟仪器的开发更加简单。,3-5-2,由,Express VI,创建子,VI,3-5-3,动态数据类型,演示,3-6,多态,多态指函数和,VI,能够自动适应不同类型输入数据。,3-6-1,多态函数,上图是减法函数接受不同类型数据的几种情况。,3-6-2,多态,VI,1.,多态,VI,的概念,图中多态,VI,要对数据执行运算,A+B2,,,3,个子,VI,分别对数值、数组和波形进行这样的运算。,3-6-2,多态,VI,2.,使用多态,VI,3-6-2,多态,VI,3.,创建多态,VI,被创建的多态,VI,调入程序框图以后显示为刚才编辑的图标,并且缺省情况下不显示子,VI,选择器。如果在,Windows,文件系统中打开它则显示左图所示的对话框。,演示,3-7,程序框图设计原则,为了程序结构清晰,便于理解,应该使用,从左向右,,,从上到下,的顺序排列程序的节点。,尽量,避免,程序框图扩展到,屏幕显示范围以外,。,如果程序中某些部分能在其它程序中重用,或者是某些部分能划分为一个逻辑上的单元,就,创建一个子,VI,。,整齐清晰的排列连线,,以免造成读程序的困难。,按住,键,用选择工具在程序框图中划出一块面积,可以解决部分程序框图过于拥挤的问题。,为了节省程序框图空间,不必为函数和子,VI,显示标签,但是常数有必要,显示标签,。,为了增加程序可读性,使用,自由标签,为程序框图增加必要的,注释,。,3-8,修复程序创建中的错误,有时我们按照预定的程序设计方案填写了全部图形代码和控件,程序运行钮却仍然是断裂的形状,这说明程序当中存在错误。这里我们总结一些规律性的东西,以便更快的找到并改正错误,使程序能够运行。,3-8-1,查找错误的方法,双击断开的运行按钮,打开,错误列表窗口,。,3-8-2,常见的程序错误及处理,由于,数据类型不匹配,造成程序框图包含断线。改正方法是,转换数据类型,或用合适的数据类型替换数据源。,某些函数,必需的参数未连线,。改正方法是找到错误源正确连线。,子,VI,不能运行,。改正方法是修复子,VI,。,有时在程序框图中看不到错误,程序却不能运行,可能是,错误连线被节点遮盖,。解决办法是按,键删除错误连线。,子,VI,被放入程序框图后,又编辑,过它的,接口板,。此时子,VI,图标变灰。解决办法是使用,“替换”,快捷菜单命令,用同一个子,VI,做一次替换。,3-9,程序调试,一个能够运行的程序,却并不一定能够输出正确的结果,这就需要程序的调试。调试过程就是发现程序中的错误和缺陷并加以纠正的过程。,3-9-1,工具条中的程序调试工具,警告列表 运行 连续运行 中止执行 暂停,高亮显示执行过程 保存连线值 开始单步执行,开始单步执行 单步步出,3-9-2,断点,断点用来使程序执行中在某一位置暂停,以便于观察中间结果。,3-9-3,探针,在程序执行时显示流过某一连线的数据值等信息,甚至可以根据数据值做出一定的响应。,普通探针,3-9-3,探针,适应性探针,练习与思考,3.1,程序框图由哪些对象构成?有哪几类节点和接线端?,3.2,自动连线路径选择和自动连线有什么区别?如何设置?,3.3,浏览函数选板,了解各个函数的位置。,3.4,用,LabVIEW,的基本运算函数编写以下算式。,3.5,利用摄氏温度与华氏温度的关系编写一个程序,将输入的华氏温度()转换为摄氏温度。,3.6,如何设置断点?如何放置探针?,数组,簇,波形,字符串,第,4,章 分组的数据,4-1,数组,4-1-1,数组的概念,数组将相同类型的数据元素组合在一起,这些元素可以同是数值型、布尔型、字符型或路径、波形等各种类型,也可以是簇,但不能是数组。这些元素必须同时都是输入控件或同时都是显示控件。当程序中需要对相同数据类型的一些数据反复进行同样操作时,适于使用数组。,数组可以是一维的,也可以是多维的。每一维可以多达,2,31,1,个元素(,21,亿)。一维数组是一行或一列数据,可以描绘平面上的一条曲线。二维数组由若干行和列数据组成,可以在一个平面上描绘多条曲线。三维数组由若干页组成,每一页是一个二维数组。,4-1-1,数组的概念,数组的例子:,一维,二维,4-1-2,创建数组的方法,1.,在前面板上创建数组控件,4-1-2,创建数组的方法,定位工具移动到数组控件上时,数组控件会出现下图所示的深蓝色方形手柄。光标移动到某个手柄上,它的形状会变为双向箭头。用鼠标拖动箭头会带动手柄对数组进行各种调整。,手柄,4-1-2,创建数组的方法,2.,在程序框图中创建数组常量,4-1-2,创建数组的方法,3.,数组元素赋值,用上述方法创建的数组是空的,从外观上看数组元素都显示为暗色。要根据需要用操作工具或编辑文本工具为数组元素逐个赋值。若隔过前面的元素为后面的元素赋值,则前面元素根据数据类型自动赋一个默认值,例如“,0”,、“,F”,或空字符串。,4.,数组元素的显示,通过数组的索引框可以选择数组如何显示它的元素。行索引的值决定哪一行显示在最上;列索引的值决定哪一列显示在最左。直接用操作工具或文本工具在索引框输入数字,或者用操作工具按索引框左侧的增减钮都可以改变索引值。在显示出滚动条的情况下拖动滚动条也可以改变索引值。,4-1-2,创建数组的方法,5.,其它的创建数组的方法,用数组函数创建数组,某些,VI,的输出参数是数组,用程序结构产生数组,4-1-3,数组函数,1,数组大小函数,演示,4-1-3,数组函数,2.,索引数组函数,演示,4-1-3,数组函数,3.,替换数组子集函数,演示,4-1-3,数组函数,4.,数组插入函数,演示,4-1-3,数组函数,5.,删除数组元素函数,演示,4-1-3,数组函数,6.,初始化数组函数和创建数组函数,演示,4-1-3,数组函数,7.,数组子集函数,演示,4-1-3,数组函数,8.,数组最大值与最小值函数,演示,4-1-3,数组函数,9.,重排数组维数函数,演示,4-1-3,数组函数,10.,一维数组操作函数,一维数组排序 搜索一维数组 拆分一维数组,演示,4-1-3,数组函数,10.,一维数组操作函数,反转一维数组 一维数组移位,演示,4-1-3,数组函数,10.,一维数组操作函数,一维数组插值 以阈值插值一维数组,演示,4-1-3,数组函数,10.,一维数组操作函数,交织一维数组 抽取一维数组,演示,4-1-3,数组函数,11.,二维数组转置函数,演示,4-1-3,数组函数,12.,数组至矩阵转换和矩阵至数组转换,演示,4-2,簇,4-2-1,簇的概念,簇把若干不同数据类型的元素组合在一起,类似于,C,语言中的结构体和,Pascal,语言中的记录。可以把簇想象成一束通讯电缆,电缆中每一根线就是簇中一个不同的数据元素。,使用簇可以为编程带来以下的便利。,1.,把程序框图中不同位置、不同数据类型的多个数据捆绑在一起,减少了连线的混乱。,2.,子程序有多个不同数据类型的参数输入输出时,把它们捆绑成一个簇可以减少连线板上接线端的数量。,3.,某些控件和函数必须要簇这种类型的参数。,4-2-2,簇的创建,1.,在前面板上创建簇,4-2-2,簇的创建,1.,在前面板上创建簇,调整显示大小,4-2-2,簇的创建,2.,在程序框图中创建簇常量,4-2-2,簇的创建,3.,簇元素赋值,用上述方法创建的簇常量,它的元素还没有有效的值,从外观上看都显示为灰色。要根据需要用操作工具或编辑文本工具为簇元素逐个赋值。,4.,用簇函数创建簇,4-2-3,簇函数,1.,解除捆绑函数,演示,4-2-3,簇函数,2.,捆绑函数,演示,4-2-3,簇函数,3.,按名称解除捆绑函数,演示,4-2-3,簇函数,4.,按名称捆绑函数,演示,4-2-3,簇函数,5.,创建簇数组函数,演示,4-2-3,簇函数,6.,索引与捆绑簇数组函数,演示,4-2-3,簇函数,7.,数组至簇转换函数和簇至数组转换函数,演示,4-3,波形,4-3-1,波形的概念,波形类似于簇,但是它的元素的数量和类型是固定的。波形也很便于用图形显示控件来显示。波形的全部元素包括数据采集的起始时间,t,0,、时间间隔,dt,、波形数据,y,和属性。波形数据,y,可能是一个数组也可能是一个数值。,LabVIEW,提供基本的波形操作函数位于“波形”函数子选板中;,LabVIEW,还提供大量高级波形分析函数,位于“信号处理”函数子选板中,包括波形生成、波形调理、波形测量,3,个子选板。,4-3-2,波形的创建,波形控件,4-3-2,波形的创建,创建波形函数,演示,4-3-3,波形的属性,波形属性,波形的一些附加信息,演示,4-4,字符串,4-4-1,字符串的概念,字符串从本质上是一系列可显示的或不可显示的,ASCII,码字符的集合,不可显示的字符是换行符、制表位等。,程序中通常在以下情况用到字符串。,传递信息。,创建简单的文本信息或对话框提示。在这种情况下,我们也可以在中文操作系统中使用汉字。,存储数据,。数值型数据作为,ASCII,文件存盘时,必须先把它转换为字符串。,仪器通信,。把数值型的数据作为字符串传输给仪器,然后再将字符串转化为数字。,4-4-2,字符串控件,1.,字符串输入控件和字符串显示控件,4-4-2,字符串控件,2.,组合框,4-4-2,字符串控件,3.,表格,表格在“列表与表格”控件子选板。表格是一个字符串二维数组的显示形式,它的每一个单元格显示一个字符串。,演示,4-4-2,字符串控件,4.Express,字符表格,4-4-2,字符串控件,5.,树型,树型控件允许用户把项按照树型目录设置。,4-4-2,字符串控件,5.,树型,编辑树型控件的项,4-4-3,字符串控件的显示,字符串在“字符串输入控件”、“字符串显示控件”和“组合框”中的显示形式有以下几种。,正常显示。,“,”,代码显示。,密码显示。,16,进制显示。,4-4-4,字符串函数,1.,字符串长度函数,(a),2.,连接字符串函数,(b),3.,部分字符串函数,(c),4.,大小写转换函数,(d),(a)(b)(c)(d),演示,4-4-4,字符串函数,5.,替换子字符串函数,(a)(b)(c),演示,4-4-4,字符串函数,6.,搜索替换字符串函数,(a),7.,格式化日期,/,时间字符串函数,(b),8.,格式化写入字符串函数,(c),(a)(b)(c),演示,4-4-4,字符串函数,8.,格式化写入字符串函数,编辑格式字符串,4-4-4,字符串函数,9.,扫描字符串函数,演示,4-4-4,字符串函数,10,字符串移位函数与反转字符串函数(,a,),11,数值至小数字符串转换函数与数值至十进制数字符串转换函数 (,b,),12,字符串至路径转换函数与字符串至字节数组转换函数 (,c,),(a)(b)(c),演示,练习与思考,4.1,创建一个,2,行,3,列的二维数组输入控件,为数组元素赋值如下:,1.00,,,2.00,,,3.00,4.00,,,5.00,,,6.00,4.2,用数组函数将习题,4.1,创建的二维数组改为一维数组,元素为,1.00,,,2.00,,,3.00,,,4.00,,,5.00,,,6.00,。,4.3,用数组函数创建二维数组显示控件,元素为:,1.00,,,2.00,,,3.00,,,4.00,,,5.00,,,6.00,2.00,,,3.00,,,4.00,,,5.00,,,6.00,,,1.00,3.00,,,4.00,,,5.00,,,6.00,,,1.00,,,2.00,4.00,,,5.00,,,6.00,,,1.00,,,2.00,,,3.00,练习与思考,4.3,用数组函数创建一个二维数组显示控件,元素为:,1.00,,,2.00,,,3.00,,,4.00,,,5.00,,,6.00,2.00,,,3.00,,,4.00,,,5.00,,,6.00,,,1.00,3.00,,,4.00,,,5.00,,,6.00,,,1.00,,,2.00,4.00,,,5.00,,,6.00,,,1.00,,,2.00,,,3.00,4.4,用数组函数求出习题,4.3,创建的数组的大小。,练习与思考,4.5,编程将习题,4.3,创建的数组转置为:,1.00,,,2.00,,,3.00,,,4.00,2.00,,,3.00,,,4.00,,,5.00,3.00,,,4.00,,,5.00,,,6.00,4.00,,,5.00,,,6.00,,,1.00,5.00,,,6.00,,,1.00,,,2.00,6.00,,,1.00,,,2.00,,,3.00,4.6,创建一个簇输入控件,元素分别为字符型输入控件“姓名”,数值型输入控件“学号”,布尔型输入控件“注册”。从这个簇输入控件中提取出簇元素“注册”,显示在前面板上。,练习与思考,4.7,创建一个组合框,用,5,个项显示,5,名同学的姓氏拼音首字母,但是可以输出他们的中文姓名。,4.8,创建一个字符串显示控件,程序运行后显示当前系统日期、时间和自己的班级、姓名。,4.9,将范围,0,10,的,5,个随机数转换为一个字符串显示在前面板上。要求保留,2,位小数,每个数之间用逗号分隔。,练习与思考,4.10,建立一个,10,个元素的一维数组。程序每运行一次,所有元素前移一位,最后一位补充一个新的元素。,4.11,根据压力传感器的标定数据:,输入任意一个,0,18mv,之间的电压值,输出出对应的压力值,压力,(MPa),0,0.5,1,1.5,2,电压,(v),0,4556,9071,13559,17992,For,循环,While,循环,定时循环,条件结构,顺序结构,事件结构,禁用结构,公式节点,控制前面板对象的属性,第,5,章 控制程序运行的结构,第,5,章 控制程序运行的结构,结构是一种程序流程控制节点,它们在程序框图中的外形一般是一个大小可以缩放的边框,当它与其它节点的连线有数据传递过来时,边框内的一段代码或者反复执行、或者有条件执行、或者按照一定顺序执行。,结构内的一段代码叫做子程序框图;结构边框上数据输入输出的接线端叫隧道。,5-1 For,循环,5-1-1 For,循环的建立,5-1-2 For,循环的时间控制与数据传递,演示,5-1-3 For,循环对数组的自动索引,自动索引是指使循环边框外面的数组元素逐个依次进入循环边框内,或使循环边框内的数据累加成一个数组输出循环边框外面的功能。,演示,5-1-4,移位寄存器和反馈节点,1.,移位寄存器,(1),建立移位寄存器,移位寄存器从一个循环向下一个循环传递数据。,For,循环和,While,循环都可以使用移位寄存器。创建移位寄存器的方法是在循环的左边框或右边框上弹出快捷菜单,然后选择“添加移位寄存器”。,5-1-4,移位寄存器和反馈节点,移位寄存器,(2),移位寄存器传递数据的方法,程序在循环开始前为移位寄存器左边,3,个接线端都赋初始值,5,。,循环开始执行后循环数,i,不断送入右边框的移位寄存器接线端,并在每次循环结束时转移到左侧移位寄存器接线端。,到下一次循环时这个循环数就出现在移位寄存器左边最上边的接线端中。而在每次循环中,移位寄存器左边各接线端的值都向下移动一位。,到循环全部结束时,右侧接线端的数值转移到左侧接线端的同时,输出到循环边框外。,5-1-4,移位寄存器和反馈节点,移位寄存器,(2),移位寄存器传递数据的方法,用移位寄存器求最大值,(3),使用非初始化的移位寄存器,演示,5-1-4,移位寄存器和反馈节点,2.,反馈节点,自动创建反馈节,当,For,循环或,While,循环边框比较大时,使用移位寄存器会造成过长的连线,因此,LabVIEW,提供了反馈节点。在,For,循环或,While,循环中,当我们把一个节点的输出连接到它的输入时,连线中会自动插入一个反馈节点,同时自动创建了一个初始化接线端。,5-1-4,移位寄存器和反馈节点,2.,反馈节点,反馈节点的数据传递,演示,5-2 While,循环,While,循环控制程序反复执行一段代码,直到某个条件发生。,建立,While,循环的方法与,For,循环是一样的。,While,循环有两个固定的接线端。“循环计数“是一个输出接线端,它输出循环当前执行的次数。循环数是从,0,开始计数的。“循环条件”是一个布尔量输入接线端。程序在每次循环结束时检查条件接线端。因此,,While,循环总是至少执行一次。,5-2 While,循环,While,循环终止条件,死循环,5-3,定时循环,如果需要对循环的执行时间进行更精确的控制和增加更多控制功能,可以使用定时循环。,5-4,条件结构,条件结构包含有两个以上子程序框图,每个子程序框图中的一段程序代码对应一个条件分支,程序运行时选择其中的一段执行。,5-4-1,条件结构的建立,5-4-1,条件结构的建立,当条件结构的选择器接线端连接一个组合框时,条件选择器标签应该是组合框项的值,而不是它的标签。,演示,5-4-2,条件结构的设置,1.,默认选项的设置,在,LabVIEW,中使用条件结构,必须设置一个默认子程序框图处
展开阅读全文