在NI LabVIEW中进行图形化编程的优势
20多年来,NI LabVIEW被数百万名工程师和科学家用来开发繁复的测试、测量和控制应用程序。尽管LabVIEW提供从交互式助手到可配置式用户自定义界面的各种特性与工具,却通过图形化通用编程语言(所知的G)以及相关的集成化编译器、连接器和调试工具,显得与众不同。
运用高级编程的简史
为更深入理解LabVIEW图形化编程的主要价值定位,不妨对首类更高级编程语言的某些背景加以了解。当20世纪50年代中期现代计算机时代的曙光来临之际,IBM的一个小组决定创建更实际方案,用底层汇编这门时下最现代的语言为巨大的IBM 704主机(当时的超级计算机)编程。结果诞生了FORTRAN这门用户更易识别的编程语言,它能够加快开发。
工程社区起初怀疑这种新方式能否胜过通过汇编手工编写的程序,但不久事实证明:FORTRAN生成的程序在运行时与那些通过汇编编写的程序几乎同样有效。同时,FORTRAN将程序中必要编程语句的数量减少了20倍,因此它也总是被当成第一门更高级的程序语言。自然,FORTRAN很快为科技圈接受并持续发挥影响。
50年后,这段奇闻仍具有重要意义。首先,50多年来,工程师一直希望更轻松快捷地通过计算机编程解决问题。其次,工程师选来诠释任务的编程语言,已趋于更高级别的抽象。此类教导有助解释G为何能在1986年出现以来获得极度推崇与广泛使用;G代表相当高级的编程语言,其目的是:在提高用户生产效率的同时,确保执行速度与层级较低的语言(如:FORTRAN、C、C++)几乎相同。
LabVIEW: 图形化、数据流编程
LabVIEW与其他大多数通用编程语言存在两点主要差异。首先,进行G编程需要将程序框图上的图标连接在一起,之后程序框图被直接编译为计算机处理器能够加以执行的机器码。采用图形而非文本代表自身的G,包含与最传统语言相同的编程概念。例如,G包含所有标准构造,如:数据类型、循环、事件处理、变量、递归、面向对象的编程。
图1. G中的While循环由图形化循环直观代表,它会一直执行到停止条件获得满足为止。
第二项主要区别在于:由LabVIEW开发的G代码,其执行时遵照的规则是数据流,而不是大多数基于文本的编程语言(如:C和C++)中更传统的过程化方式(即,被执行的命令序列)。G等数据流语言(以及Agilent VEE、Microsoft Visual Programming Language、Apple Quartz Composer)将数据作为支持各类程序的主要概念。而数据流执行模式是由数据驱动的,或者说是依赖于数据的。是程序内节点间的数据流动,而非文本的顺序行,决定着执行顺序。
这种差别起初也许不大,影响却是非凡的,因为它让程序组件间的数据路径成为开发者关注的重点。LabVIEW程序中的节点(即:函数、循环等结构、子程序……)获取输入数据、处理数据并生成输出数据。一旦所有给定节点的输入都包含有效数据,该节点就会执行其逻辑、产生输出数据并将该数据传递至数据流路径中的下一个节点。从别的节点接收数据的节点只在别的节点执行完以后才开始执行。
G编程的优势
直观的图形化编程
与大多数人一样,工程师和科学家可通过查看和处理图像来学习,根本无需有意识的冥想。许多工程师和科学家还会被描述成"视觉型思考者",这表示他们尤其擅长通过视觉处理组织信息。换句话说,他们最擅长图像化思考。这往往在高校中得到强化,那里的学生被鼓励使用流程框图的形式来构建问题的解决方案。然而,大多数通用编程语言需要您花大量时间学习与该语言相关的特定文本语法,再将语言的结构映射至正被解决的问题。搭配G的图形化编程,提供更直观的体验。
G代码通常更易于工程师和科学家迅速理解,因为它们与显示有很大关联,甚至能以图解形式对程序框图和流程图的过程与任务进行建模(这也遵循了数据流规则)。此外,由于数据流语言须要您将数据流的程序结构作为基础,所以在思考时得关注需要解决的问题。例如,典型的G程序可能首先采集多条通道的温度数据,再将数据传送至分析函数;最后将分析后的数据写入磁盘。总体而言,数据流和涉及该程序的步骤在LabVIEW框图中易于理解。
图2. 数据从采集函数出发,继而通过连线直观地流入分析与存储函数。
交互式调试工具
由于LabVIEW图形化G代码易于理解,常见编程任务(如:调试)也就更直观。例如,LabVIEW独一无二的调试工具,既有助您在数据途经LabVIEW程序的连线交互移动时进行查看,也有助您看清数据值沿连线从一个函数向另一个函数传递时(LabVIEW在高亮显示执行时)的过程。
图3. 高亮显示执行有助直观理解G代码的执行顺序。
LabVIEW还向G提供堪比传统编
- 基于NI PXI平台的模块化电子战模拟系统(09-25)
- WLAN测试的5要素及提升测试速度的方法(03-10)
- 了解RF仪器规格:第一部(07-24)
- 选用示波器所需考虑的10大要素(07-24)
- EDA环境结合测量软件 大幅缩短电子产品开发周期(12-12)
- 如何使用USRP-2921监测宽带频谱(09-23)