NI 最近提供了一些用于电能、功率测量的vi,感兴趣的可以下载学习使用。
     在此之前,涉及到这方面应用的vi都是我自己编写的,看看别人编写的程序也会有一定的启发和收获。
下载地点:
https://lumen.ni.com/nicif/us/codelvelectpwr/content.xhtml?metc=nsi9120ic

      下载后解压即可安装,安装后在LabVIEW开发环境中可以看到这些vi。
 



       200810月在我的个人主页上发布的“LabVIEW学习札记”中(第1.4节),曾经谈到过什么是虚拟仪器?其中的内容还是转自以前博客中的内容,仅仅做了些文字上的修改。

所谓"虚拟仪器",就是在通用计算机上,利用通用接口总线连接硬件数据采集或控制模块,通过软件编程控制硬件模块进行控制或测量,并利用软件实现仪器的测量和分析功能。

其实,虚拟仪器这个概念从字面上来简单理解就是:借助于计算机和数据采集模块通过软件设计,能够实现真实仪器的测量功能,但确不是一个实实在在的、有模有样的真实的测量仪器。这话看着似乎别扭,没错,但是这样的表述可能更清晰。

       此次再谈这个问题是因为有两件事都又涉及到了这个问题:一是,参加一个《如何评估虚拟仪器的测量特性》的研讨会并作主要发言;其二,准备写一本关于LabVIEW的新书也涉及到了虚拟仪器定义的问题。所以不弄清楚什么是虚拟仪器不太好办。


    反复看了上面的提法和观点自己也觉得有些不太满意,感觉还是没有谈清楚或者说没有谈到虚拟仪器的本质(实质)。因此又花费了几天的时间对这个问题进行了深入的研究、探讨。本文就是探讨后的结果。

       注意:以下的观点和看法,纯属于个人观点,有不对的地方欢迎各位批评指正。

1.         “虚拟仪器”一词的来源

虚拟仪器的说法来自于美国NI公司,这一点应该是没有什么疑问的。他们在发明LabVIEW时就给出了这个概念和提法,我想这也是无可争辩的事实。因为事实上LabVIEW的基础就是建立在虚拟仪器(VI)上的。

2.  “虚拟仪器”一词的意思

    通过对相关的资料查询,找到一些不同时期的虚拟仪器表述方法:

(1)我们在前面谈到过,LabVIEW的基础就是建立在虚拟仪器(VI)上的。所以在LabVIEW发明之初,人们更多的是强调软件在虚拟仪器中的作用。以至于,在1998年以前NI的Logo上都清晰的标示:The Software is the Instrument.
    中文意思是:软件就是仪器。
    这是否这可以说是当时对虚拟仪器的定义或解释,我个人觉得有这层的含义。


Picture

       可是在1998年以后NI的Logo上的这句话就消失了,没有了,一直延续到今天。


Picture

(2)而在NI官方发布的LabVIEW入门或基础中,我们可以看到这样不同的中文表述:

用户评估版LabVIEW 7 Express
2004年6月版
产品号:350777B-01
所有的LabVIEW程序都被称为虚拟仪器(VI),因为程序的外观和操作方式都与诸如示波器、万用表等实际仪器类似。LabVIEW包括齐全的用于数据采集、分析、显示、存储数据、调试代码的工具。

LabVIEW 基础
2006 年8 月
374029B-0118
LabVIEW 程序又称虚拟仪器,即VI,其外观和操作均模仿现实仪器,如示
波器和万用表。每个VI 都使用函数从用户界面或其它渠道获取信息输入,
然后将信息显示或传输至其它文件或计算机。
8.2版

LabVIEW 入门
2007 年8 月
373427D-0118
LabVIEW 程序又称虚拟仪器,即VI,其外观和操作类似于真实的物理仪器
(如示波器和万用表)。 LabVIEW拥有一整套工具用于采集、分析、显示
和存储数据,以及解决用户编写代码过程中可能出现的问题。
8.5版

LabVIEW 程序又称虚拟仪器,即VI,其外观和操作均模仿现实仪器,如示波器和万用表。每个VI都使用函数从用户界面或其它渠道获取信息输入,然后将信息显示或传输至其它文件或计算机。
8.6版(基本沿用8.5)


      显然在这些表述中的: “LabVIEW 程序又称虚拟仪器,即VI”是不太准确的。因为它的正定理存在,而逆定理不存在。我们不能说:虚拟仪器是LabVIEW程序。

