版权归原作者所有,如有侵权,请联系我们

[科普中国]-虚拟仪器

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

根据概念创建者美国国家仪器公司(National Instruments)的定义,虚拟仪器(英语:Virtual instrumentation)技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色 的集成这四大优势。

简介根据概念创建者美国国家仪器公司(National Instruments)的定义,虚拟仪器(英语:Virtual instrumentation)技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。灵活高效的软件能帮助您创建完全自定义的用户界面,模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步和定时应用的需求。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少,以及出色 的集成这四大优势。1

LabVIEWLabVIEWLaboratoryVirtualInstrumentationEngineeringWorkbench,实验室虚拟仪器工程平台)是由美国国家仪器公司所开发的图形化程序编译平台,发明者为杰夫·考度斯基(Jeff Kodosky),程序最初于1986年在苹果计算机上发表。LabVIEW早期是为了仪器自动控制所设计,至今转变成为一种逐渐成熟的高级编程语言。图形化程序与传统编程语言之不同点在于程序流程采用"数据流"之概念打破传统之思维模式,使得程序设计者在流程图构思完毕的同时也完成了程序的撰写。

LabVIEW率先引入了特别的虚拟仪表的概念,用户可透过人机界面直接控制自行开发之仪器。此外LabVIEW提供的库包含:信号截取、信号分析、机器视觉、数值运算、逻辑运算、声音震动分析、数据存储...等。目前可支持Windows,UNIX,Linux,Mac OS等操作系统。由于LabVIEW特殊的图形程序简单易懂的开发接口,缩短了开发原型的速度以及方便日后的软件维护,因此逐渐受到系统开发及研究人员的喜爱。目前广泛的被应用于工业自动化之领域上。LabVIEW默认以 多线程运行程序,对于程序设计者更是一大利器。此外LabVIEW通信接口方面支持:GPIB,USB,IEEE1394,MODBUS,串列端口,并发端口,IrDA,TCP,UDP,Bluetooth,.NET,ActiveX,SMTP...等接口。

近年来 LabVIEW 除了可以在 PC 上面撰写之外,另外支持即时系统(Real-time OS)以及可编程逻辑门数组(Field Programmable Gate Array, FPGA)。用户可以透过 LabVIEW 开发环境设计、编译程序后下载至微处理器(Micro-processor)或 FPGA芯片,最终达到独立运作(Stand-alone)的功能。但目前主要还是支持 NI 自行生产的嵌入式系统系列产品,通称 NI-RIO 系列产品。比如:PCI/PXI R系列 DAQ卡片、CompactRIO、single-boardRIO、myRIO...等。

数据流编程LabVIEW编程语言,也被称为G语言,是一种数据流编程语言。程序员通过绘制导线连接不同功能的节点,图形化的程序框图(LV源代码)结构决定程序如何执行。这些线传递变量,所有的输入数据都准备好之后,节点便马上执行。这可能出现同时使用多个节点的情况,G语言天生地具有并行执行能力。内置的调度算法自动使用多处理器和多线程硬件,可以跨平台地在可运行的节点上复用线程。

图形化编程LabVIEW将创建用户界面(称为前面板)的工作自然地融合到开发周期当中。LabVIEW的程序/子程序被称为虚拟仪器(VI)。每个VI都有三个组成部分:程序框图(Block Diagram)、前面板(Front Panel)和图标/连接器(Icon/Connector)。连接器是用来供其他的程序框图调用本VI之用。程序员可以利用前面板上的控制控件将数据输入正在运行的VI,或者用显示控件将运算结果输出。前面板还可以作为程序的接口:每个虚拟仪器(VI)既可以把前面板当作用户界面,作为一个程序来运行;也可以作为一个节点放到另一个VI程序框图中,通过连接器面板连接起来,而前面板则定义VI的输入和输出。这意味着每个VI,在作为子程序嵌入到一个大型的项目之前,都可以很方便地进行测试。

图形化的方法还允许非程序员通过拖放虚拟化形式的VI的方法来生成程序,控制他们已经熟悉的实验室设备。在LabVIEW编程环境下,借助已经提供的大量例程和文档,可以很容易地创建小型应用程序。这是好的一方面,另一方面,低估编写高质量的“G”语言所需的专业技能知识仍会带来一定的危险性。编写复杂的算法或大规模的代码,有一点很重要,那就是程序员需要对LabVIEW特殊的语法具有广泛的了解,并且通晓LabVIEW内存管理的拓扑结构。最先进的LabVIEW开发系统提供了创建独立应用程序的可能性。此外,还可以创建分布式应用,通过客户机/服务器模式进行通信。由于G语言天生的并行性特性,这很容易实现。

计时系统LabVIEW使用1904年1月1日(Epoch参考日期)作为“零”(起始)时间。使用1904年1月1日作为起始时间的软件还有苹果公司的Mac OS 9,Palm OS,MP4,Microsoft Excel(可选)。1

本词条内容贡献者为:

李嘉骞 - 博士 - 同济大学