【NI 定制书包——我与NI之缘】

电子专业 徐 自远 561℃

【NI 定制书包——我与NI之缘】

当初结识NI完全是因为一个项目,因为对方坚决要求使用LabVIEW来开发,而自己只擅长高硬件开发,于是就拉上一位玩够LabVIEW的同事来一起做,它负责上层的软件开发,当然是以LabVIEW为开发平台,自己则以ADUC841为核心处理单元来做硬件设计。

从那时起才了解到NI是一家致力于控制仪器设计的公司,我是反过来由LabVIEW而结识NI的。

直接说NI太大、太广博,我们还是以点带面,由LabVIEW说NI吧,其实就是光说LabVIEW也能说上个几天几夜,如果你不信的话,会在后面谈到它。

那什么是LabVIEW呢?

LabVIEW(Laboratory Virtual Instrumentation Engineering Workbench)是实验室虚拟仪器工程平台的英文缩写,由美国NI公司所开发。与传统的文本编程不同,LabVIEW是采用图形化编程,以程序框图来组织程序设计,由程序框图中的节点来传递数据的流动。图1为Word报表生成程序。

1479776878-7355-119700038c58f9f8e8a1

1479776878-2570-119500065f3cd9710bd1

图1 Word报表生成程序

LabVIEW 提供了大量的与传统仪器(如表盘、按钮、示波器、万用表等)相类似的控件,便于高效地创建用户界面。此外,它有一个可以胜任各种编程任务的强大函数库,主要涉及数据采集、GPIB、串口控制、数据分析、数据显示及数据存储等。

NI正是从虚拟仪器入手,将计算机技术与仪器仪表技术结合起来。使用时,用计算机的操作界面就可能对测试设备进行管控,从而完成各种物理信号的采集、分析、处理、显示及存储。图2是基于 LabVIEW 所开发的组合型多功能流变分析仪的界面。

1479776878-8692-11990002de35c4fdb8df

图2 流变分析仪界面

一家能推出虚拟仪器技术、能采用有别于传统开发方式的公司,你说他有多强大。与此同时,它不止推出虚拟仪器,还有同虚拟仪器配套的硬件产品来服务于市场,参见图3所示的硬件产品。

1479776878-5641-119700038c5af7467d2d

图3 配套硬件产品

也许你会说虚拟仪器离我很远,我用不到 LabVIEW。其实它的用途还真不只局限于虚拟仪器,凭借其突出的特点,它在其它领域也发挥着突出的作用。

在教学方面:由于LabVIEW具有极强的图形表现力,因而可用它开发教学软件,其界面效果非常美观极富吸引力。此外,图形及动画的讲述力也更容易被学习者接受和理解。图4是一个三维动画的制作效果。

在仿真方面:LabVIEW以它丰富的数学运算函数,为模拟、仿真及原型设计等工作提供了有力的支持。在设计前期,可利用LabVIEW在计算机上搭建出仿真模型,以验证设计的合理性。此外,使用LabVIEW设计的模拟软件还可进行虚拟实验,并可达到降低实验成本增强安全性的效果。图5为求解线性方程组的示例。

在控制方面:由于控制与测试是一对高度相关的领域,从测试测量领域做大的NI 公司,其不但开发了LabVIEW这样出色的开发平台,它在控制领域也推出了大量的为测控服务的硬件产品,LabVIEW与它们可以便捷地构成各类控制系统。

图6是借助串行通讯将LabVIEW与单片机结合起来构成温湿度检测系统。

1479776878-4232-11990002de34ff453f32

1479776878-6054-11990002de3273a3958b

图4 三维动画效果

1479776879-4557-119500065f3d70db7f36

1479776879-5708-11990002de36e1dc97ac

图5 求解线性方程组

1479776879-4644-119500065f3e5373ce8f

图6 温湿度检测系统

那LabVIEW是如何发展起来的呢?

LabVIEW诞生于1986年,伴随着计算机、网络、处理器等技术的快速发展,它也在不断地推出新功能、新特性来强大自己,这使得工程师和科研工作者都能够充分利用其性能和优势来有效地降低系统构建的复杂度,并从容地应对各种新挑战。在三十来年的发展与创新过程中,LabVIEW的发展历程如图7所示。

1479776879-5949-119700038c5b3ddd98c5

图7 LabVIEW发展历程

伴随着软件版本的升级,LabVIEW在关键技术上也有着自己不断的突破。

多平台支持:它使得同样的LabVIEW代码可以得到最大限度的复用,免去了跨平台系统重写代码的重复劳动。LabVIEW可以运行在三大台式机操作系统上:Windows、Mac OS 及 Linux。此外,LabVIEW还支持各种实时操作系统和嵌入式设备,如PDA、FPGA以及运行VxWorks和PharLap系统的RT设备。

Express VI技术:通过简单的交互和配置即可在LabVIEW下自动生成代码,从而有效地降低数据采集、仪器控制、信号处理、报表生成的复杂度,达到显著减少开发时间和调试成本的功效。

分布式智能:LabVIEW的项目管理工具可以使设计者将系统中多个硬件平台在一个项目中集中管理,实现分布式智能。相同的LabVIEW代码可以发布到系统中的不同硬件平台,无需额外的操作和成本。

母语编程:实现从编程环境到帮助文档的全方位汉化,使中国工程师体验到母语编程的便利。

融合多核技术:基于LabVIEW的图形化编程环境和本质上的并行编程框架能大大地降低多核编程的复杂性,随着处理器核数的增加,LabVIEW会自动分配线程,而无需大规模重写代码从而确保性能的提升。

自2009年开始LabVIEW采用了新式的版本命名方法,LabVIEW在各种版本上的性能改进情况如下:

LabVIEW2010新增了一些VI服务器选项及Web服务选项;

LabVIEW2011新增了一些前面板和环境选项;

LabVIEW2012新增了一些前面板、程序框图和环境选项;

LabVIEW2013新增了一些VI服务器对象及VI脚本对象。

你也许会问难道LabVIEW只发展到2013版?

那道不是,只是我从LabVIEW8.5开始用起,一直跟随到LabVIEW2013,后来因为侧重方向的改变,对版本差异的关注就少了,不很标注就不再评说了。

前面曾说过要讲LabVIEW可能要说上个几天几夜,本人就曾用一本书的幅度来介绍它,但总还感觉只是说了个皮毛。

为什么我对LabVIEW如此关注呢?

原因就是那个项目使我结识了它,也结识了NI,并为它的博大而折服。对于一个初学者,你可能会被它的简捷编程方式所吸引,但当你面对它的丰富时,也往往会使你有一种步入森林而无所适从的感觉。面对它,只有沉下心来细细地品,才会不断提高以达到驾轻就熟的境界。
http://m.toutiao.com/group/6355259914877288706/?iid=6192277101&app=news_article&tt_from=android_share&utm_medium=toutiao_android&utm_campaign=client_share

转载请注明:徐自远的乱七八糟小站 » 【NI 定制书包——我与NI之缘】

喜欢 (0)

苏ICP备18041234号-1 bei_an 苏公网安备 32021402001397号