收藏 分销(赏)

LabVIEW程序设计从入门到精通-PPT.ppt

上传人:1587****927 文档编号:1567928 上传时间:2024-05-03 格式:PPT 页数:426 大小:5.11MB
下载 相关 举报
LabVIEW程序设计从入门到精通-PPT.ppt_第1页
第1页 / 共426页
LabVIEW程序设计从入门到精通-PPT.ppt_第2页
第2页 / 共426页
LabVIEW程序设计从入门到精通-PPT.ppt_第3页
第3页 / 共426页
LabVIEW程序设计从入门到精通-PPT.ppt_第4页
第4页 / 共426页
LabVIEW程序设计从入门到精通-PPT.ppt_第5页
第5页 / 共426页
点击查看更多>>
资源描述

1、LabVIEW程序设计从入门到精通第第1章章 揭开揭开LabVIEW的面纱的面纱2引子“最初只存在机器语言,计算机的世界里一片黑暗。可是不久,汇编语言问世了,给计算机的世界投下了一缕曙光。后来,Fortran的出现带来了光明。”LabVIEW图形化编程语言的出现终于把人们尤其是工程师和科学家们从繁杂的编程工作中解放出来,使他们能够真正专心于自己所关注的事情。3本章内容1.1 虚拟仪器的概念1.2 什么是LabVIEW?1.3 LabVIEW可以做什么?1.4 LabVIEW的发展历程1.5 如何学好LabVIEW41.1 虚拟仪器的概念传统仪器传统仪器厂商定义功能厂商定义功能虚拟仪器虚拟仪器用

