LabVIEW-编程思想(第2版)
- 格式:doc
- 大小:597.50 KB
- 文档页数:156
labview的基本编程思路LabVIEW是一种图形化编程语言,以其独特的编程思路和直观的界面设计而受到广泛关注和使用。
本文将以LabVIEW的基本编程思路为主题,介绍LabVIEW的特点、编程流程和常用功能。
一、LabVIEW的特点LabVIEW是一种面向工程师和科学家的编程语言,具有以下特点:1. 图形化编程界面:LabVIEW通过拖拽和连接图形化的函数模块,实现程序的编写和调试,避免了传统文本编程的繁琐和复杂性。
2. 数据流编程:LabVIEW采用数据流编程模型,即程序的执行是通过数据在模块之间流动来实现的,这种方式使得程序的逻辑清晰、易于理解和调试。
3. 并行执行:LabVIEW的图形化编程界面使得程序可以同时执行多个任务,提高了程序的执行效率和响应速度。
4. 多平台支持:LabVIEW支持多种操作系统,如Windows、Mac 和Linux,可以在不同的平台上运行和开发。
二、LabVIEW的编程流程LabVIEW的编程流程通常包括以下几个步骤:1. 新建项目:在LabVIEW中,首先需要创建一个新项目,用于管理程序的各个部分和文件。
2. 设计界面:LabVIEW提供了丰富的控件和界面设计工具,可以根据需要设计程序的用户界面,并添加所需的输入和输出控件。
3. 编写代码:LabVIEW中的代码被称为虚拟仪器(Virtual Instrument,简称VI),通过拖拽和连接各种函数模块来编写程序的功能。
4. 连接数据:LabVIEW中数据的传递和处理是通过连接数据线实现的,可以将数据从一个模块传递到另一个模块,并进行相应的处理和计算。
5. 调试程序:LabVIEW提供了强大的调试工具,可以实时监测程序的执行过程,查看变量的值和程序的运行状态,帮助我们发现和解决问题。
6. 执行程序:完成程序的编写和调试后,可以点击运行按钮来执行程序,观察程序的运行结果,并根据需要进行调整和优化。
三、LabVIEW的常用功能LabVIEW作为一种工程和科学计算平台,提供了许多常用的功能和工具,如:1. 数据采集和处理:LabVIEW可以通过连接各种传感器和仪器,实现数据的采集和处理,如温度、压力、流量等物理量的测量和分析。
77 过按名称解除捆绑函数将原来簇中的字符串数据解除出来,并作为输入数据连接至字符串函数,并将输入的字符串abcd 接在输入字符串的后面作为结果字符串输出,如图4-112所示。
【例4-4-2】 不同类型函数的综合应用示例二。
示例程序框图及运行结果如图4-113所示。
程序中的输入数据为一个簇数据,簇中的数据包括了数值数组、字符串数组、布尔控件。
在使用解除捆绑函数后,将簇中数值数组中的元素分别乘以图4-113所示的倍数输出至输出数组中,并使用数组最大值与最小值函数找出输出数组中元素的最大值与最小值,并输入至数值显示控件中。
使用索引数组函数,并设置索引端输入值为1。
因为字符串数组为一维数组,因此在索引数组的输入端不区别索引行与索引列。
当输入值为1时,索引出的字符串为一维字符串数组中的第1个元素,并使用字符串长度函数输出该字符串的长度;同时使用替换子字符串函数,设置偏移量为2,子字符串为test ,实现对索引出的字符串从第3位开始,替换为子字符串,并输出至字符串中,如图
4-113所示。
图4-113 不同类型函数的综合应用(2)
4-1 数值型数据可以分为哪些类型?它们的取值范围分别是多少?。
80 关于编辑工具的用途,用户可以通过单击编辑窗口右下角的“帮助”打开LabVIEW帮助文件来详细了解,在此就不再赘述。
如图5-3所示的是一个经过编辑后的图标,该图标是将原来的图标内容删除,然后在图像编辑区输入字母abcd。
图
5-1 默认图标
图5-2 图标编辑窗口图5-3 编辑后的图标
5.2.2 连接器端口的设置
连接器作为一个编程接口,为子VI定义输入、输出端口数和这些端口的接线端类型。
这些输入输出端口相当于编程语言中的形式参数和结果返回语句。
当调用VI节点时,子VI 输入端子接收从外部控件或其他对象传输到各端子的数据,经子VI内部处理后又从子VI输出端子输出结果,传送给子VI外部显示控件,或作为输入数据传送给后面的程序,如图5-4所示为连接器。
一般情况下,VI只有设置了连接器端口才能作为子VI使用,如果不对其进行设置,则调用的只是一个独立的VI程序,不能改变其输入参数也不能显示或传输其运行结果。
如果需要对子VI节点进行输入输出,那么就需要在连接器面板中有相应的连线端子。
用户可以通过选择VI的端子数,并为每个端子指定对应的前面板控件或指示器来定义连接器。
连接器的设置分以下两个步骤。
(1)创建连接器端口,包括定义端口的数目和排列形式。
(2)定义连接器端口和控件及指示器的关联关系,包括建立连接和定义接线端类型。
Equipment Manufactring Technology No.9,2009LabVIEW(Laboratory Virtual Instrument Engineering Work-bench)出现于上世纪80年代,是随着虚拟仪器技术的发展而发展起来的。
LabVIEW既是一个功能完善的软件开发环境,同时也是一种功能强大的编程语言。
LabVIEW的图形化编程方式,极大地简化了测量和控制系统的开发过程,缩短了系统开发和调试周期。
LabVIEW毕竟是一种编程语言,使用Lab-VIEW编写程序,简单的工作很容易完成,特别是和其他文本式编程语言相比更是如此。
但对于开发大型或复杂的测量控制系统,使用LabVIEW编程也并不是一件轻松的事情。
不具有良好的结构和完善设计的LabVIEW程序,将很难进行修改、调试和重用。
即使是具有传统程序设计经验和良好编程习惯的程序设计人员,如果对LabVIEW程序设计的原理、方法和特点没有深入的理解和掌握,而仍延用传统的程序设计模式,所开发出的系统可能依然存在一些隐患。
1LabVIEW语言的特点LabVIEW作为一种程序设计语言,一方面具备了与其他文本式编程语言相同的特性,但同时还具有一些其他编程语言所不具备的特性。
LabVIEW语言既定义了数据类型、结构类型、语法规则等编程语言基本要素,也提供了包括断点设置、单步调试和数据探针在内的程序调试工具,在功能完整性和应用灵活性方面都较为完善。
LabVIEW最一种基于图形化、数据流、多线程的编程语言,其主要应用在测试测量及控制领域。
LabVIEW不但功能强大、灵活方便,而且还具有较好的可读性、可写性、可维护性、可重用性和可理解性等特点。
此外,LabVIEW提供了丰富的图形控件和大量的分析函数,其内建的编译器可在用户编程的同时在后台自动完成编译。
由于LabVIEW采用了数据流模型,因此实现了自动的多线程,从而能充分发挥处理器尤其是多处理器的处理能力。
第3章LabVIEW图形化编程语言的编程思想(LabVIEW graphical programming language, programming ideas)版本 3创建于: 2010-9-10 上午1:56 作者jwdz - 最后修改: 2010-9-13 下午7:13 作者jwdz 通过前面的简单介绍,我们已经初步地掌握了LabVIEW图形化语言的基本特点和一些基本概念。
同时我们也进一步总结出:LabVIEW的宗旨和目标——创建适合工程师和科学家使用的编程语言。
LabVIEW创建之初的核心理念——虚拟仪器,现在发展到——图形化系统设计。
LabVIEW编程语言的表达机制——图形化编程。
LabVIEW编程语言的运行机制——数据流。
事实上,对于许多LabVIEW的初学者来说它们更加关心的是:如何使用这种图形化的编程语言进行计算机应用程序设计,或者能够为它们提供一些图形化程序设计的窍门和技巧。
我们说:其实掌握一门编程语言的语法、编程工具和窍门与技巧固然重要,但是更重要的是理会它的编程思想。
那么LabVIEW图形化编程语言的编程思想的是什么呢?本章将要讨论这方面的内容。
3.1 数据流编程——LabVIEW核心编程思想可以说:LabVIEW图形化编程语言的核心编程思想就是数据流编程,数据流编程是图形化编程语言最显著的特点之一,同时数据流也是驱动图形化代码进行数据处理的程序运行机制。
无论LabVIEW图形化编程语言具有多少种编程范式或设计模式(本章将会陆续讨论到),它们都是以数据流编程方式为基础或为核心的。
所以我们完全有理由这样说:数据流编程应该是LabVIEW图形化语言的核心编程思想。
其实,我们随意打开任何一本有关LabVIEW图形化编程语言的教科书,都会看到这样的说法:LabVIEW是一种图形化编程语言,是一种基于数据流编程的图形化编程语言。
3.1.1 何谓数据流编程计算机的硬件体系结构对计算机编程语言有着深远的影响。
2010年4月6日第二版,第一稿LabVIEW编程思想(Thinking in LabVIEW)第二版(Second Editon)总目录说明第1章虚拟仪器导论引言1.1虚拟仪器1.1.1虚拟仪器简介1.1.1.1虚拟仪器中——“虚拟”的含义1.1.1.2虚拟仪器中——“仪器”的含义1.1.2虚拟仪器构成1.1.2.1传感器1.1.2.2数据采集卡1.1.2.3计算机1.1.3虚拟仪器定义1.2.1传统仪器的基本测量方法1.2.1.1模拟式测量1.2.1.2数字式测量1.2.1.3采样式全数字化测量1.2.2虚拟仪器的基本测量原理1.2.2.1数据采集的对象——信号1.2.2.2数据采集的基本原理——模数转换1.2.2.3数据采集的基本定理——取样定理1.2.2.4数据采集的测量实例——有效值测量1.3虚拟仪器自身的特点1.3.1虚拟仪器充分利用了现代计算机的软、硬件资源1.3.1.1虚拟仪器具有最好的硬件运行环境1.3.1.2虚拟仪器具有最丰富的软件资源1.3.2虚拟仪器强调“软件就是仪器”1.3.2.1虚拟仪器软件的重要性在于——数据采集模块仅提供原料1.3.2.2虚拟仪器软件的重要性在于——数据采集模块可重复使用1.3.2.3虚拟仪器软件的重要性在于——测量功能取决于用户需求1.4虚拟仪器与传统仪器的比较A.2计算机语言A.2.1计算机语言的发展阶段A.2.2计算机语言的特点附录A:语言和计算机语言附录B:个人计算机与软件系统B.1个人计算机B.3个人计算机软件系统B.3.1系统软件B.3.2应用软件附录C:编程范式与设计模式C.1.1编程范式C.1.2编程思想C.2设计模式参考文献说明(Description)版本7创建于:2010-3-12下午7:15作者jwdz-最后修改:2010-4-15上午6:21作者jwdz本书概要LabVIEW是以虚拟仪器为核心的一种图形化编程语言。
NI LabVIEW则为图形化编程语言应用程序设计提供了一个完整的开发环境。
22 成.exe文件。
如图3-2所示,用户使用项目浏览器可以直观地查看所有项目文件。
当保存项目时,LabVIEW会自动创建一个后缀名为.lvproj的项目文件和一个.aliases文件。
依赖关系项包含VI静态调用的VI、DLL、LabVIEW项目库以及MathScript用户定义函数。
使用程序生成规范将项目程序打包成独立可执行的应用程序、安装程序、生成动态链接库进行源代码发布和压缩文件。
(4)从图2-7所示的启动方式单击“创建项目”后在弹出的2-8对话框中选择“模板”项,在如图3-3所示的模板选择对话框中选择所需要的模板。
模板针对不同的应用需求设计了不同的程序框架,用户可以根据需要选择不同的模板并在模板中添加程序,以大大提高编写程序的效率。
图3-1 新建VI 图3-2
项目浏览器
图3-3 模板选择对话框
3.2.2 VI的创建实例
【例3-1】创建一个简单的VI,该VI将完成下列功能。
(1)将两个输入的数字相减并显示结果;
(2)将同样的两个输入数字相乘并显示结果;。
92.3 LabVIEW 编辑界面及系统菜单2.3.1 LabVIEW 的编辑界面LabVIEW 与虚拟仪器有着紧密的联系,在LabVIEW 中开发的程序都被称为VI (虚拟仪器),其扩展名默认为.vi 。
所有的VI 都包括以下3个部分:前面板、程序框图和图标,如图2-10所示。
图2-10 La bVIEW 前面板和程序框图前面板就是图形化用户界面,也是VI 的前面板。
该界面上有交互式的输入和输出两类对象,分别称为控制器(Controller )和显示器(Indicator )。
控制器包括开关、旋钮、按钮和其他各种输入设备;指示器包括图形(Graph 和Chart )、LED 和其他显示输出对象。
该界面可以模拟真实仪器的前面板,用于设置输入数值和观察输出量。
程序框图是定义VI 逻辑功能的图形化源代码。
框图中的编程元素除了包括与前面板上的控制器和显示器对应的连线端子(Terminal )外,还有函数、子VI 、常量、结构和连线等。
在程序框图中对VI 编程的主要工作是从前面板上的控制器获得用户输入信息,并进行计算和处理,最后在显示器中反馈给用户处理结果。
只要在前面板中放有输入或显示控件,用户就可以在程序框图中看到相应的图表函数等内容。
如果将VI 与标准仪器相比较,那么前面板就相当于仪器面板,而程序框图则相当于仪器箱内的功能部件。
在许多情况下,使用VI 可以仿真标准仪器。
2.3.2 LabVIEW 菜单栏LabVIEW 有两种类型的菜单栏:快捷菜单和下拉菜单,如图2-11和图2-12所示。
要访问快捷菜单,可通过在前面板或框图中任何对象上单击鼠标右键操作。
这个过程也称之为“弹出”,因此快捷菜单又可称为“弹出菜单”。
10图2-11 快捷菜单示例| 图2-12 下拉菜单及扩展子菜单示例。
172图11-2 数据采集系统结构在基于计算机的系统测量到物理信号之前,需要通过传感器(或转换器)将物理信号转换为电信号。
为了更精确地测量信号,信号调理部分能放大低电压信号,并对信号进行隔离和滤波。
此外,某些传感器需要有电压或电流激励源来生成电压输出。
DAQ 系统由软件控制,获取数据行、分析数据并得出结论。
11.1.2 DAQ 系统的功能1.数字信号第一类数字信号是开/关信号。
一个开/关信号运载的信息与信号的瞬间状态有关。
TTL 信号就是一个开/关信号,一个TTL 信号如果在2.0~5.0V 之间,就定义它为逻辑高电平;如果在0~0.8V 之间,就定义为逻辑低电平。
第二类数字信号是脉冲信号。
这种信号包括一系列的状态转换,信息就包含在状态转换发生的数目、转换速率、一个转换间隔或多个转换间隔的时间里。
安装在马达轴上的光学编码器的输出就是脉冲信号。
有些装置(如一个步进式马达)就需要一系列的数字脉冲作为输入来控制位置和速度。
2.模拟信号数据采集前,必须对所采集信号的特性有所了解。
因为不同信号的测量方式和对采集系统的要求是不同的,只有了解被测信号才能选择合适的测量方式和采集系统配置。
任意一个信号都是随时间而改变的物理量。
一般情况下,信号所运载信息是很广泛的,如状态(state )、速率(rate )、电平(level )、形状(shape )和频率成分(fre que ncy conte nt )。
根据信号运载信息方式的不同,可以将信号分为模拟或数字信号。
数字(二进制)信号分为开关信号和脉冲信号。
模拟信号可分为直流、时域、频域信号,如图11-3所示。
图11-3 模拟信号分类。
111
第7
章
字符串的实现
7.1 字符串型数据
作为一个高效率的编程软件,LabVIEW 提供了多种字符串控件和字符串函数。
使用这些强大的字符串功能除了可以完成文本的传送和显示外,也可以作为数值型数据的存储形式。
当与仪器通信时,通常也是以字符串形式传递控制命令或操作数据。
7.1.1
字符串控件 字符串控件面板位于前面板控件选板中,其中也包括了文件路径输入与显示这类特殊功能字符串。
图7-1 字符串与路径面板
在字符串面板上最常用的是字符串输入和字符串显示两个控件。
如果需要为字符串添加背景颜色,可以使用工具选板中的设置颜色工具。
如果需要修改字符串控件中文字的大小、颜色、字体等属性,需要先使用工具选板中的编辑文本工具选定字符串控件中的字符串,然后打开前面板工具栏中文本设置工具栏,选择符合用户需求的字体属性。
默认情况下创建的字符串输入与显示控件是单行的,长度固定。
如果用户输入和显示的字符串长度较长,就需要改变字符串框格的大小或显示形式来调整字符串显示窗口,使其适合字符串的长度;如果需要调整字符串窗口的的大小,可以使用工具选板上的定位工具拖动字符串边框,如图7-2所示。
也可以右击控件在弹出菜单中选择显示项→垂直滚动条选项在字符串窗口创建滚动条增加窗口空间,显示多行文本,如图7-3所示。
《LABVIEW宝典(第2版)》针对第1版与第2版的更新差别:
1、基于LABVIEW2016版本来重新写。
2、更新了控件选板与函数选板。
3、利用新的函数图标,更新了大部分示例框图。
4、利用新的功能,更新了相关的程序框图。
5、利用新的注释功能,为原有框图增加了相应的注释。
6、重点介绍了新增的重要函数与其使用方法。
7、重新组织了示例代码,包括前面板与程序框图,以及相关目录结构。
8、重写了面向对象编程的章节。
9、重写了设计模式有关章节。
10、新增了几个重要的第三方设计模式。
11、新增了有关项目模板的章节。
12、纠正了第1版中发现的各类错误。
36
第4
章
数据类型与程序控制
4.1 数据类型及其操作
LabVIEW 作为一种通用的编程语言,与其他文本编程语言一样,数据操作是最基本的操作。
LabVIEW 是用“数据流”的运行方式来控制VI 程序的。
数据流是LabVIEW 的生命,运行程序就是将所有输入端口上的数据通过一系列节点送到目的端口。
LabVIEW 主要的数据类型包括标量类型(单元素),如数值型、字符型和布尔型;还包括了结构类型(包括一个以上的元素),如数组和群集。
LabVIEW 数据控件模板将各种类似的数据类型集中在一个子模板上以便于使用。
数据类型主要有数值量、逻辑量、字符串、文件路径等几类。
相同的数据类型可能有不同的表现形式,所以一个数据类型子模板有相当多的项目,如一个数值类型可以显示为一个简单的数字、一个条图、一个滑块、一个模拟计量器或者显示在一个图表中。
4.1.1 数值型
数值型是LabVIEW 一种基本的数据类型,可以分为浮点型、整型数和复数型3种,其类型的详细分类如表4-1所示。
表4-1
数值类型表 数 值 类 型 图 标
存储所占位数
数 值 范 围
有符号64位整数 64 −18 446 744 073 709 551 616~
+18 446 744 073 709 551 615 有符号32位整数 32 −2 147 483 648~+2 147 483 647 有符号16位整数 16 −32 768~+32 767 有符号8位整数 8 −128~+127
无符号64位整数 63 0~1 844 674 407 309 551 615 无符号32位整数
32
0~4 294 967 295。
1026.3 属性节点LabVIEW为前面板中的大部分控件都预定义了各种可用属性,其中包含了前面板控件的外观、值和功能行为,如定义控件的可见性、闪烁状态及数据操作的边界、文本的宽度等。
但前面板的控件通常默认为只有输入和输出显示功能,用户需要创建属性节点去获取并设置控件隐含的属性。
一般来说,属性节点的创建方法有两种:一种是从函数选板中获取没有属性标识的空属性节点放置于程序框图中,然后用户为属性节点配置相应的类和属性,使用引用节点去指派需要配置属性的前面板控件对象,完成属性节点的创建;另一种是在框图中的控件上单击鼠标右键弹出快捷菜单,用户在快捷菜单中选择创建属性节点的菜单项直接创建属性节点,然后在菜单项中选择要创建的属性。
6.3.1 属性节点的直接创建法在控件上单击鼠标右键,从弹出的快捷菜单中选择“创建→属性节点”选项,在“属性节点”选项中选择所要建立的控件属性,这就能为控件直接创建属性节点。
创建后的属性节点和控件有相同的标签名,如图6-21所示。
属性节点上部有输入/出端子,下部显示属性名称,节点默认为读取状态,节点右端显示向外的三角符号,指向输出端子,可以读出相关控件的当前数值属性(Value)。
如果要设置控件的相关属性,用户可以在属性节点上单击鼠标右键,在快捷菜单上选择“转换为写入”菜单项,则属性节点变为写状态,在写入端子处有一个指向节点内部的三角符号。
在写入端子处连接其他控件,用户可以通过使用这些外部控件来设置当前控件的相关属性。
下面介绍几种常用的属性节点及其使用方法。
(1)键选中属性键选中属性可以连接布尔型控件或输出布尔类型数据。
当键选中属性节点作为布尔型输出时,可以连接条件结构。
当鼠标单击前面板控件,键选中属性节点输出True,条件结构运行真分支程序;如果没有选中控件,条件结构运行假分支程序,假分支一般为空。
如图6-22所示,当鼠标单击选中前面板控件,则条件结构真分支运行,弹出单按钮对话框。
5
第2
章
LabVIEW 2013开发环境
2.1 LabVIEW 系统安装
LabVIEW 2013可以安装在Windows XP SP3平台和Windows 7/8/8.1等不同的操作系统上,不同的操作系统在安装LabVIEW 2013时对系统配置的要求也不同。
用户在安装LabVIEW 2013软件之前,需要对个人计算机的软硬件配置作一定的了解,该版本不支持Windows XP SP2版本!
对于常用的Windows 操作系统,安装LabVIEW 2013的硬件配置必须满足:①处理器:Pentium Ⅲ/Celeron 866 MHz 或同等性能以上处理器;②内存:最小内存为256MB ,推荐配置为1GB 及以上;③屏幕分辨率:1024像素×768像素;④硬盘空间:最小安装需要至少900MB 磁盘空间,完整安装时至少需要留出3.5GB 磁盘空间。
LabVIEW 的安装十分简单,只要运行安装光盘中的Setup 程序,按照屏幕提示,每一步选择必要的安装选项即可。
选择安装程序后,屏幕上将会出现初始化界面,如图2-1所示。
图2-1 初始化LabVIEW 2013的安装程序
初始化LabVIEW 2013的安装程序运行完毕后,系统会提示用户输入产品序列号,如图2-2所示。
安装LabVIEW 2013的试用版不需要输入序列号,试用期为7天,在程序编译完成后,不能打包生成独立可执行应用程序(EXE )和安装程序(Installer )。
若使用正版软件,输入正确序列号后,单击下一步,即可进入如图2-3所示的安装路径对话框。
225
第14
章
上机练习
为了增强实际操作能力,在对LabVIEW 的一些基础知识进行了比较全面的介绍后,本章将提供几个上机练习。
通过这些上机练习,希望读者能够达到熟悉LabVIEW 软件的编程环境、加深理解LabVIEW 的图形化编程概念等目的以及掌握一些使用LabVIEW 时应注意的事项和技巧。
练习一
上机目的:熟悉LabVIEW 软件的基本编程环境。
上机内容:创建一个VI 程序,并将此程序保存为子VI 。
此VI 要实现的功能是:当输入发动机转速时,经过一定的运算过程,输出发动机温度和汽车速度值。
实现步骤:下面分点叙述。
1.前面板
前面板如图14-1所示。
图14-1 练习一 前面板
(1)启动LabVIEW 2013,选择文件中的新建VI 选项,新建一个VI 。
(2)在前面板中空白处单击鼠标右键,从弹出的控件选板中选择“控件→经典→经典数值”子选板中的温度计控件并将其拖入前面板中,在高亮显示的标签中输入发动机温度修改标签名。
(3)默认情况下,温度计VI 标尺的最大值为10,最小值为0。
若要对标尺刻度范围进行修改,可用鼠标左键双击最大或最小值,输入希望的值后鼠标左键单击前面板的空白处或单击工具栏左侧的“√”按钮,则标尺的刻度值将自动变为前面设置的范围。
本处设置最大值为100,最小值不变。
(4)按(2)和(3)相同的方法在前面板中放置一个仪表控件,并修改仪表控件的标签名为汽车速度,标尺刻度范围为0~150。
(5)按(2)和(3)相同的方法在前面板中放置一个数值输入控件,并修改标签名为发动机转速。
总目录序第1部分:LabVIEW编程思想第1章虚拟仪器导论1.1 虚拟仪器概述1.1.1 虚拟仪器理念的诞生1.1.2 初期虚拟仪器的理念1.1.3 现代虚拟仪器的理念1.2 虚拟仪器构成1.2.1 传感器1.2.2 数据采集模块1.2.3 商业化计算机平台1.3 虚拟仪器的测量原理1.3.1 传统仪器的基本测量原理1.3.2 虚拟仪器的基本测量原理1.3.3 虚拟仪器改变了传统仪器的测量方式和理念1.4 虚拟仪器的特点1.4.1 虚拟仪器充分利用了商业化计算机的软件资源1.4.2 虚拟仪器充分利用了商业化计算机的硬件资源1.4.3 软件仍然是虚拟仪器的重要组成部分1.4.4 可重复使用的硬件将降低虚拟仪器成本1.4.5 虚拟仪器的测量功能取决于用户需求1.5 虚拟仪器与传统仪器间的关系1.5.1 虚拟仪器会取代传统仪器吗?1.5.2 模拟电子技术仍主导着虚拟仪器的未来1.5.3 数字电子技术使得虚拟仪器设计更加灵活1.5.4 高端测量仪器领域传统仪器仍是主宰者1.6 虚拟仪器技术1.6.1 虚拟仪器技术——概述1.6.2 虚拟仪器技术之一——虚拟仪器软件开发环境1.6.3 虚拟仪器技术之二——虚拟仪器硬件体系架构1.6.4 虚拟仪器技术之三——虚拟仪器管理体系架构1.7 本章小结第2章NI LabVIEW2.1 计算机编程语言2.1.1 机器语言2.1.2 汇编语言2.1.3 高级语言2.1.4 图形化编程语言2.2 NI LabVIEW概述2.2.1 关于NI LabVIEW2.2.2 LabVIEW图形化编程语言2.2.3 NI LabVIEW图形化开发环境2.2.4 创建第一个图形化程序2.2.5 图形化语言运行机制——数据流2.3 VI——图形化程序的基本框架2.3.1 前面板窗口2.3.2 程序框图窗口2.3.3 图标和连线板2.4 VI属性2.4.1 VI属性——常规2.4.2 VI属性——内存使用2.4.3 VI属性——说明信息2.4.4 VI属性——修订历史和编辑器选项2.4.5 VI属性——保护2.5 子VI与VI的层次结构2.5.1 创建子VI2.5.2 创建子VI的图标和连线板2.5.3 VI的属性——窗口外观2.5.4 VI的属性——窗口大小和运行时的位置2.5.5 VI的层次结构2.6 VI的类型和跨平台特性2.6.1 通用类型VI2.6.2 严格类型VI2.6.3 VI的使用2.6.4 VI的跨平台2.7 本章小结第3章控件——前面板对象3.1 控件的基本特征3.1.1 控件的外观和样式3.1.2 控件的指向性3.1.3 控件的映射3.1.4 控件的静态属性3.2 控件的基本作用3.2.1 装饰前面板3.2.2 实现人机对话3.2.3 放置数据、承载数据类型3.2.4 控件的数据类型3.3 控件与LabVIEW中变量间的关系3.3.1 局部变量3.3.2 全局变量3.3.3 共享变量3.4 控件类型的定义3.4.1 控件3.4.2 自定义类型3.4.3 严格自定义类型3.5 控件的深入探索3.5.1 控件与VI服务器类之间的关系3.5.2 控件的创建和销毁3.5.3 利用更加丰富多彩的控件第4章接线端、节点——程序框图对象4.1 接线端——控件的映射4.1.1 接线端的作用和表示方式4.1.2 接线端——数据类型的标识4.1.3 接线端间的数据通道——连线4.2 节点——图形化代码4.2.1 函数——原子级的图形化代码4.2.2 内置VI——面对任务的函数集合4.2.3 Express VI——基于配置的模块化程序4.3 程序框图对象的深入探索4.3.1 图形化语言的抽象机制4.3.2 图形化代码的重用机制4.3.3 图形化语言异常和错误处理4.3.4 图形化语言与硬件的无缝连接第5章控制程序流程5.1 数据流——图形化语言运行机制5.1.1 何谓数据流5.1.2 数据流编程5.1.3 数据流编程的基本特点5.1.4 数据流编程的深入理解5.2 控制程序流程——运算符和算术表达式5.2.1 数值运算符5.2.2 关系运算符5.2.3 算术表达式5.2.4 逻辑运算符5.3 控制程序流程——定序控制5.3.1 平铺式顺序结构5.3.2 层叠式顺序结构5.3.3 利用公共线程5.4 控制程序流程——条件结构5.4.1 基本条件结构的图形化表示方法5.4.2 基本条件结构的数据流运行机制5.4.3 复杂条件结构5.4.4 最简单的条件选择5.5 控制程序流程——循环结构5.5.1 For循环及它的图形化表示法5.5.2 For循环的数据流运行机制5.5.3 While循环及它的图形化表示方法5.5.4 While循环的数据流运行机制5.5.5 循环中添加移位寄存器5.5.6 反馈节点5.6 控制程序流程——事件结构5.6.1 事件结构及它的图形化表示法5.6.2 事件结构的数据流运行机制第6章应用程序控制VI和函数6.1 属性节点和调用(方法)节点6.1.1 创建属性节点和调用节点6.1.2 应用程序(App)的属性和方法6.1.3 VI的属性和方法6.1.4 对象的属性和方法6.1.5 对象的属性的一些深入探索6.2 引用——操控对象的钥匙6.2.1 引用的基本概念6.2.2 获得引用的方法之一:创建引用6.2.3 获得引用的方法之二:打开与关闭引用6.2.4 引用句柄6.3 应用程序引用6.3.1 打开应用程序的引用6.3.2 获得相关计算机的网络地址6.3.3 获得相关计算机VI服务器的设置6.3.4 应用程序引用——实例6.4 VI引用6.4.1 打开VI的引用6.4.2 VI的动态调用6.4.3 动态调用VI方法之一——通过引用节点调用6.4.4 动态调用VI方法之二——通过调用节点调用6.5 控件的引用6.5.1 控件引用的创建方法6.5.2 控件引用的实际应用6.6 VI 脚本(VI Scripting)6.6.1 启动VI脚本6.6.2 使用VI脚本新建VI6.6.3 使用VI脚本新建VI对象6.6.4 VI脚本的用途6.6.5 VI脚本的第三方应用第7章文件处理7.1 文件间路径的关系7.1.1 文件常量与所引导的路径间关系7.1.2 非确定性文件路径的引导7.1.3 路径的简单拆分7.1.4 图形化应用程序与开发环境间的路径关系7.2 文件的读写7.2.1 文件的类型7.2.2 文本文件读写的操作过程7.2.3 二进制文件读写的操作过程7.2.4 波形文件读写的操作过程7.2.5 电子表格文件读写的操作过程7.3 配置文件(.ini文件)7.3.1 INI文件及INI文件格式7.3.2 LabVIEW中的INI文件函数7.3.3 LabVIEW中的INI文件实例第8章图形化语言的编程范式8.1 编程范式8.1.1 编程8.1.2 编程范式8.1.3 编程范式与编程思想8.2 几种常见的编程范式8.2.1 过程化(命令式)编程8.2.2 事件驱动编程8.2.3 面向对象编程8.3 LabVIEW图形化语言编程范式之一——过程化编程8.3.1 数据流编程思想导致过程化编程8.3.2 图形化语言中过程化编程的主要特点8.4 LabVIEW图形化语言编程范式之二——事件编程8.4.1 轮询与事件8.4.2 图形化语言中事件驱动编程的主要特点8.5 LabVIEW图形化语言编程范式之三——面向对象编程8.5.1 LabVIEW为什么要引入面向对象的编程范式8.5.2 LabVIEW中的类和对象8.5.3 LVOOP中的类和对象8.5.4 创建LabVIEW类8.5.5 LabVIEW 面向对象编程实例演示第9章图形化语言的设计模式9.1 设计模式概述9.1.1 设计模式9.1.2 LabVIEW图形化编程语言中的设计模式9.1.3 LabVIEW图形化编程语言的程序框架9.1.4 图形化语言设计模式的深入探讨9.2 图形化语言设计模式之一——标准状态机9.2.1 状态和状态机9.2.2 标准状态机9.3 图形化语言设计模式之二——队列消息处理器9.3.1 队列消息9.3.2 队列消息处理器图形化代码9.4 图形化语言设计模式之三——生产者队/消费者(事件)9.4.1 生产者/消费者结构9.4.2 导出生产者/消费者(事件)设计模式9.4.3 生产者/消费者设计模式(事件)的图形化代码9.5 图形化语言设计模式之四——生产者队/消费者(数据)9.5.1 导入生产者/消费者(数据)模板9.5.2 生产者/消费者(数据)设计模式的图形化代码9.6 图形化语言设计模式之五——用户界面事件处理器9.6.1 用户界面事件处理器9.6.2 用户界面事件处理器应用之一——鼠标双击事件9.6.3 用户界面事件处理器应用之二——用户按键操作9.6.4 用户界面事件处理器应用之三——用户菜单操作9.7 图形化语言设计模式之六——主/从设计模式9.7.1 主/从设计模式模板9.7.2 主/从设计模式图形化代码9.7.3 主/从设计模式用于数据传递的验证第10章在LabVIEW中管理项目10.1 项目浏览器(Project Explorer)10.1.1 创建一个新项目10.1.2 保存这个新项目10.2 在项目中添加相关的文件夹10.2.1 创建文档文件夹10.2.2 实现文档文件夹内容自动升级10.2.3 为文档文件夹添加其它的子文件夹10.2.4 创建LabVIEW代码文件夹10.3 在项目中添加VI10.3.1 创建Top Level VI10.3.2 添加子VI及自定义控件10.3.3 添加读取文件的路径VI10.3.4 添加动态调用的VI10.4 生成应用程序和应用程序安装包10.4.1 生成应用程序10.4.2 生成应用程序安装包第2部分:LabVIEW高级编程第11章LabVIEW图形化语言的基本设计准则11.1 应用开发中所必要的工作11.1.1 创建完善的需求文档11.1.2 依据需求文档进行硬件设计11.1.3 软件开发环境的规范化参考文献及附录附录A:LabVIEW 版本25年来的变迁第1部分:LabVIEW编程思想LabVIEW是一个划时代的图形化编程系统。
确切的讲,LabVIEW是一种采用图形化编程方法的计算机编程语言。
采用图形化的编程方法进行计算机程序设计无疑是这个时代的一个伟大的创举。
图形化编程,对于那些非软件专业出身的工程师和科学家无疑是个巨大的帮助。
同时他们也会面临一个巨大的挑战,即要求他们逐渐适应图形化编程的方法以及图形化程序数据流运行机制的理念。
图形化编程,与我们过去所做过的基于文本的程序设计(汇编、BASIC、C)不仅在形式上有很大的不同,在设计方法和设计理念上也存在着许多不同之处。