版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LabVIEW图形化编程与实例应用第1章 绪论知识点: 虚拟仪器的概念 虚拟仪器的构成 虚拟仪器的前景 图形化编程语言LabVIEW简介本章概述: 本章主要介绍虚拟仪器的概念、构成特点及LabVIEW编程语言的特点,重点阐述“软件即是仪器,仪器即是软件”的观点。 LabVIEW图形化编程与实例应用 虚拟技术、计算机技术与网络技术是信息技术最重要的组成部分,它们被称为21世纪科学技术中的三大核心技术。 虚拟仪器,是虚拟技术的一个重要组成部分,它是现代计算机软件技术、通信技术和测量技术高速发展孕育出的一项革命性技术,其导致了传统仪器的结构、概念和设计观点都发生了巨大变革,它的出现使得人类的测试技术
2、进入了一个新的发展纪元。 1-1-1 虚拟仪器的基本概念 1-1 虚拟仪器概述 LabVIEW图形化编程与实例应用 所谓虚拟仪器,就是在以PC为核心的硬件平台上,由用户通过软件进行编程设计,设计出的虚拟仪器面板可以用来模拟仪器并实现其测量功能的一种计算机仪器系统。 虚拟仪器是测试技术与计算机深层次结合的产物,“虚拟”首先体现在仪器的面板是虚拟的,传统仪器面板都是实实在在的,是用户可以用手触摸的“器件”;虚拟仪器的面板是外形与实物相似的“图标”。另外虚拟仪器是通过软件编程来实现仪器的多种测试功能的。 1-1-2 虚拟仪器的构成及分类 LabVIEW图形化编程与实例应用1.硬件平台 虚拟仪器的硬件
3、平台包括计算机和I/O接口设备两部分。 图1-1虚拟仪器的构成方式 LabVIEW图形化编程与实例应用2.应用软件 虚拟仪器的应用软件由应用程序和I/O接口设备驱动程序两大部分构成 。 1-1-3 虚拟仪器的发展及特点 1.虚拟仪器的发展 第一代模拟仪器 第二代分立元件式仪器 第三代数字化仪器 第四代智能仪器 虚拟仪器2.虚拟仪器的特点 尽可能采用了通用的硬件,各种仪器的差异主要是软件。 可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。 用户可以根据自己的需要定义和制造各种仪器,研制周期大大缩短。 比传统仪器更开放、灵活,可与网络及周边其他设备互联。 具有良好的性价比。
4、 虚拟仪器区别于传统仪器最大的特点在于:虚拟仪器的关键是软件。 1-2-1 什么是LabVIEW 1-2 图形化编程语言LabVIEW的概述 LabVIEW图形化编程与实例应用 LabVIEW是一种图形化的编程语言(又称为“G”语言),它是由美国NI公司推出的虚拟仪器开发平台,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境。 使用LabVIEW开发平台编制的程序称为虚拟仪器程序,它包括前面板、流程图以及图标/连接器三部分。 1-2-2 LabVIEW软件的特点 具有图形化的编程方式,是真正面向科学家和工程师的语言。32bit的编译器编译生成的程序可保证数据采集、测试方案的高速执行
5、。提供了大量的虚拟仪器和函数库来帮助编程。采用传统的调试手段与新颖的高亮显示,更有利于编程人员进行调试。囊括了各种仪器通信总线标准的所有功能函数,方便了那些不懂总线标准的用户也能够驱动不同的总线标准接口设备与仪器。强大的网络功能,支持常用网络协议,可以进行网上发布以及远程监控仪器。LabVIEW像许多重要的软件一样,它提供了Windows、UNIX、Linux、Macintosh的多种版本。 LabVIEW图形化编程与实例应用1-2-3 安装LabVIEW 启动安装程序有以下两种方法: 1.自启动安装程序 2.在“资源管理器”中启动安装程序 1-2-4 启动LabVIEW 虚拟仪器(Virtu
6、al Instrument)简称VI,是现代计算机软件技术、通信技术和测量技术相结合的产物,它使得人类的测试技术进入了一个新的发展纪元。虚拟仪器的出现让人类对传统仪器的结构、概念和设计观点都发生了巨大变化,它将是今后测试仪器发展的主流方向。 在虚拟仪器这一领域内,目前使用较为广泛的计算机语言是图形化编程语言LabVIEW。LabVIEW建立在易于使用的图形化数据流编程语言“G”语言上,“G”语言大大简化了科学计算、过程监控和测试软件的开发,并可以在更广泛的领域内得以应用。 “软件即是仪器,仪器即是软件”。 1-3 本章小结 LabVIEW图形化编程与实例应用第2章 LabVIEW集成开发环境
7、知识点: LabVIEW的前面板和流程图设计 LabVIEW的操作模板和主菜单 创建两个VI程序 LabVIEW的程序设计与调试技术 LabVIEW的数据流编程 LabVIEW的程序存储与菜单设计本章概述: 本章主要介绍LabVIEW作为一种图形化编程语言,具体应用在虚拟仪器设计时的一些概念和基本特点;介绍了如何使用LabVIEW集成开发环境来进行程序设计与调试;通过两个具体示例来说明LabVIEW编程的一般步骤;最后介绍了LabVIEW程序的存储方式和菜单设计方法。 LabVIEW图形化编程与实例应用 使用LabVIEW开发平台编制的程序称为虚拟仪器程序,简称为VI。设计程序主要是在以下两个
8、窗口中进行的: 前面板设计窗口(Front Panel) 流程图编辑窗口(Block Diagram) 2-1-1 前面板设计窗口 2-1 LabVIEW的基本开发平台 LabVIEW图形化编程与实例应用随机信号发生器前面板 LabVIEW图形化编程与实例应用2-1-2 流程图编辑窗口 流程图提供VI的图形化源程序,可理解为传统程序的源代码。在流程图中对VI进行编程,以实现程序的输入和输出功能。 流程图由端口、节点、图框和连线构成。 2-2 LabVIEW的操作模板 2-2-1 工具模板 工具模板为编程者提供了各种用于创建、修改和调试VI程序的工具。当从工具模板内选择了任一种工具后,鼠标箭头就
9、会变成该工具特定的形状。 2-2-2 控制模板 1.数字子模板 数字子模板主要包括各种数字型的控制件和显示件。数字控件的类型可以分为整型、浮点型、双精度型等。2.布尔子模板 LabVIEW图形化编程与实例应用2-2-3 功能模板 该模板上的每一个顶层图标都表示一个子模板,它们包含了编辑程序代码所需要的VI子程序和函数。1.数学运算子模板2.布尔运算子模板 3.比较运算子模板 2-3 LabVIEW的主菜单和工具栏 2-3-1 LabVIEW的主菜单 2-3-2 LabVIEW的快捷工具栏 快捷工具栏 2-4-1 两数相加、相减运算 2-4 创建两个VI程序 LabVIEW图形化编程与实例应用1
10、.前面板设计 2.流程图设计 3.运行程序 2-4-2 虚拟温度计 1.前面板设计 2.流程图设计 3.运行程序 2-5 数据流编程的概念 LabVIEW编程又称为“数据流”编程,“数据流”是LabVIEW的重要组成部分,它是控制虚拟仪器程序VI的运行机制。 2-6-1 找出语法错误 2-6 程序调试技巧 LabVIEW图形化编程与实例应用 如果一个VI程序存在语法错误,则流程图编辑窗口的工具栏上的运行按钮会变成一个折断的箭头,它表示程序有错不能被执行。 2-6-2 高亮执行程序 “高亮执行”功能按钮是LabVIEW独有的调试工具。 2-6-3 单步执行与断点 使用断点工具可以在程序的某一地点
11、终止程序继续执行,采用探针或者单步方式查看数据。 2-6-4 探针 用户可以用工具模板上的探针工具来查看程序数据流线上的数据值,首先在工具模板上选择探针工具,再用鼠标单击希望观察的连接线,这时会弹出一个探针显示窗口。 2-7-1 VI程序的两种存储方式 2-7 VI程序存储和库管理器 LabVIEW图形化编程与实例应用 LabVIEW语言为创建的VI程序提供了两种存储方式:文件存储方式和库文件存储方式。 表2-12 VI程序存储方式比较 单独的文件存储方式VI库文件存储方式可以将不同的VI程序分别保存在不同的子目录里;可以使用系统资源管理器提供的各种工具来管理单独的文件;可以利用专业开发版系统
12、内置的代码管理工具便于管理和携带,可以将功能相近的VI程序存储在同一个库中;可以将VI库中的所有文件进行批处理,会比单独文件处理更方便;VI库文件节省磁盘空间,因为它对文件进行了适当的压缩;可以使用文件分层管理2-7-2 保存程序为VI库文件 LabVIEW图形化编程与实例应用 LabVIEW对库文件的管理、编辑操作是通过VI库管理器来完成的。 2-7-3 VI库管理器 2-8 LabVIEW的菜单设计 LabVIEW提供了两种创建和编辑菜单的方法:一是在程序界面设计时完成;另外一种就是使用LabVIEW提供的菜单函数在程序运行时完成。 LabVIEW的菜单函数位于函数功能模板的Applica
13、tion Control子模板中。 2-8-1 设计用户菜单User.rtm 2-8-2 菜单函数模板简介 LabVIEW的Menu菜单函数模板位于功能模板的Application Control子模板中,它包含了一些常用的菜单控制函数。 2-9 本章小结 LabVIEW图形化编程与实例应用 LabVIEW创建的图形化程序也称为虚拟仪器程序,简称VI,主要包含三个组成部分:前面板、流程图、图标和连接器。LabVIEW提供了三个模板来实现程序设计,即:工具模板(Tools Palette)、控制模板(Controls Palette)和功能模板(Functions Palette),这些模板集中
14、反映了该软件的功能与特征。LabVIEW本身作为一种面向用户的应用程序开发平台,它可以根据用户的需要设计出良好的应用程序界面,前面板美观大方同时突出个性化。 LabVIEW图形化编程与实例应用第3章 结 构 知识点: LabVIEW结构节点的分类、用法及实例 LabVIEW公式节点、表达式节点的用法 LabVIEW的全局变量和局部变量 本章概述: 本章主要介绍LabVIEW的6种结构框图:顺序结构、选择结构、For循环、While循环、事件结构以及公式节点(附加表达式节点),另外还介绍了LabVIEW环境下的全局变量和局部变量的创建与用法。 LabVIEW图形化编程与实例应用LabVIEW图形
15、化编程与实例应用3-1 顺序结构 3-1-1 建立顺序结构 3-1-2 顺序结构的应用举例 LabVIEW提供了6种结构框图:顺序结构、选择结构、For循环、While循环、事件结构以及公式节点(附加表达式节点)。 顺序结构的一个典型应用就是计算程序运行的时间。 3-1-3 顺序结构的弊端 LabVIEW编程的主要特点是数据流形式,这便于VI大量的按照并行方式运行,优化了程序的计算性能。而顺序结构却趋向于中断数据流编程,禁止程序并行操作,顺序结构还掩盖了部分代码,所以用户在编程时应尽量不用或少用顺序结构。 3-2 选择结构 LabVIEW图形化编程与实例应用 LabVIEW的Case结构类似于
16、传统文本语言编程的ifThenelse语句。Case结构包含有两个或者更多的子框图,每一个子框图包含一段程序代码,由此对应一个程序分支。 3-2-1 建立选择结构 1.选择端口的输入值 2. Case结构的数据通道 3-3 For循环 LabVIEW的For循环结构类似于以下的传统文本语言编程:For i=0 to N-1循环子程序代码; 3-2-2 选择结构的应用举例 LabVIEW图形化编程与实例应用3-3-1 建立For循环 3-3-2 For循环的自动索引 LabVIEW循环结构的一个最大特点就是在于它使用了自动索引功能。 3-3-3 移位寄存器 For循环中,如果后一次运算要用到前一
17、次循环的结果时,就需要使用移位寄存器,移位寄存器是循环结构独有的本地变量。1.创建移位寄存器 2.初始化移位寄存器 For循环位于Structures结构子模板中,它包含两个端口:计数端口(输入端口)、重复端口(输出端口)。 3-3-4 For循环的应用举例 3-4 While循环 LabVIEW图形化编程与实例应用LabVIEW的While循环结构类似于以下的传统文本语言编程:Do循环子程序代码;While 条件为真 While循环结构位于功能模板的Structures子模板中,是一种无限循环结构,只要满足条件就可以一直循环下去。它包含两个端口:条件端口(输入端口)、重复端口(输出端口)。
18、3-4-1 建立While循环 3-4-2 While循环的应用举例 3-5 事件结构 LabVIEW图形化编程与实例应用 事件结构位于Structures子模板中,它的外形和Case结构非常相似,它包含超时端口和事件数据端口。 3-5-1 建立事件结构 3-5-2 事件结构的应用举例 3-6 公式节点和表达式节点 公式节点(Formula Node)是LabVIEW编程中非常灵活的一种结构,利用公式节点可以直接输入一个或者多个复杂的公式,而不用创建流程图的很多子程序。它的语言结构类似于C语言,还可以加注释,每个语句以分号结束,看起来就像是一段C语言代码。 3-6-1 建立公式节点 用户可以在
19、功能模板的两个位置找到公式节点结构,一个是在Structures子模板里,另外一个是在Mathematics子模板的Formula公式子选项板里。 LabVIEW图形化编程与实例应用 全局变量和局部变量是LabVIEW用来传递数据的工具。 3-6-2 公式节点的应用举例 3-7-1 局部变量 3-7 全局变量和局部变量 谈到局部变量,其实早在介绍顺序结构时就已经接触过了,当时是添加顺序局部变量来传递程序初始时间,以便计算程序所执行的时间。1.建立局部变量 2.局部变量的应用举例 3-7-2 全局变量 LabVIEW的全局变量是一个独立的VI,它是一种特殊的程序,没有流程图只有前面板,功能是保存
20、一个或多个全局变量,所以也把全局变量程序称为“容器”。1.建立全局变量 2.全局变量的应用举例 LabVIEW图形化编程与实例应用 如果用户的应用程序中有全局数组,那么就存在大量的数据复制的危险,因为用户想要在不同的地方对数据进行处理,最终就有许多的数据备份,造成内存的巨大开销和系统资源的浪费。 如果程序中使用了全局变量或者是局部变量,那么在程序运行之前,必须首先要确定它们的初始值是否满足执行的要求,如果不满足的话,就要对它们进行初始化。 3-7-3 使用全局变量和局部变量的注意事项 3-8 本章小结 本章主要介绍了LabVIEW对各种结构的定义,包含有顺序结构、选择结构、For循环、Whil
21、e循环、事件结构以及公式节点(附加表达式节点)、全局变量和局部变量的创建,辅助大量的实例对它们的用法和典型应用进行了详细的阐述,并给出了结构编程过程中需要注意的地方。 LabVIEW图形化编程与实例应用第4章 子VI 知识点: LabVIEW子VI的概念 LabVIEW子VI的构建和使用 LabVIEW的VI属性设置 本章概述: 本章主要介绍了“G”语言编程的分层特性,包括如何创建和使用LabVIEW的子程序、个性化程序图标以及如何对LabVIEW程序的属性进行设置等。 LabVIEW图形化编程与实例应用LabVIEW图形化编程与实例应用4-1 子VI的概念 子VI作为LabVIEW编程的层次
22、化和模块化编程的重要组成部分,它的使用可以让整个程序结构变得更加清晰、层次更加分明、程序更加易读和维护。子VI程序类似于传统文本语言的子程序,只要对它进行一定的设置,就可以被其他VI程序调用。 用LabVIEW语言开发程序时,使用自顶向下的设计方法。用户每创建了一个VI程序,都可以将它作为高一级程序的子VI节点来调用,实现其模块功能。 LabVIEW程序的图标位于前面板和流程图编辑窗口的右上角,对于每个VI程序,LabVIEW为它创建一个默认的图标。 4-2 编辑VI图标和接口板 4-2-1 建立选择结构 LabVIEW图形化编程与实例应用4-2-2 接口板 接口板提供了一组输入端口和输出端口
23、,它们分别与前面板上的控制件或指示器相对应。 4-3 子VI的构建和使用 LabVIEW创建子VI的第二种方法是在VI程序中选定内容来创建。具体方法是用选择工具框定一部分程序代码,然后在Edit菜单中执行“Create SubVI”命令,这样选取的代码就会变成系统默认的程序图标,实现子VI的创建。 4-3-1 VI创建子VI 由一个VI创建子VI,需要为它创建程序接口板,并可以个性化程序图标。 4-3-2 选定内容创建子VI LabVIEW图形化编程与实例应用 LabVIEW提供了对程序VI的属性进行设置,用户可以有3种打开属性设置对话框的方法:按组合键【Ctrl+I】、在File菜单中执行“
24、VI Properties”命令或者在程序图标的快捷菜单上执行“VI Properties”命令。 4-4-1 General属性 4-4-3 Documentation属性 4-4 VI属性的设置 4-4-2 Memory Usage属性 Memory Usage属性页主要显示当前程序使用系统内存以及占用磁盘容量的大小,它不包含程序当中所用到的子VI。 用户可以在这个属性页对程序VI进行描述,将程序链接到HTML文档或者帮助文档。4-4-4 Revision History属性 4-4-5 Security属性 LabVIEW图形化编程与实例应用 Window Appearance属性页用来
25、设定程序运行时的窗口界面。用户可以将程序设置为对话框窗口,这样用户在VI运行时就不能打开其他的应用程序了。 4-4-6 Window Appearance属性 4-4-7 Windows Size属性 4-4-8 Execution属性 4-4-9 Printing属性 4-5 本章小结 本章主要介绍了LabVIEW作为一门编程语言,它在开发程序时采用模块化编程的思想,使用自顶向下的设计方法。LabVIEW图形化编程语言的强大功能是建立在它的层次特性之上,子VI就是一个模块,使用子VI能够使程序变得易于调试、维护,更加通用化。子VI的创建有两种方法:将VI转换为子VI或者是在VI中选定部分程序
26、代码直接生成子VI。另外,用户通过使用图标编辑器可以设置个性化的图标。本章的最后介绍了程序的属性设置,使用它可以设计程序的外观、安全性以及打印属性等。 LabVIEW图形化编程与实例应用第5章 字符串、数组和簇 知识点: LabVIEW的字符串 LabVIEW的数组和多态性 LabVIEW的簇 Waveform波形数据类型本章概述: 本章主要介绍了“G”语言编程的分层特性,包括如何创建和使用LabVIEW的子程序、个性化程序图标以及如何对LabVIEW程序的属性进行设置等。 LabVIEW图形化编程与实例应用LabVIEW图形化编程与实例应用5-1 字符串 字符串是ASCII码字符的集合,当用
27、户与GPIB和串行设备的通信、读写文本文件以及传递文本信息时,字符串都是非常有用的。 Normal Display:正常显示。Codes Display:显示不可打印字符,也称为escape字符,表5-1列出了escape字符列表。Password Display:口令显示,字符将会以“*”来代替。Hex Display:十六进制显示,字符将会以十六进制数来显示。 5-1-1 字符串的显示方式 5-1-2 字符串函数子模板 字符串子模板除了包含一般的字符处理函数以外,还包含各种字符常量,以及字符串与数字量、路径的相互转换函数。 5-1-3 字符串应用举例 1.组合字符串 2.字符串子集和数值的
28、提取 LabVIEW图形化编程与实例应用5-2 数组 LabVIEW在功能模板的Array函数子模板中给出了大量的数组处理函数 。5-2-1 数组的创建 1.前面板上创建数组 2.流程图上创建数组 5-2-2 数组函数子模板 Array数组函数子模板 LabVIEW图形化编程与实例应用1.创建一个自动索引数组 2.创建二维数组 3.初始化数组和分离数组 5-2-3 数组应用举例 5-2-4 LabVIEW的函数多态化 多态化(Polymorphism)是LabVIEW编程语言的一种强大的函数处理功能,使用它可以给编程人员带来极大的便利,大多数LabVIEW函数都是多态化的。 Add函数的多态化
29、组合 LabVIEW图形化编程与实例应用5-3 簇 LabVIEW的簇函数中最主要的就是构造打包生成簇的“Bundle”函数,还有从簇中解包提取簇中元素的“Unbundle”函数。它们是根据簇成员的顺序来进行操作的,这也说明了簇内成员顺序排列的重要性。子模板左下角是簇常量,它用于在流程图中创建簇。此外还包含了数组与簇的相互转换函数。 5-3-1 簇的创建和排序 1.前面板上创建簇 2.流程图上创建簇3.簇的排序 5-3-2 簇函数子模板 簇也可以称为类,它是一种数据类型,类似于C语言的结构和Pascal语言记录。簇是不同数据类型的集合,它类似于一个容器,可以在里面放置各种数据类型的控制件或者指
30、示器。需要注意的是,同数组一样,向簇结构中放置的对象必须同时都是控制件或者同时都是指示器。 LabVIEW图形化编程与实例应用 Waveform波形数据可以看成是由1D波形数据(Y)、起始时刻(t0)和步长(X)等成员组成的一个簇。 LabVIEW为波形数据类型专门在功能模板上建立了一个Waveform子模板,这个子模板中包含了各种操作,例如创建、缩放、数学操作以及较高层函数(创建波形、测量和波形文件I/O等)。1.创建Waveform波形数据 2.使用Waveform函数生成正弦波 5-3-3 簇应用举例 1.创建簇、解包簇,再打包簇 2.替换簇成员 3.插接生成簇数组 4.建立“数组的数组
31、” 5-3-4 Waveform数据类型 LabVIEW图形化编程与实例应用5-4 本章小结 本章依次介绍了LabVIEW语言的字符串、数组和簇。字符串是ASCII码的集合,它有4种显示方式。数组是由一些具有相同数据类型的元素所组成,可分为数值型、布尔型、字符串型等数组。簇则是由不同类型的数据组成的集合。对于数组和簇来说,放置的对象必须同时都是控制件或者都是指示器。多态化是LabVIEW的一种函数功能,即可以协调不同格式、维数或者显示的输入数据,大部分LabVIEW函数都是多态化的。Waveform波形数据类型是LabVIEW 6i版本以后新增加的一种非常方便的组件,在数据采集和信号分析中应用
32、广泛。 LabVIEW图形化编程与实例应用第6章 图形显示 知识点: LabVIEW的图形显示组件 LabVIEW的实时趋势图 LabVIEW的事后记录图 LabVIEW的XY图形、强度图、数字波形图和三维图 LabVIEW的其他图形显示 本章概述: 本章主要介绍了LabVIEW语言提供的几种图形显示器件,重点介绍实时趋势图和事后记录图的用法和区别,并且介绍了图形显示的一些函数以及特殊图形的显示方法。 LabVIEW图形化编程与实例应用LabVIEW图形化编程与实例应用6-1 图形子模板 图形是虚拟仪器的重要组成部分,LabVIEW为用户提供了丰富的图形显示功能,在Graph图形子模板中提供了
33、许多可供使用的显示控件 图形子模板 LabVIEW图形化编程与实例应用6-2 实时趋势图 6-2-1 实时趋势图简介及其组件 1.标签Label和标题Caption 2.曲线图注Plot Legend 3.刻度图注Scale Legend 4.图形操作模板Graph Palette 5.数值显示Digital Display 6.清除图形Clear Chart7.多图形显示Stack Plots/Overlay Plots 8.数据缓冲区长度Chart History Length9.数据更新模式Updated Mode LabVIEW图形化编程与实例应用 Graph子模板上面一行的第二个图标
34、就是事后记录图Waveform Graph。Waveform Graph和Waveform Chart的大部分组件及其功能都是类似的,特别的是Waveform Graph具有光标指示器,利用它可以准确地读出波形曲线上的任何一点数据,便于分析某一时刻的特性值。1.光标名 2. X/Y坐标值 3.光标控制器 4.光标样式 5.锁定按钮 6.光标移动按钮 6-2-2 实时趋势图的应用举例 1.用实时趋势图显示两组随机数 2.温度临界预警器 6-3-1 事后记录图简介及组件 6-3 事后记录图 LabVIEW图形化编程与实例应用 XY图形就是通常意义上的笛卡儿图形,描绘XY Graph图形首先需要两个
35、数组X和Y,分别对应于图形的X轴和Y轴,并且需要将两个数组打包构成一个簇,X轴在上,Y轴在下。下面通过两个示例来说明XY Graph的一般用法。1.里萨如图形 2.描绘同心圆 6-3-2 事后记录图的应用举例 1.实时趋势图与事后记录图的比较 2.规格化事后记录图X轴的刻度3.采用簇数组显示不同长度的数据 6-4 XY图形 6-5 强度图 强度图形控件提供了一种在二维平面上表现三维数据的方法。例如可以用屏幕色彩的亮度来反映一个二维数组元素值的大小。强度图可分为Intensity Chart强度趋势图和Intensity Graph强度波形图。 LabVIEW图形化编程与实例应用 LabVIEW
36、提供了Digital Waveform Graph数字波形图来显示0或1表示的数字信号。 6-6 数字波形图 6-7 三维图形 3D Surface Graph:三维表面图。 3D Parametric Graph:三维参数图。 3D Curve Graph:三维曲线图。 Digital Waveform Graph显示数字信号流程图 6-7-1 LabVIEW的三维图形分类 LabVIEW图形化编程与实例应用 对三维图形属性的设置有两种方法:一种是利用“Graph & Sound”/“3D Graph Properties”子选项板中的属性设置函数;另外可以直接在三维图形的快捷菜单上执行“C
37、WGraph3D”/“特性(P)”命令,在弹出的对话框中进行图形、网格、坐标及光照等设置。1. 3D Surface Graph三维表面图 2. 3D Parametric Graph三维参数图 3. 3D Curve Graph三维曲线图 6-7-2 三维图形的应用示例 6-8 LabVIEW的其他图形显示 1. Picture.ctl的灵活运用 2.极坐标图Polar Plot Indicator 6-9 本章小结 本章依次介绍了LabVIEW语言几种图形显示器件:实时趋势图、事后记录图、XY图形、强度图、数字波形图、三维图和其他的特殊图形。对各种图形的用法和区别进行详细的阐述并辅以实例来
38、说明。 LabVIEW图形化编程与实例应用第7章 文件I/O 知识点: LabVIEW的文件I/O简介 LabVIEW读写文本文件、二进制文件和数据记录文件 LabVIEW读写波形文件和图像文件 本章概述: 本章主要介绍了LabVIEW语言支持的文件输入与输出格式。LabVIEW不仅可以像其他的编程语言那样读写ASCII码格式的文本文件和二进制文件,还有LabVIEW独特的数据记录文件,另外还介绍了如何读写LabVIEW的波形文件和图像文件。LabVIEW提供了功能强大的文件输入与输出函数子模板,可以方便地满足用户读写文件的要求。 LabVIEW图形化编程与实例应用LabVIEW图形化编程与实
39、例应用7-1 LabVIEW的文件I/O简介 文件输入与输出就是要在磁盘文件中保存和读取信息数据,以文件形式存储起来的数据具有“永久性”,数据文件不仅可以与LabVIEW语言编写的其他VI交换数据,而且可以被其他的程序共享,例如字处理软件、报表程序等。 7-1-1 LabVIEW支持的文件格式 1. ASCII码文本格式文件 2.二进制格式文件 3.数据记录文件 7-1-2 LabVIEW的文件I/O函数子模板 文件I/O操作函数子模板 LabVIEW图形化编程与实例应用1.高层文件I/O操作函数 2.低层文件I/O操作函数 7-2-1 写文本文件 7-2 读写文本文件 1.使用Write C
40、haracters To File.vi写文本文件 2.使用Write File写文本文件 3.使用Write To Spreadsheet File.vi写电子表格文件 7-2-2 读文本文件 1.使用Read Characters From File.vi读文本文件 2.使用Read File读文本文件 3.使用Read From Spreadsheet File.vi读电子表格文件 7-3-1 写二进制文件 7-3 读写二进制文件 1.使用Write To SGL File.vi写二进制文件 2.使用Write File写二进制文件 LabVIEW图形化编程与实例应用7-3-2 读二进制
41、文件 1.使用Read From SGL File.vi读二进制文件 2.使用Read File读二进制文件 7-4-1 写数据记录文件 7-4 读写数据记录文件 写数据记录文件流程图 LabVIEW图形化编程与实例应用7-4-2 读数据记录文件 该程序采用低层文件I/O操作函数读取上述产生的数据记录文件“c:datalog.dat”。 7-5 读写波形文件 该程序分别使用Write Wavefoms to Files.vi和Export Waveforms To Spreadsheet File.vi来保存波形文件。 7-5-1 LabVIEW的波形文件I/O函数子模板 Waveform F
42、ile I/O子选项板 7-5-1 写波形文件 LabVIEW图形化编程与实例应用 该程序采用Read Waveform from File.vi函数读取上述产生的波形数据文件“c:waveform.dat”。 7-5-3 读波形文件 7-6 读写图像文件 LabVIEW同样也可以读写图像文件,其支持的图像文件格式包括以下3种格式:BMP 1、4、8、24位非压缩图像格式。PNG 可移动式图像格式。JPEG 联合图像专家组的图像压缩格式。 图7-28读写图像文件流程图 LabVIEW图形化编程与实例应用7-7 本章小结 本章主要介绍了LabVIEW可以读写的几种文件格式:ASCII码格式的文本
43、文件、二进制文件、数据记录文件、波形文件和图像文件。另外还介绍了LabVIEW的File I/O函数子模板,包含高层文件I/O操作函数和低层文件I/O操作函数,几乎可以满足所有文件读写的需要。LabVIEW保存的数据文件不仅可以与其他的VI交换数据,而且可以被其他的程序共享,例如字处理软件、报表程序等。 LabVIEW图形化编程与实例应用第8章 信号分析与处理 知识点: Signal Processing信号分析与处理子模板 Mathematics数学运算子模板 信号分析与处理示例 本章概述: 本章主要介绍了LabVIEW语言的信号分析处理功能与数学运算功能。LabVIEW的分析软件库是由上百
44、个信号分析和处理VI构成的。这些VI位于LabVIEW的Signal Processing子模板与Mathematics子模板,包括信号产生、信号处理、信号统计、曲线拟合等在虚拟仪器中所使用的处理方法。最后给出了一些常用的信号分析与处理示例。 LabVIEW图形化编程与实例应用LabVIEW图形化编程与实例应用8-1 Signal Processing子模板 虚拟仪器通常由三个部分构成:信号的获取与采集、信号的分析与处理和结果输出显示。由此可见,信号分析与处理是构成虚拟仪器的重要组成部分。 Signal信号可定义为一个传载信息的物理量函数。Information信息则是反映一个物理系统的状态和
45、特性的预先不知的报导,而一个物理系统的状态和特性是以各种物理量的性质、数量及其相互关系来表达的,因此信号为了能够传载信息而表现为物理量的函数。 8-1-1 Signal Generation信号产生子选项板 LabVIEW已经将各种常用的信号函数做成了可以生成正弦波形、三角波形、随机噪声波形等各种仿真信号波形的功能模块,位于Signal Processing子模板下的Signal Generation子选项中。1. Sine Wave.vi函数节点 2. Uniform White Noise.vi函数节点 LabVIEW图形化编程与实例应用8-1-2 Time Domain时域分析子选项板
46、LabVIEW在Time Domain时域分析子选项板提供了11种时域分析函数,包括卷积、反卷积、互相关、自相关、微积分、延时等运算。1. Convolution.vi函数节点 2.AutoCorrelation.vi函数节点 3. Yi = ClipXi.vi函数节点 8-1-3 Frequency Domain频域分析子选项板 LabVIEW在Frequency Domain频域分析子选项板提供了27种频域分析函数,包括功率谱、FFT、FHT、STFT等运算。1. Real FFT.vi函数节点 2. Auto Power Spectrum.vi函数节点 8-1-4 Filters数字滤波
47、器子选项板 数字滤波器是具有一定传输选择特性的数字信号处理装置,它的输入、输出信号均为数字信号,数字滤波器本身是一个线性时不变离散系统。数字滤波器的基本工作原理是利用离散系统特性去改变输入数字信号的波形或频谱,使有用信号频率分量通过,抑制无用信号分量输出。 LabVIEW图形化编程与实例应用1.Butterworth Filter.vi函数节点2. Chebyshev Filter.vi函数节点 8-1-5 Windows窗函数子选项板 LabVIEW在Windows窗函数子选项板中提供了13种窗函数,包括矩形窗、汉宁窗、海明窗等13种窗函数。用户可以根据需要来选择合适的窗函数,注意到频谱泄漏
48、的降低是以分辨率的下降为代价的,所以不能要求频谱分析的精度和分辨率这两个指标同时都达到最好。1. Scaled Time Domain Window.vi函数节点 2. Hamming Window.vi函数节点 LabVIEW在功能模板的Mathematics子模板中提供了大量的数学分析函数,分别包含在10个计算工具模块中。 8-2 Signal Processing子模板 LabVIEW图形化编程与实例应用8-2-1 Curve Fitting曲线拟合子选项板 曲线拟合是从一组数据中提取曲线参数或者系数,以获得这组数据的函数表达式。数值插值则是对已知点进行插值,进而得到这些分散点以外的其他
49、地方的数值。1. Linear Fit.vi函数节点 2. Spline Interpolation.vi函数节点 8-2-2 Probability And Statistics概率与统计子选项板 LabVIEW的Probability And Statistics概率与统计子选项板提供了多种概率与统计计算函数,可以方便地求出输入序列的统计特性,例如计算平均值、均方根值、中值、方差与标准差以及直方图等。1. Standard Deviation and Variance.vi函数节点 2. Mode.vi函数节点3. Histogram.vi函数节点 4. Moment about Mean
50、.vi函数节点 LabVIEW图形化编程与实例应用8-3 信号分析与处理示例 8-3-1 虚拟正弦波仿真信号的生成与显示 1.功能描述 2.设计步骤 3.程序运行检验 8-3-2 自相关函数演示仪 1.功能描述 2.设计步骤 3.程序运行检验 8-3-3 相关法测量相位差仿真仪 1.功能描述 2.设计步骤 3.程序运行检验 8-3-4 虚拟方波频谱分析仪 1.功能描述 2.设计步骤 3.程序运行检验 LabVIEW图形化编程与实例应用8-3-5 汉宁窗功能演示仪 1.功能描述 2.设计步骤 3.程序运行检验 8-3-6 相位谱分析法测量相位差仿真仪 1.功能描述 2.设计步骤 3.程序运行检验
51、 8-3-7 巴特沃斯频率特性演示仪 1.功能描述 2.设计步骤 3.程序运行检验 8-3-8 切比雪夫频率特性演示仪 1.功能描述 2.设计步骤 3.程序运行检验 LabVIEW图形化编程与实例应用8-3-9 虚拟积分器与微分器 1.功能描述 2.设计步骤 3.程序运行检验 8-3-10 调幅波解调器 1.调制与解调原理 2.功能描述 3.设计步骤 4.程序运行检验 8-3-11 直线拟合演示仪 1.功能描述 2.设计步骤 3.程序运行检验 8-3-12 多项式拟合演示仪 1.功能描述 2.设计步骤 3.程序运行检验 LabVIEW图形化编程与实例应用8-4 本章小结 信号分析与处理目前已经
52、在各个科学技术领域内日益广泛应用,信号处理技术的发展与应用是相辅相成的。鉴于它的重要性,对于从事测量与控制工程的科技工作者来说,信号分析与处理成为必须掌握的专业理论基础之一。LabVIEW为信号分析与处理提供了非常好的编程环境,在Signal Processing子模板与Mathematics子模板中包含了上百个信号分析和处理VI,用户可以很方便地利用这些现成的函数进行生成和分析信号、频谱分析、滤波处理、曲线拟合、求解函数零点、函数微积分等操作。这使得分析软件的开发变得更加简单,大大提高编程人员的工作效率。 LabVIEW图形化编程与实例应用第9章 与其他应用程序的接口 知识点: LabVIE
53、W的CIN节点和库函数的调用 LabVIEW与MATLAB的混合编程 LabVIEW的动态数据交换DDE LabVIEW对可执行文件*.exe的调用及生成可执行文件 LabVIEW对硬件端口地址的读和写 本章概述: 本章主要介绍了LabVIEW的一些高级应用,包括LabVIEW如何与C语言及MATLAB语言进行混合编程、动态数据交换DDE、调用Windows底层动态链接库函数、读/写硬件端口地址。另外还介绍了如何调用可执行文件和生成可执行文件安装包。 LabVIEW图形化编程与实例应用LabVIEW图形化编程与实例应用9-1 Advanced高级应用子模板 LabVIEW在Advanced高级
54、应用子模板中提供了与C语言接口、调用动态链接库函数、多线程开发以及操作注册表等高级功能。 LabVIEW与C语言的接口是通过Call Library Function Node节点来完成的,Call Library Function Node节点简称为CIN节点。用户可以通过它调用在C语言环境下编写的程序源代码,因为C语言是功能非常强大的程序软件开发平台,它能够实现采用LabVIEW函数难以实现的功能,因此将它与LabVIEW进行组合后将大大提高LabVIEW的整体功能。 Advanced高级应用子模板 9-2 LabVIEW与C语言接口技术 LabVIEW图形化编程与实例应用9-2-1 CI
55、N节点的调用 CIN节点的左端是参数的输入端口,右边是参数的输出端口,输出端口返回程序运行后参数的输出值。初始时的CIN节点只有一对输入与输出端口,如果需要添加新的输入、输出端口,可以使用工具模板上的选择工具进行拖拉CIN节点来完成,用户也可以通过在CIN节点的快捷菜单中执行“Add Parameter”命令来实现。 9-2-2 编写C语言源代码 在CIN的快捷菜单上选择Create .C File选项,会弹出一个标题为Choose a code resource .c file保存文件对话框,键入文件名mul.c,则生成了LabVIEW的C语言源代码框架。 9-2-3 编译C语言源代码 1.
56、新建一个DLL工程文件 2.向工程文件中添加CIN对象源代码和函数库 3.在DLL工程文件中加入cintools的路径 4. alignment和run-time library 5.创建LSB源文件 6.编译DLL工程文件,生成mul.lsb文件 LabVIEW图形化编程与实例应用9-2-4 装载lsb源文件并运行程序 回到LabVIEW流程图窗口,在CIN节点的快捷菜单中执行“Load Code Resource”命令,弹出一个“Choose a code resource file”对话框,找到mul.lsb文件,然后单击“打开”按钮,就完成了把lsb文件装载到CIN节点中。 在LabV
57、IEW中调用Windows底层动态链接库函数,首先要清楚被调用的函数的名称、功能以及输入与输出参数。例如想要获得当前鼠标的所在位置,就可以调用Windows的GetCursorPos函数来实现这一功能,GetCursorPos函数位于“c:WindowsSystem32”目录下的User32库中。 9-3 LabVIEW对库函数的调用方法 MATLAB语言具有如下特点:编程效率高;便于用户使用;扩充能力强;语句语法简单;高效方便的矩阵和数组运算;方便的绘图功能 9-4 LabVIEW嵌入式MATLAB Script编程 9-4-1 MATLAB简介 LabVIEW图形化编程与实例应用9-4-2
58、 LabVIEW与MATLAB的接口 LabVIEW是通过MATLAB Script节点方式与MATLAB语言进行通讯接口的。MATLAB Script节点位于Mathematics子模板的Formula子选项板中。将MATLAB Script节点放置流程图上后,可以用工具模板上的定位工具调整到合适的大小。 9-4-3 MATLAB Script节点应用示例 动态数据交换(Dynamic Data Exchange),简称DDE,是Windows应用程序之间进行通讯的协议。DDE是一种客户控制信息传输的协议,客户程序传递信息给服务器程序,这些信息可以是传送数据或要求数据,或者是要求服务器程序执
59、行的命令。 9-5 LabVIEW的动态数据交换DDE 9-5-1 DDE函数的调用路径 LabVIEW 6.1在默认安装的情况下,功能模板上并不包含DDE函数库,用户可以打开资源管理器,在LabVIEW 6.1的安装目录下,按照路径“LabVIEW 6.1vi.libplatform”找到DDE库,将其复制到“LabVIEW 6.1user.lib”文件夹中。重新启动LabVIEW,打开功能模板的User Libraries用户库,就可以找到DDE库函数子选项板。 LabVIEW图形化编程与实例应用9-5-2 DDE应用示例 1. LabVIEW向Excel文件写数据 2. LabVIEW从
60、Excel文件读数据 如果用户想在LabVIEW中运行其他Windows应用程序,可以借助Communication通信函数子模板中的“System Exec.vi”函数来实现。这是一个非常有用的函数,它实现了Windows环境中不同应用程序之间的通信,用户可以通过在LabVIEW中调用其他语言编写的可执行文件来解决一些在LabVIEW环境下很难实现或根本无法实现的功能。 9-6 LabVIEW对可执行文件*.exe的调用 1.设计步骤 2.程序运行 9-7 LabVIEW生成可执行文件程序包 9-7-1 含噪声信号功率谱分析仪 LabVIEW图形化编程与实例应用9-7-2 应用程序打包配置对
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 协会宣传部工作制度
- 南山爱普生工作制度
- 卫生室年度工作制度
- 赣州市2026特岗教师招聘考试-教育综合-学科专业知识试题(含答案)
- 县健康教育工作制度
- 县小康社会工作制度
- 县级三防办工作制度
- 参照管理机关工作制度
- 反腐败宣传工作制度
- 发廊员工工作制度范本
- 2026秋招:东方航空笔试题及答案
- 2025年北京市西城区中考化学模拟卷
- 2026年山西同文职业技术学院高职单招职业适应性测试模拟试题含答案解析
- 2025年AASM指南:成人OSA住院评估与管理
- 规范参股公司管理制度
- 2025人教版三年级数学上册 第六单元 分数的初步认识 单元分层作业
- 止水钢板施工人员配置
- 职场课课件教学课件
- 2025深圳南山半程马拉松竞赛组织方案
- 无人吊装施工方案(3篇)
- 2026年新疆生产建设兵团兴新职业技术学院单招职业技能测试题库及答案详解一套
评论
0/150
提交评论