2、户定义功能用户定义功能51.1 虚拟仪器的概念虚拟仪器系统是由计算机、应用软件计算机、应用软件和仪器硬件和仪器硬件三大要素构成的。计算机与仪器硬件又称为VI的通用仪器硬件通用仪器硬件平台平台。61.1 虚拟仪器的概念软件技术是虚拟仪器的核心技术。常用的仪器用开发软件有LabVIEW、LabWindows/CVI、VEE等等,其中以LabVIEW应用最为广泛。7大家应该也有点累了,稍作休息大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流大家有疑问的,可以询问和交流81.2 什么是LabVIEW?LabVIEW(Laboratory Virtual Instru

3、ment Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言。传统文本编程语言根据语句和指令的先后顺序决定程序执行顺序,而LabVIEW 则采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序。它用图标表示函数,用连线表示数据流向。9101.2 什么是LabVIEW?LabVIEW程序被称为VI(Virtual Instrument),即虚拟仪器。LabVIEW的核心概念就是“软件即是仪器”,即虚拟仪器的概念。LabVIEW还包含了大量的工具与函数用于数据采集、分析、显示与存储等。111.3 LabVIEW可以做什么?LabVIEW在

4、测试、测量和自动化等领域具有最大的优势,因为LabVIEW提供了大量的工具与函数用于数据采集、分析、显示和存储。用户可以在数分钟内完成一套完整的从仪器连接、数据采集到分析、显示和存储的自动化测试测量系统。它被广泛地应用于汽车、通信、航空、半导体、电子设计生产、过程控制和生物医学等各个领域。121.3 LabVIEW可以做什么?LabVIEW不仅可以用来快速搭建小型自动化测试测量系统,还可以被用来开发大型的分布式数据采集与控制系统。在美国Lawrence Livermore国家实验室,一个花费2000万美金的极为复杂的飞秒激光切割系统就是基于LabVIEW开发的。在北京正负电子对撞机二期工程北京

5、谱仪慢控制系统中,大约有30种物理量共7000多点的现场数据点需要实时采集控制和分析记录等。13141.4 LabVIEW的发展历程 151.5 如何学好LabVIEW 1、多学习实例,本书以及LabVIEW都提供了大量的实例。2、大胆尝试,尝试编写自己的程序。“I hearI forget.I seeI remember.I doI understand.”16习题1.什么是虚拟仪器?虚拟仪器与传统仪器的区别是什么?2.什么是LabVIEW?LabVIEW的主要优势是什么?LabVIEW被应用在了哪些领域?17第第2章章 牛刀小试牛刀小试18仿真信号采集VI19本章内容建议老师在课堂上进行实

6、际演示。20小试身手写一个类似于左图的正弦波发生器,要求频率和幅度可调21第第3章章 开始开始LabVIEW之旅之旅22本章内容3.1 安装安装LabVIEW3.2 LabVIEW编程环境编程环境3.2.1 LabVIEW 8.2 启动界面3.2.2 前面板和程序框图3.2.3 控件选板3.2.4 函数选板3.2.5 工具选板3.3 善用善用LabVIEW联机帮助联机帮助3.3.1 实时上下文帮助窗口3.3.2 联机帮助文档3.3.3 范例查找器3.4 编辑前面板编辑前面板3.4.1 输入控件(Controls)和显示控件(Indicator)3.4.2 控件属性3.5 编辑程序框图编辑程序框

7、图3.5.1 程序框图中的控件对象3.5.2 程序框图节点3.5.3 对象连线3.6 运行运行VI3.7 调试调试VI233.1 安装LabVIEW性能要求及详细安装过程请参考LabVIEW 8.20程序设计从入门到精通第3.1、3.2节24LabVIEW程序包括前面板(用户界面)和后面板(程序框图)3种选板:控件选板(为前面板添加控件)函数选板(在程序框图中添加函数或数据等)工具选板(选择各种编辑工具,前面板和后面板都要用到)3.2 LabVIEW编程环境253.2.1 LabVIEW 8.2 启动界面VI程序和工程创建栏新近打开的工程和VI程序列表栏帮助资源列表栏263.2.2 前面板和程

8、序框图LabVIEW程序被称为VI,扩展名默认为.vi框图窗口前面板窗口图标273.2.3 控件选板283.2.3 控件选板控件选板控件选板在前面板显示,它包含创建前面板时可用的全部对象。控件选板中的基本常用控件可以以现代现代(modern)、经典经典(classic)和系统系统(system)三种风格显示。选择主菜单View-Controls Palette选项或右击前面板空白处就可以显示控件选板。293.2.4 函数选板303.2.4 函数选板函数选板只能在编辑程序框图时使用,与控件选板的工作方式大体相同。创建框图程序常用的VI和函数对象都包含在该选板中。选择View-Functions

9、Palette或右击框图面板空白处就可以显示函数选板。313.2.5 工具选板323.2.5 工具选板在前面板和程序框图中都可以使用工具选板,使用其中不同的工具可以操作、编辑或修饰前面板和程序框图中选定的对象,也可以用来调试程序等。可以选择View-Tools Palette选项来显示工具选板 333.3 善用LabVIEW联机帮助LabVIEW为用户提供了非常全面的帮助信息,有效地利用帮助信息是快速掌握LabVIEW的一条捷径。LabVIEW提供了各种获取帮助信息的方法,包括实时上下文帮助(Show Context Help)、联机帮助、LabVIEW范例查找器(Find Examples)

10、、网络资源(Web Resources)等。343.3.1 实时上下文帮助窗口单击此处访问更详细的联机帮助更多帮助信息锁定上下文相关帮助显示VI路径353.3.1 实时上下文帮助窗口选择菜单栏中Help-Show Context Help选项或按下Ctrl+H,就会弹出Context Help窗口。当鼠标移到某个对象或函数上时,上下文帮助窗口就会显示相应的帮助信息。363.3.2 联机帮助文档373.3.2 联机帮助文档当单击Context Help窗口中Detailed help会弹出相应的完整的帮助信息。这是一个Windows标准风格的帮助窗口,包含了LabVIEW全部的帮助信息。你也可以

11、选择主菜单Help-Search the LabVIEW Help选项打开它。383.3.3 范例查找器 393.3.3 范例查找器LabVIEW提供了大量的范例,这些范例几乎包含了LabVIEW所有功能的应用实例,并提供了大量的综合应用实例。在菜单栏中选择Help-Find Examples选项可以打开范例查找器。403.4 编辑前面板 LabVIEW中的前面板是图形化的人机界面,利用控件选项板提供的各种控件可以所见即所得地编辑丰富多彩的人机界面。413.4.1 输入控件(输入控件(Controls)和显示控件()和显示控件(Indicator)利用输入控件可以输入相应的数据,例如数字、布尔

12、量、字符串和文件路径等。423.4.1 输入控件(输入控件(Controls)和显示控件()和显示控件(Indicator)显示控件用来显示数据。显示控件有数字、温度计、LED指示灯、文本、波形图等。433.4.1 输入控件(输入控件(Controls)和显示控件()和显示控件(Indicator)前面板中的一些控件既可以作为输入控件也可以做作为显示控件。右击控件,选择Change to Indicator或Change to Control可以进行输入控件与显示控件之间的切换。443.4.2 控件属性控件属性前面板中的每个控件都有自己的属性,如控件的颜色、最大最小值、显示精度和方式等。许多属

13、性都可以根据不同的需要进行编辑。右击前面板任何一个控件选择Properties选项就可以弹出该控件的属性配置窗口。453.5 编辑程序框图编辑程序框图程序框图是图形化源代码的集合,这种图形化的编程语言也称为G语言。463.5.1 程序框图中的控件对象 程序框图中的控件对象实际上是前面板相应控件的接线端 前面板控件程序框图中对应的接线端473.5.2 程序框图节点程序框图节点LabVIEW中的程序框图节点是指带有输入和输出接线端的对象,类似文本编程语言中的语句、运算符、函数和子程序。LabVIEW中的节点主要包括函数、结构、Express VI、子VI等。483.5.3 对象连线对象连线 493

14、.6 运行运行VI1运行运行VI单击前面板或程序框图工具栏中的运行按钮就可以运行VI一次,当VI正在运行时,运行按钮变为状态。2停止停止VI运行运行当程序运行时,停止按钮由编辑时的状态,变为可用状态,单击此按钮可强行停止程序的运行。如果调试程序时,使程序无意中进入死循环或无法退出时,这个按钮可以强行结束程序运行。503.7 调试VI在程序执行前或正在执行时,单击工具栏上的高亮执行按钮,程序就可以在高亮方式下运行,这时可以逼真地显示数据的流动过程。再次单击此按钮,程序又恢复正常运行。注意注意,使用高亮执行方式,将明显降低程序的执行速度。1高亮高亮显示数据流示数据流513.7 调试VI2查找找VI

15、不可不可执行的原因行的原因 如果在一个VI程序中存在错误时,VI是不能运行的。这时,工具栏中的运行按钮由变为断裂状态,如果单击此按钮就会弹出错误列表对话框。52小试身手1、新建一个VI,进行如下练习:任意放置几个控件在前面板,改变它们的位置、名称、大小、颜色等等。在VI前面板和后面板之间进行切换并排排列前面板和后面板窗口53小试身手2、编写一个VI求三个数的平均值,如右图所示。要求对三个输入控件等间隔并右对齐,对应的程序框图控件对象也要求如此对齐。添加注释分别用普通方式和高亮方式运行程序,体会数据流向。单步执行一遍54第第4章章 数据操作数据操作55本章内容4.1 数据类型数据类型4.1.1

16、数字型控件4.1.2 布尔型控件4.1.3 枚举类型4.1.4 时间类型(Time Stamp)4.1.5 局部变量和全局变量4.2 数据运算数据运算4.2.1 算术运算符4.2.2 关系运算符4.2.3 逻辑运算符4.2.4 表达式节点(Expression Node)564.1 数据类型数据类型VI程序框图中接线端以不同的图标和颜色来表示不同的数据类型 574.1.1 数字型控件数字型控件的外观可以五花八门,但是程序框图中的操作却是以其代表的数据类型为准 584.1.2 布尔型控件布尔控件代表一个布尔值,只能是True或False它既可以代表按钮输入,也可以当作LED指示灯显示。594.1

17、.3 枚举类型枚举类型LabVIEW中的枚举类型和C语言中的枚举类型定义相同。它提供了一个选项列表,其中每一项都包含一个字符串标识和数字标识,数字标识与每一选项在列表中的顺序一一对应。枚举型控件604.1.3 枚举类型枚举类型从上述的选板中选择枚举类型的输入控件添加到前面板中,然后右击该控件,从快捷菜单中选择Edit Items选项,打开如下图所示的枚举型选项编辑对话框。614.1.4 时间类型(Time Stamp)时间类型是LabVIEW中特有的数据类型,用于输入与输出时间和日期 624.1.5 局部变量和全局变量局部变量和全局变量在很多情况下需要在同一VI的不同位置或在不同的VI中访问同

18、一个控件对象,这时控件对象之间的连线就无法实现。这时候我们就需要用到局部变量或全局变量,通过局部变量或全局变量你可以在程序框图中的多个地方读写同一个控件。63局部变量局部变量局部变量只能在同一程序内部使用,每个局部变量都对应前面板上的一个控件,一个控件可以创建多个局部变量。读写局部变量等同于读写相应控件局部变量64局部变量局部变量创建局部变量有两种方法从函数选板的Structures子选板中选中Local Variable节点 前面板或程序框图中右击需要创建局部变量的控件选择Create-Local Variable选项创建该控件的局部变量 65局部变量局部变量读写局部变量的方法与读写控件对象

19、的方法完全一样66全局变量全局变量 通过全局变量可以在不同的VI之间进行数据交换,一个全局变量的VI文件中可以包含多个不同数据类型的全局变量。LabVIEW中的全局变量是以独立的VI文件形式存在的,这个VI文件只有前面板,没有程序框图,不能进行编程。67注意:使用局部变量和全局变量时要避免竞争现象。例如在程序不同的两个地方同时写同一个的对象的局部变量或全局变量,就会产生竞争现象,这时变量的值是无法预期的。因此我们必须要注意程序的执行顺序,避免竞争现象684.2 数据运算数据运算LabVIEW中提供了丰富的数据运算功能,除了基本的数据运算符外,还有许多功能强大的函数节点,并且还支持通过一些简单的

20、文本脚本进行数据运算。LabVIEW图形化编程中,运算是按照从左到右沿数据流的方向顺序执行。694.2.1 算术运算符算术运算符基本算术运算符包含在函数选板的Numeric子选板中,该子选板中有类型转换类型转换(Conversion)节点)节点、复复数(数(Complex)节点)节点、数学数学和科学常数和科学常数(Math&Scientific Constants)节点)节点等 70算术运算符举例算术运算符举例C=A+B=文本编程语言图形化编程语言714.2.2 关系运算符关系运算符关系运算符也叫比较运算符,包含在函数选板的Comparison子选板中 724.2.3 逻辑运算符逻辑运算符逻辑

21、运算符又称为布尔运算符,包含在程序框图中函数选板的Boolean子选板中,LabVIEW中逻辑运算符的图标与数字电路中逻辑运算符的图标相似 734.2.4 表达式节点(表达式节点(Expression Node)使用表达式节点可以计算包含一个变量的数学表达式,该节点允许使用除复数外的任何数字类型。在表达式节点中可以使用的函数有abs、acos、acosh、asin、asinh、atan、atanh、ceil、cos、cosh、cot、csc、exp、expml、floor、getexp、getman、int、intrz、ln、lnpl、log、log2、max、min、mod、rand、rem

22、、sec、sign、sin、sinc、sinh、sqrt、tan、tanh。表达式节点74小试身手1、写一个VI判断两个数的大小,如右图所示:当AB时,指示灯亮75小试身手2.写一个VI获取当前系统时间,并将其转换为字符串和浮点数。这在实际编程中会经常遇到。76小试身手3.利用局部变量写一个计数器,每当VI运行一次计数器就加一。当VI关闭后重新打开时,计数器清零。77小试身手4.写一个温度监测器,如右图所示,当温度超过报警上限,而且开启报警时,报警灯点亮。温度值可以由随即数发生器产生。78小试身手5.给定任意x,求如下表达式的值79第第5章章 程序结构程序结构80本章内容5.1 顺序结构(顺序

23、结构(Sequence Structure)5.2 For循环循环5.3 While循环循环5.4 Case结构结构5.5 事件结构(事件结构(Event Structure)5.6 使能结构使能结构5.7 公式节点(公式节点(Formula Node)5.8 跟着实例学跟着实例学模拟温度采集监测系统模拟温度采集监测系统815.1 顺序结构(顺序结构(Sequence Structure)5.1.1 LabVIEW程序的执行顺序 数据流式的编程方法 多段代码同时执行825.1 顺序结构(顺序结构(Sequence Structure)Flat Sequence StructureStacked

24、 Sequence Structure 835.1 顺序结构(顺序结构(Sequence Structure)在在Flat Sequence Structure的的Frame间传间传递数据递数据845.1 顺序结构(顺序结构(Sequence Structure)在在Stacked Sequence Structure的的Frame间传递数据间传递数据 855.2 For循环循环For循环用于将某段程序循环执行指定的次数。可以通过两种方法指定循环次数,一种是直接给定,一种是通过输入数组的大小给定 865.2 For循环循环输入和输出数组输入和输出数组875.2 For循环循环5.2.3 移位寄

25、存器移位寄存器(Shift Register)一个累加一个累加10次的次的a+程序程序 通过局部变量实现通过局部变量实现通过移位寄存器实现通过移位寄存器实现 885.2 For循环循环5.2.4 反馈节点(反馈节点(Feedback Node)通过反馈节点实现通过反馈节点实现a+895.3 While循环循环905.3 While循环循环5.3.2 添加定时器添加定时器915.3 While循环循环5.3.3 使用移位寄存器和反馈节点使用移位寄存器和反馈节点累加器程序累加器程序 925.4 Case结构If(a%2=0)b=a+2;elseb=a+1;end5.4.1 等价于等价于if.els

26、e.语句的语句的Case结构结构935.4 Case结构5.4.3 等价于等价于switch语句的语句的Case结构结构switch(fruit)case apple:price=9;case banana:price=10;case pear:price=8;default:price=0;945.5 事件结构(Event Structure)分析该程序可以看出,这个程序在没有用户点击的情况下完全都是在“空转”,浪费了大量的CPU资源,而且当“事件”发生太快时可能会被忽略。因此Labview提供了事件结构来解决这个问题,即仅当“事件”发生时,程序才做相应的响应 基于基于While循环和循环和

27、Case结构的单击计数器结构的单击计数器 955.5 事件结构(Event Structure)965.5 事件结构(Event Structure)97985.5 事件结构(Event Structure)基于事件结构的单击计数器基于事件结构的单击计数器 995.5 事件结构(Event Structure)5.5.2 Filter事件事件顾名思义,当该事件发生时,用户可以过滤掉顾名思义,当该事件发生时,用户可以过滤掉甚至完全放弃掉该事件将触发的活动。甚至完全放弃掉该事件将触发的活动。100注意:注意:一般来说,事件只能通过外在用户的动作触发,如单击鼠标,键盘等。如果需要内部数据触发事件(例

28、如当ab条件满足时触发一个事件),就需要通过用户自定义事件的方法实现,这将在本书的21.3节中介绍。1015.6 使能结构使能结构5.6.1 框图使能结构框图使能结构注释程序框图注释程序框图1025.7 公式节点(Formula Node)通过公式节点,用户不仅可以实现复杂的数学公式,还能通过文本编程写一些基本的逻辑语句,如ifelse,case,while循环之类的语句。y=1035.7 公式节点(Formula Node)公式节点中可以包含任意数量的公式公式节点中可以包含任意数量的公式 1045.7 公式节点(Formula Node)5.7.2 文本编程语言的实现文本编程语言的实现基于公

29、式节点的基于公式节点的CRC16算法的实现算法的实现 1055.8 跟着实例学跟着实例学模拟温度采集监测系统模拟温度采集监测系统106小试身手1.利用顺序结构和timing面板下的tick count VI,计算for循环次所需的时间。2.为第4章习题4添加一个While循环和定时器,实现连续的温度采集监测107小试身手3、利用顺序结构和循环结构写一个跑马灯,如下图所示,5个灯从左到右不停的轮流点亮,闪烁间隔由滑动条调节108小试身手4.求分数序列 前20项之和。5.给出一百分制成绩,要求输出等级A,B,C,D,E。90分以上为A,8089为B,7079为C,6069为D,60分以下为E。10

30、9小试身手6.利用事件结构实现在数字输入控件中,每当用户按下一个数字后,累加值就将新数字累加上去。例如按下34时,累加值为7;按下345时,累加值为12110小试身手7.利用公式节点判断一个数是否是素数,我们可以采用这样的算法:用2sqrt(N),依次去对N求余,只要有一个余数是0,则N就不是素数。111第第6章章 字符串、数组、簇和矩阵字符串、数组、簇和矩阵112本章内容6.1 字符串(字符串(String)6.2 数组(数组(Array)6.3 簇(簇(Cluster)LabVIEW中的结构中的结构体变量体变量6.4 矩阵(矩阵(Matrix)1136.1 字符串(字符串(String)字

31、符串在LabVIEW编程中会频繁的用到,因此LabVIEW封装了功能丰富的字符串函数用于字符串的处理,用户不需要再像C语言中一样为字符串的操作编写繁琐的程序。字符串控件包括输入控件、显示控件和下拉框。1146.1 字符串(字符串(String)1156.1 字符串(字符串(String)6.1.1 字符串控件字符串控件字符串输入控件一般被用作文本输入框,而字字符串输入控件一般被用作文本输入框,而字符串显示控件一般被用作文本显示框。符串显示控件一般被用作文本显示框。1166.1 字符串(字符串(String)6.1.2 表格和树形控件表格和树形控件表格(Table)和树形控件在Controls

32、Palette的Modern-List&Table面板下。表格实际上就是一个字符串组成的二维数组。树形控件以树的形式显示多层内容,Windows的资源管理器就是用树形控件来显示文件目录的。1176.1 字符串(字符串(String)6.1.2 表格和树形控件举例表格和树形控件举例1186.1 字符串(字符串(String)6.1.3 字符串函数字符串函数1196.1 字符串(字符串(String)6.1.3 字符串函数举例字符串函数举例 基本字符串函数示例基本字符串函数示例 1206.1 字符串(字符串(String)6.1.3 字符串函数举例字符串函数举例数据数组数据数组/电子表格字符串转换

33、函数示例电子表格字符串转换函数示例 1216.2 数组(数组(Array)6.2.1 数组控件数组控件数组控件 1226.2 数组(数组(Array)6.2.1 数组控件数组控件1236.2 数组(数组(Array)6.2.2 数组之间的算术运算数组之间的算术运算LabVIEW一个非常大的优势就是它可以根据输一个非常大的优势就是它可以根据输入数据的类型判断算子的运算方法,即自动实入数据的类型判断算子的运算方法,即自动实现多态现多态对于加减乘除,数组之间的运算满足下面的规对于加减乘除,数组之间的运算满足下面的规则:则:a)如果进行运算的两个数组大小完全一样,则将如果进行运算的两个数组大小完全一样

34、,则将两个数组中索引相同的元素进行运算形成一个新的两个数组中索引相同的元素进行运算形成一个新的数组。数组。b)若大小不一样,则忽略较大数组多出来的部分。若大小不一样,则忽略较大数组多出来的部分。c)如果一个数组和一个数值进行运算,则数组的如果一个数组和一个数值进行运算,则数组的每个元素都和该数值进行运算从而输出一个新的数每个元素都和该数值进行运算从而输出一个新的数组。组。1246.2 数组(数组(Array)6.2.3 数组函数数组函数1256.2 数组(数组(Array)6.2.3 数组函数举例数组函数举例用用Array Size 函数获得三维数组大小示例函数获得三维数组大小示例 1266.

35、3 簇(簇(Cluster)LabVIEW中的结构体变量中的结构体变量簇是簇是LabVIEW中比较独特的一个概念,但中比较独特的一个概念,但实际上它就对应于实际上它就对应于C语言等文本编程语言中语言等文本编程语言中的结构体变量。的结构体变量。1276.3 簇(簇(Cluster)LabVIEW中的结构体变量中的结构体变量6.3.1 簇的创建簇的创建通过簇控件实现的温度显示器通过簇控件实现的温度显示器 1286.3 簇(簇(Cluster)LabVIEW中的结构体变量中的结构体变量改变簇内部元素控件的索引改变簇内部元素控件的索引 1296.3 簇(簇(Cluster)LabVIEW中的结构体变量

36、中的结构体变量6.3.2 簇操作函数簇操作函数1306.3 簇(簇(Cluster)LabVIEW中的结构体变量中的结构体变量1、解包函数(、解包函数(Unbundle)该函数将簇解开从而获得簇中各个元素的值。缺省情况下,它会根据输入的簇自动调整输出端子的数目和数据类型,并按照簇内部元素索引的顺序排列。1316.3 簇(簇(Cluster)LabVIEW中的结构体变量中的结构体变量2、打包函数(、打包函数(Bundle)该函数用来为Cluster中各元素赋值。1326.3 簇(簇(Cluster)LabVIEW中的结构体变量中的结构体变量3、按元素名称解包函数(、按元素名称解包函数(Unbun

37、dle By Name)普通的解包函数解包后只有将鼠标移到输出端子上才能看到输出元素的名称,程序的可读性不高。该函数可以根据名称有选择的输出簇内部元素。其中元素名称就是指元素的Label。1336.3 簇(簇(Cluster)LabVIEW中的结构体变量中的结构体变量4、按元素名称打包函数(、按元素名称打包函数(Unbundle By Name)该函数通过簇内部元素名称来给簇内部元素赋值。参考簇是必须的,该函数通过参考簇来获得元素名称。1346.3 簇(簇(Cluster)LabVIEW中的结构体变量中的结构体变量簇操作函数使用示例簇操作函数使用示例 1356.3 簇(簇(Cluster)La

38、bVIEW中的结构体变量中的结构体变量6.3.3 error in 和和error out簇簇LabVIEW利用error in 和error out这两个预定义簇来作为传递错误信息的载体。1366.3 簇(簇(Cluster)LabVIEW中的结构体变量中的结构体变量6.3.3 error in 和和error out簇簇对于系统错误,code都有预先的定义,可以通过选择Help-Explain Error打开错误解释框来查找该错误代码的更详细的解释。1376.4 矩阵(矩阵(Matrix)LabVIEW 8之前的版本中只能通过二维数组来实现矩阵的操作。但是数组的运算方法和矩阵的运算方法有很

39、大不同,譬如两个数组相乘是直接将相同索引的数组元素相乘,而矩阵的相乘必须按照线性代数中规定的方法相乘,因此用数组实现矩阵运算是非常麻烦的。LabVIEW 8最新加入了对矩阵的支持,从而使矩阵的运算变得非常简单。1386.4 矩阵(矩阵(Matrix)矩阵乘法举例1396.4 矩阵(矩阵(Matrix)LabVIEW 8还提供了丰富的线性代数运算函数,它们位于Functions Palette的mathematics-liner algebra面板下 140小试身手1.为第5章的习题2连续温度采集监测添加报警信息,如下图所示,当报警发生时输出报警信息,例如“温度超限!当前温度78.23”,正常情

40、况下输出空字符串。141小试身手2.对字符串进行加密,规则是每个字母后移5位,例如A变为F,b变为g,x变为c,y变为d142小试身手3.产生一个33的整数随机数数组,随机数要在0到100之间,然后找出数组的鞍点,即该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。如下图所示:143小试身手4.利用簇模拟汽车控制,如右图所示,控制面板可以对显示面板中的参量进行控制。油门控制转速,转速油门*100,档位控制时速,时速档位*40,油量随VI运行时间减少。144第第7章章 图形化显示数据图形化显示数据图表和图形图表和图形145引子LabVIEW很大的一个优势就是它提供了丰富的数据图形化显示控

41、件,而且使用起来极其方便。146本章内容7.1 波形数据波形数据(Waveform)7.2 Chart趋势图趋势图7.3 Graph图表图表7.4 三维图形(三维图形(3D Graph)7.5 Picture图形控件图形控件1477.1 波形数据波形数据(Waveform)7.1.1 波形数据控件波形数据控件为了方便地显示波形,LabVIEW专门预定义了波形数据类型。它实际上就是按照一定格式预定义的簇,在信号采集,处理和分析过程中经常会用到它。1487.1 波形数据波形数据(Waveform)波形数据控件携带的数据包含了时间波形的基本信息,因此可以直接作为Chart和Graph的输入。横坐标代

42、表时间,纵坐标代表Y值 1497.1 波形数据波形数据(Waveform)7.1.2 波形数据操作函数波形数据操作函数虽然波形数据是一种预定义格式的簇,但是必须用专用的波形数据操作函数才能对它进行操作,其中某些操作函数与簇的操作函数非常类似。波形数据的操作函数位于Functions Palette的Programming-Waveform子模板下 1507.1 波形数据波形数据(Waveform)波形数据操作函数举例波形数据操作函数举例1517.2 Chart趋势图趋势图Chart可以将新测得的数据添加到曲线的尾端,从而反映实时数据的变化趋势,它主要用来显示实时曲线。1527.2 Chart趋

43、势图趋势图7.2.1 波形趋势图(波形趋势图(Waveform Chart)对于标量数据,对于标量数据,Chart图表直接将数据添加在图表直接将数据添加在曲线的尾端。曲线的尾端。1537.2 Chart趋势图趋势图对于一维数组数据,它会一次性把一维数组的数据添加在曲线末端,即曲线每次向前推进的点数为数组数据的点数。1547.2 Chart趋势图趋势图若要显示多条标量曲线,只需要用簇的Bundle函数将它们绑定在一起作为输入即可。1557.2 Chart趋势图趋势图对于二维数组,缺省情况下是每一列的数据当作一条一维数组曲线。1567.2 Chart趋势图趋势图技巧:技巧:若想将曲线截图,可以通过

44、右击曲线选择Data Operations-Copy Data将曲线图复制到剪切板上。1577.2 Chart趋势图趋势图7.2.2 定制定制Chart显示样式显示样式分栏显示多条曲线。分栏显示多条曲线。右击Chart选择Stack Plots 1587.2 Chart趋势图趋势图7.2.2 定制定制Chart显示样式显示样式设置更新模式设置更新模式右击Chart选择Advanced-Update Mode可以设置曲线的更新模式。Strip Chart模式:曲线填满显示区后曲线通过左移来更新曲线。Scope Chart模式:曲线填满显示区后直接清空显示区重新开始从左向右增长曲线在Sweep C

45、hart模式:通过一条指示红线从左向右刷新数据 1597.2 Chart趋势图趋势图7.2.3 带时间轴的实时曲线带时间轴的实时曲线1607.3 Graph图表图表Graph和Chart的区别在于Graph是一次性将现有数据绘图,在绘图之前先自动清空图表,而不会将新数据添加到曲线的尾端。根据显示方法,Graph又分为波形图、XY曲线图、强度图、数字时序图和三维图。1617.3 Graph图表图表7.3.1 定制定制Graph属性属性 1627.3 Graph图表图表右击Graph控件可以看到该控件有很多属性可以设置。选择Visible Items可以看到关于该控件的很多辅助选项。选择这些选项可

46、以使它们都可见,如下图所示。1637.3 Graph图表图表Waveform Graph7.3.2 Waveform GraphWaveform Graph可以有多种数据输入类型:一维数组,二维数组,簇,簇数组,波形数据。它在Controls Palette中的位置为Modern-Graph-Waveform Graph。1647.3 Graph图表图表Waveform Graph1、一维数组作为输入、一维数组作为输入当输入数据为一维数组时,当输入数据为一维数组时,Waveform Graph直接将一维数组画成一条曲线,纵坐标为数组直接将一维数组画成一条曲线,纵坐标为数组元素的值,横坐标为数组

47、索引。元素的值,横坐标为数组索引。1657.3 Graph图表图表Waveform Graph2、二维数组作为输入、二维数组作为输入当输入数组为二维数组时,缺省情况下每一行的数据对应一条曲线,即曲线的数目和行数相同。1667.3 Graph图表图表Waveform Graph3、簇作为输入、簇作为输入簇作为输入时需要指定三个元素:起始位置x0、数据点间隔dx和数组数据。1677.3 Graph图表图表Waveform Graph4、簇数组作为输入、簇数组作为输入一维簇数组也可以直接作为Graph的输入,此时相当于x0为0,dx为1 1687.3 Graph图表图表Waveform Graph5

48、、波形数据作为输入、波形数据作为输入由于波形数据所携带的数据横轴为时间,因此需要将Waveform Graph的横轴设为时间轴。1697.3 Graph图表图表XY Graph7.3.3 XY Graph当我们需要画的曲线是由当我们需要画的曲线是由(x,y)坐标决定的时候,坐标决定的时候,我们就需要采用我们就需要采用XY Graph。其实其实Waveform Graph在一定意义上也是在一定意义上也是XY Graph,但是它的,但是它的X轴必须是等间距的,而且轴必须是等间距的,而且不可控制。不可控制。1707.3 Graph图表图表XY Graph1、XY两个一维数组绑定为簇作为输入两个一维数

49、组绑定为簇作为输入 这是最简的一种情形,Bundle函数的输入的第一个数组为X Array,第二个数组为Y Array。绑定为簇后可以直接输入,也可以将多个簇Build为一维数组输入实现多条曲线。1717.3 Graph图表图表XY Graph2、坐标点簇数组作为输入、坐标点簇数组作为输入该方式将各个点的坐标绑定为簇然后作为簇数组输入,和直接将该方式将各个点的坐标绑定为簇然后作为簇数组输入,和直接将XY数组绑定为簇输入效果一样。但是后者不一定需要数组绑定为簇输入效果一样。但是后者不一定需要XY数组的数组的大小一致,它会自动将大的数组裁剪。大小一致,它会自动将大的数组裁剪。1727.3 Grap

50、h图表图表XY Graph3、时间作为、时间作为X轴轴利用利用XY Graph实现实现历史曲线历史曲线 1737.3 Graph图表图表XY Graph4、Express XY GraphExpress XY Graph采用了LabVIEW的Express技术,将Express XY Graph放置在前面板上的同时,在程序框图中会自动添加一个VI,它的XY轴数据为动态数据类型。1747.3 Graph图表图表7.3.4 亮度图亮度图(Intensity Graph&Chart)1757.3 Graph图表图表7.3.5 数字波形图数字波形图(Digital Waveform Graph)176

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服