LabVIEW8.20程序设计从入门到精通 样大。不过对此他们当时并没有一个具体明确的概念。 当1984年苹果公司推出了Macintosh计算机之后,情况出现了重要的转机。他们看到了这台 小机器上的图形化特性后,就知道“图形化”就是他们今后要走的道路。因为相对于输入一串串 的命令行进行操作,人们使用鼠标和图形化界面时所发挥的创造力和高效率是前所未有的。图形 化前面板是人与测量程序交互的最佳途径。前面板与实际仪器的面板十分相似,实际上,这些程 6】 序就是虚拟仪器。 理论上这是一个很好的概念,但当他们去实际操作的时候,这个概念却带来了意想不到的难 题。在最初的构想下,使用交互式面板作为用户界面来写测量程序,居然要比用传统的BASIC还 要困难得多。所以,他们决定深入研究能否发明一种创新的方式,通过Macintosh的图形化界面 来建立一个更简单易用的具有交互面板的程序。他们研究了相当数量的图解技术,但每次都还是 回归到数据流结构,因为这是最常用、也是最有效的方式。一旦他们能找出如何将结构化编程的 概念与数据流相结合,一切问题就将迎刃而解。 虚拟仪器技术由结构化的数据流框图和交互式面板组成。将图标与面板相结合的方式使虚拟 仪器在其他程序框图中也能被调用这样就能按照各种不同的需求灵活地构建复杂的多层次系统。 最后,他们必须要做的就是建立一个软件环境,能使科学家和工程师们可以简单快速地构建起虚 拟仪器程序。 为了不被烦心的日常工作打扰,他们与一群年轻的毕业生一起选择了一处远离公司的办公室 研究这个项目。怀着改变世界的使命感,这个小组设立了一个远大的目标。面对许多开发上的挑 战,有时甚至怀疑能否开发出LabVIEW,以及是否能让人们愿意购买和使用。 1985年6月他们开始编写程序代码,到10月完成了原型。1986年4月正式宣布了LabVIEW 的诞生,同时N的名字首次出现在杂志封面上。不过他们低估了后期调试所需耗费的大量时间, 因此直到1986年10月LabVIEW1.0才正式发布。 1.2.2发展历程 自LabVIEW1.0发布的20年以来,LabVIEW从来没有停止过创新的步伐。不断地改进、更 新与扩展,使LabVIEW牢牢占据了自动化测试、测量领域的领先地位。LabVIEW图形化开发方 式已经彻底改变了测试、测量和控制应用系统的开发。如今仍然在不断地扩张它的应用领域。 最早的LabVIEW1.0是1986年在苹果公司的Macintosh上运行的,这是因为LabVIEW的开 发者们在Windows操作系统推出之前就预见并且深信图形化界面将是未来的大势所趋,所以他们 把最初的版本基于提供图形化操作界面的Macintosh机器上。LabVIEW开发者的出发点是将各种 复杂的硬件功能用软件图标的方式概括和描述,让用户摆脱枯燥的代码编程,用图形化的编程语 言高效地完成他们的开发。在随后的几年里,N又对编译器、编辑器、图形显示以及LabVIEW的 其他细节进行了重大改进。在1992年推出了用于Sun和PC的LabVIEW2.0版本。此后,每一个 重大版本的发布都包括里程碑意义的特性和功能上的飞跃。在1998年发布的LabVIEW5.0中已 经提供了多线程支持功能,为现在的多处理器技术打下基础:LabVIEW的首个可以发布到实时 OS的版本于1999年诞生:2003年LabVIEW7 Express引入了波形数据类型,以及一些交互性更 强的、基于配置的函数:2005年推出的LabVIEW8实现了分布式智能:最新的LabVIEW8.20提 供了仿真框图和MathScript节点功能,将这一平台从测试测量带入设计领域.同时,LabVIEW8.20
第意 揭开LabVIEW的面纱 第一次推出了简体中文版本。LabVIEW这20年的发展历程可以浓缩为图13表示(该图来源于 NI网站). LabVIEW8.20 LEGO MINDSTORMS NXA 1190119937199872002057 7 198619219719992032006 LabVIEW 2.0 La 嵌人式系统和OsP 图13 LabVIEW这20年的发展历程 1.3 LabVIEW8.0与LabVIEW8.20新增特性列表 2006年是LabVIEW图形化软件平台正式推出20周年,为了庆祝和纪念这一具有历史里程碑 意义的时间,NI将最新发布的LabVIEW20周年纪念版命名为8.20版本。相对于LabVIEW7.x LabVIEW8.0与LabVIEW8.20的更新力度超过了以前任何一个版本.NI在LabVIEW8上的研发 投入超过了LabVIEW7的两倍。 LabVIEW8.0以其分布式智能极大地简化了分布式系统的开发。全新项目管理工具用于管理 大型应用的所有文件、简化同类型软件的开发并管理所有硬件目标,从而精简应用程序并提高系 统管理的效率。此外,Labview8继续推出更为完善的Express技术,用于仪器控制、数据采集和 数据存储。LabVIEW8.20被称为强大、开放、高效的图形化开发环境,是因为它进一步引进了面 向对象的开发方式以及基于OpenGL的3D图像控制,并通过MathScript集成文本数学模式进 步增强了数学分析能力。 下面分别将LabVIEW8.0和8.20的主要新特性列举出来。在学习本书时,仍然在使用 LabVIEW7.x的用户可以略过关于这些新特性的章节。 1.3.1 LabVIEW8.0新增特性列表 1.专业编程工具 口LabVIEW项目(Project)一轻松管理VI程序、文本文件、HTML文档等源文件. 项目浏览器富口(Project Explorer Window) 通过LabVIEW Project的系统视图查看 源代码和对象,创建说明文件。 Namespace 将具有相同名称的两个V程序同时战入内存. ▣代码注释(Code commenting) 利用新的代码结构,快速将图形化代码暂停使用 口LabVIEW项目库(Project Library)一将文件组织为单一层次的项目,查对版本、设置 PDG 文件的公共访问权限、设置文件集的编辑权限,设置VⅥ组的默认选板莱单。 口调试可重入V程序
LabVIEW8.20程序设计从入门到精通 2.程序发布 口重新设计改善了的应用程序生成器, 口测览应用程序生成器中的文件组织结构」 口带安装程序/可执行程序的硬件驱动包 口利用应用程序生成器自动导出/导入MAX(Measurement&Automation Exploration)配置 3.部暑和对象 口同时编辑主VI和对象VL, 口无须安装硬件即可创建实时应用程序 口使用集成的计算对象管理 口通过新型的共享网络变量技术更快速地开发分布式应用 4.开发环境 口新型的选板归类结构 口更简易的选板编辑/定制 口莱单重组 口按键导航(Key Navigation)改进 口查找和替换功能 ☐直接从程序框图打开示例程序。 口可在示例查找器(Example Finder)中显示/提交在线例程的注释 口可使用错误代码8999一-8000说明自定义错误信息. 口可一次打开多个文件(Windows). 在所有浏览器上监控网络发布工具(Web Publishing Tool)对话框的选项 口可在LabVIEW载入子VI时进行配置. 口新版的入门操作对话柜 ▣更好的新版对话框 口对于高级功能的交互式在线教程 文件大小有所改进 口调试VI禁用的性能略有提高 64位整数数据类型 口VⅥ服务器改善 一可提供更详细的错误报告 5.Expr8ss技术—一数据采集和仪器控制 口仪器1/O助手的参数化给入 口DAQ助手可进行参数化输入且可用性更强 口新的声音Express VI.. 口仅器驱动程序查找器(Instrument Driver Finder) -从ni.com/idnet自动下载和安装超过 4000个免费的仪器驱动程序
第章 揭开LabVIEW的面纱 口仿真DAQ设备(N-DAQmx8). 口仪器驱动程序项目助手 一自动创建LabVIEW8风格的仪器驱动程序 口运行于Linux的N-DAQmx8一完全支持在Linux操作系统上运行N-DAQmx. 6.数学运算和信号处理 口550个改进的分析V1. 口75个新推出的分析和数学V ▣交互式数学环境一交互的算法开发且方便数学模型的添加 口太地矩阵数据拳型 7,用户界面 口对UI选择控件上的垂直下拉列表的鼠标滚动支持. 口鼠标滚轮可选择情况语句、事件和堆叠顺序(Mac OS)的子框图。 口新的DIAdem支持Express VI. ▣可寄存在集合中生成的.NET事件 ▣可将NETU几控件嵌入前面板 口可自定义运行时快捷莱单 ▣Run-time图例暂停使用 从前面板/程序框图迅速打开输入控件/显示控件的自定义设计 口易于设置的窗口的Run-time位置. XControl- 可通过关联的程序框图进行完全自定义设置的控件高级功能 ▣增强的列表框、树形控件和表格 口图像、困表和表格更易导出 口在XY图表中显示网格 口图表注释」 口文件I/O Express VI现支持二进制文档以及LabVIEW测量文档(LVM) 口“分性工其 口拖拉数据 口全新混合模式图表—可在同一图表上同时显示模拟和数字信号。 8.许可证和激活一 口适用面更广的许可证政策一支持3种企业安装和一种个人安装 口激活 在一张CD上集合了评估版、学生版、基本版,完全版、专业版和应用程序生 成器(Windows操作系统上SSP用户可立即激活评估版。 1.3.2 LabVIEW8.20新增特性列表 口基于文本的MathScript数学工具,增强了数学和分析能力 口面向对象的编程结构,便于代码模块化和重利用
LabVIEW8.20程序设计从入门到精通 口基于OpenGL的图像控制, 口用于DLL和共享库的导入向导 口DLL动态调用和用户自定义回调(Recall)支持 口用千NET Weh服条的阜入向导 口高速TDM文件数据读写工具 口自动备份和修复V1. 口仪器驱动导出向导 口借助网页测览器实现了多个用户同时控制LabVIEW应用程序 1.4 LabVIEW学习捷径 在学习与使用LabVIEW3年多的日子里,作者个人总结出学习LabVIEW的最佳捷径就 是 大胆尝试。 LabVIEW最初吸引作者的原因是因为看到一个学弟在数天内就开发出了一套漂亮的气体监 控系统,其漂亮的控制面板与图表显示使整个系统看上去非常专业。而作者当时正在苦于用VC 和VB编写类似的程序,尤其是找不到合适的控制控件与图表显示而懊恼不已,当我看到LabVIEW 编写的程序后,真的是喜出望外,这不正是自己苦苦寻找的控件与图表吗!从此,每当有人向我 提出测试测量任务时,我最先想到开发工具的就是LabVIEW。后来证明选择LabVIEW编写测试 测量程序是非常明智的。 由于LabVIEW编程的简单性,我只用了一天就实现了入门。而在此后的3年里,不断地使 用LabVIEW使我对LabVIEW的理解逐渐加深。LabVIEW入门非常容易,但是要想编写出色的 程序或者稍微大型的系统,则必须学会LabVIEW的高级编程知识。当学会那些基本的控件、循 环结构、Cas结构和图表图形后,很长的一段时间内我几乎没有什么进步,因为使用这些基本的 东西似乎就可以实现大部分程序的需求。因此虽然经常都会看到函数面板上的事件结构、属性节 点、VI Server、.Call Library Node、ActiveX和同步技术等高级技术,但是我从米没有尝试着去使 用它们。直到有一天我闲着无聊,就把这些东西从函数面板上一个个全拖下来放在程序框图中, 看看它们是到底是用来千什么的。通过LabVIEW的联机帮助和范例查找器(Example Finder)中 的相关实例,我才发现这些高级技术的使用原来也是这么简单。而通过使用这些高级技术,程序 可以写得非常漂亮。例如通过事件结构来处理用户界面,不仅使用户界面响应更加及时,而且极 大地降低了CPU的占用率。接下来,贪婪的我很快把以前未用到过的所有LabVIEW编程技术都 试了个。 而在实际编写系统的过程中,我也并不是立即着手开始编写正式代码。在对系统作了充分的 需求分析并有了详细的设计过后,我会先设想这其中是否会有LabVIEW不易实现的地方。当找 到这些关键部位后,我会编写一些尝试性代码来看如何才能最好地解决这些关键问题。对这些关 键问题的解决方法胸有成竹后,对正式代码的编写就可以用“行云流水”来形容了。 因此,可以说正是因为这些大胆的尝试使我很快地掌握了LabVIEW,并得益于LabVIEW的 强大功能,使我能够游刃有余地处理各式各样的自动化测试测量任务。我的LabVIEW学习捷径 就是一大胆尝试