(3)在清华大学出版社2008年出版的、黄松岭等编著的《虚拟仪器设计基础教程》一书中,第3.1节中也谈到:目前对于虚拟仪器的概念还没有统一定义。书中还提到了NI公司认为:虚拟仪器是由计算机硬件资源、模块化仪器硬件和用于数据分析、过程通讯及图形用户界面的软件组成的测控系统,是一种计算机操纵的模块化仪器系统。


    对于各自不同的虚拟仪器表述方法,能否给出一个相对准确合理的定义呢?
    我试着做了一些努力,不知是否可行!

  1.3虚拟仪器的定义

    对于虚拟仪器的定义,经过参考各种文献资料及学习、理解后,我个人认为这样的定义是比较科学和简单合理的:

    “虚拟仪器是基于计算机的测试、测量(仪器)和自动化控制(仪器)”

为什么说上述说法是比较科学和合理的呢?请看我的理解:

    需要注意的是这里的计算机是指商业化计算机,而非嵌入式计算机系统。

(1)       从“虚拟仪器”的词性上来看

虚拟仪器表示的是仪器的一个种类,并非特指某种仪器。与“虚拟仪器”相对应的词应该是“传统仪器”,从词性上看二者是相同的,都是表示某一类仪器。

虚拟仪器所表示的仪器种类就是基于计算机的测试、测量和自动控制。

这与水果和苹果的区别,其道理是一样的。

 
(2)       从虚拟仪器的测量特性上看

无论传统仪器还是虚拟仪器从仪器所具有的测量特性上看应该都是一样的。只不过是制造实现的原理、方法不同而已。传统仪器是由仪器制造商制造的,而虚拟仪器则是由掌握虚拟仪器技术的使用者来完成的。

正是因为仪器特征一样或者说测量特征一样,所以我们在评价虚拟仪器得测量特性时就应该与传统仪器的评定方法一致。或者说:从仪器测量特性评估的角度来讲传统仪器和虚拟仪器应该是一样的。

 
(3)       基于计算机的测试、测量和自动控制本身就包含软件和硬件

基于计算机的测试、测量和自动控制本身就包含软件和硬件,所以不必特意强调“软件就是仪器”或模块化板卡等等。
 
“基于计算机的测试、测量和自动控制”能够充分反映出虚拟仪器的特点。

(4)       虚拟仪器的实质就是基于计算机的测试、测量和自动化

正是基于计算机上搞测试、测量,所以传统仪器中的许多硬件部件就可以通过计算机软件来实现,比如像前面板上的按键、开关、旋钮、图形指示器以及从实现测量分析功能的电路等等。这种方式大大降低成本,提高设计开发效率,并可以自定义测量功能和方便改动等等。


结束语

这里我们还要强调的是:虚拟仪器是虚拟仪器技术的产物或者说是虚拟仪器技术的实例。

NI所提供的是虚拟仪器技术,通过虚拟仪器技术用户(系统集成商)可以实现自定义的虚拟仪器实例。当然NI也有少量的虚拟仪器实例,比如模块化仪器中的一些数字万用表、信号发生器、示波器等等实例。
 
本文整理后将出现在新书中。本文若有修改将在我的个人主页的博客中进行,目前实在无力多处整理。

见谅!

Picture
 

2009年6月编程语言排行榜,LabVIEW第32名,较上个月下降4位。

前三名仍旧是:
Java
C
C++

哈哈!VHDL居然也比上个月又上升一位,到了第49位!

 
Picture

時間:2009/6/7星期日,11:00~15:00

地點:桃園,人文年代咖啡館

地址:桃園縣桃園市西門里民族路271號(民族路與三民路交叉口)(03-3351403)

交通資訊:

◎中山高
‧北上:接國道2號,往桃園方向續行,於南桃園交流道出口,往桃園方向,接大興西路右轉續行,直達永安路右轉續行,過三民路口後,接民族路續行,即可到達!
‧南下:於南崁/桃園交流道出口,往桃園方向續行,接春日路續行,直達三民路右轉續行,接民族路左轉續行,即可到達!
◎桃園火車站:站前中正路續行,直達中山路左轉續行,接民族路右轉續行,即可到達!

停車資訊:專屬停車場(桃園市農會地下室2樓)可停放20~30部小客車。

特別企劃:為感謝提供經驗分享的網友,只要上台提供技術議題簡報,本網站將致贈限量贈品,外面買不到喔!

議程:

Tomado:LabVIEW與三菱PLC直接以RS232傳遞資料,不透過第三方軟體(如:OPC Server)
Benjamin:LabSMS與LabEmail使用教學
NI工程師Jimmy:LabVIEW 2009最新版本新功能介紹
NI工程師Ven:PAC、cRIO等硬體實際介紹
阿正:on screen keyboard
(網友提供,隨時更新議程)

Picture

Google Analytics