通过对图形化编程系统的工作原理、本质特点进行比较,可以看出智能控件化虚拟仪器系统与国外图形化系统两者之间具有显著的本质区别,采用了不同的技术路线,给用户提供不同形式的产品。下面以LabVIEW为例,详细比较其与智能虚拟控件的区别。
1.功能库的形式
LabVIEW提供了可视控件库、基本信号处理(算法、子VI)库和硬件驱动程序库等。智能控件化虚拟仪器系统提供了非智能虚拟控件库、仪器功能库系列、硬件驱动程序库和部分成品智能控件库。LabVIEW的控件库和VMIDS系统中的非智能虚拟控件库在很大程度上是相似的,尤其是外观表现形式,只是非智能虚拟控件为了实现功能融合和动态演化,提供了一系列特殊的接口而已;硬件驱动程序库也是如此,只是所遵守的互换性规范不同。
作为功能库,LabVIEW的算法函数和子VI库与VMIDS的仪器功能库有了显著的不同。LabVIEW的算法函数是诸如C语言的基本运算加、减、乘、除、幂、开方、积分、微分、数组和矩阵运算,以及信号处理中常见方法诸如FFT、WVT、数字滤波、曲线拟合等进行包装,形成符合图形化编程规范的单元,即具有详尽的功能和可编程调用的节点图标。子VI是LabVIEW系统或用户将频繁使用的仪器功能单元装配保存起来,以供直接调用,如正弦函数发生器、噪声发生器等,它们都不针对特定的仪器,而是通用的基本算法,可以在任意仪器或者非仪器的程序中调用。VMIDS的功能库是针对特定仪器设计的,这样才能保证数据的正确、快速、高效地交换,如FFT算法,就必须根据具体要求编写成幅值谱、相位谱等更为具体功能,对于一个FFT频谱分析仪而言,提供了打开文件、单通道数据采集、概率密度、幅值谱、自功率谱、倒频谱、细化分析、对数幅值谱等20多项功能,从其中选中几个需要的测试功能,便可组建一台特定的FFT分析仪。图10-21是两种系统功能提供形式。
图10-21 不同模式虚拟仪器系统的功能提供形式
2.仪器组建的模式
LabVIEW平台组建仪器的实质是在后台编程连线的同时,在系统中以解释语言的形式保存了各单元的逻辑制约关系,程序运行时,根据用户交互输入和系统保存的逻辑关系计算数据和处理事务,得到相应的结果(这种解释执行的过程是图形化平台较文本式系统和VMIDS系统效率低的原因)。通过带输入输出接口的图标节点和以数据流驱动的图形化编程语言开发仪器,其过程为:①了解测试任务、熟悉测试原理并分解到算法层面;②用G开发各个简单分支;③连接各子VI组建完整的测试测量仪器。
VMIDS系统的仪器组建过程要简单明了得多,VMIDS系统的核心是虚拟智能控件,它是通过功能“赋予”、测试融合实现的,只需从功能库选取所需的功能“赋予”给特定的控件,在拼搭场上合理摆放这些智能控件即完成,只要仪器功能库庞大,便可以组建各种功能强大、显示简洁、操作方便的虚拟仪器系统。
下面以双通道信号发生显示为例,说明两种系统的仪器组建过程。
(1)LabVIEW组建双通道信号发生显示器
图10-22 LabVIEW组建双通道信号发生显示器的过程
1)第一步:在前面板放置波形显示器、通道选择滑杆、频率调整旋钮、程序结束按钮,并调整它们的大小、位置、颜色、形状、标注、文字等,前面板界面如图10-22a所示。
2)第二步:切换至后面板,布局编程的空间和逻辑,后面板及基本控件信息如图10-22b所示。
3)第三步:对整个程序套上while循环,当STOP按钮击中时退出程序;增加一个case选择分支,对通道选择进行判断和控制处理;编制当滑杆输出为0,即一通道的程序,增加一个正弦信号发生器和一个白噪声发生器,并对它们的幅值、频率、相位等参数进行设置,将两者数据相加,并转化为数据流传输给显示器,程序构架及一通道正弦信号发生器程序如图10-22c所示。
4)第四步:和第三步中正弦信号的产生一样,编制当滑杆输出为1,即二通道方波信号发生的程序,如图10-22d所示;编制当滑杆输出为2,即两通道重叠显示模式,两通道重叠显示模式程序如图10-22e所示。
5)第五步:回到前面板,运行程序,改变通道、频率,得到各种信号,图10-22f为两通道重叠显示的效果图。
(2)VMIDS组建双通道信号发生显示器
1)第一步:拖放控件。在VMIDS系统平台上放置一台显示器、两个按钮、一个选择开关、一个旋钮和一个装饰标签,调整和编辑它们的大小、颜色、文字、样式和位置,得到的人机界面如图10-23a所示。(www.xing528.com)
2)第二步:功能“赋予”。依次对“运行”、“关机”按钮和频率调整旋钮赋予示波功能、退出功能和频率设置数字功能,对选择开关的三个档位依次赋予第一通道示波功能、第二通道示波功能和两通道并列示波功能。图10-23b是对“运行”按钮赋予示波功能的过程图。
3)第三步:测试融合和仪器运行。通过执行菜单使系统进入测试和运行状态,对按钮、旋钮、选择开关进行逐一运行测试,观察程序运行状态和显示器的输出结果;测试融合成功,执行仪器功能,图10-23c所示为执行双通道信号发生显示的结果。
3.系统发布的方式
LabVIEW系统和VC、VS.net等可视化编程系统具有很多相似之处,同为高级语言程序编译环境,其运行、发布方式也大体一致,完整的LabVIEW系统应包括用户界面库(控件库)、集成开发环境、编译系统、基本函数和VI库(功能库)、硬件支持库及帮助和实例辅助单元等,它们共同构成一个完整的虚拟仪器开发系统,它们都是不可或缺的系统单元。LabVIEW是一个复杂、庞大的系统。
VMIDS系统采用了不同于图形化开发平台的技术,产品的发布方式也有所不同。一个完整的VMIDS系统包括非智能虚拟控件库、仪器功能库、硬件支持库、集成开发平台、智能虚拟控件库以及帮助实例等。但VMIDS系统的非智能虚拟控件库和仪器功能库是可以灵活选择和自由扩展的,这使得用户可以根据项目需要选择必要的非智能虚拟控件库和仪器功能库。比如,对于摩托车生产的测试车间,需要测试诸如噪声、振动等参数,便可选择噪声分析功能组、频谱分析功能组、转速扭矩功能组等仪器功能库,而不用选温度测试功能组、阶比分析功能组以及联合时频分析功能组等,既减少经费的开支,又减小了开发难度,并提高系统的效率。
图10-23 VMIDS组建双通道信号发生显示器的过程图
4.使用对象
LabVIEW系统是一种高级语言——图形化编程语言,和其他高级语言一样具有long、int、float等数据结构,if、case、for、while等循环分支语法,以及数据流和各种复杂的逻辑,需要深入学习才能了解其各个功能、各种语法的使用方法,以及它们的最优化使用方法等。这说明,LabVIEW系统是开发虚拟仪器和测控系统的中间平台,需要用户具有工程和编程等多方面的知识和技术,才能成功使用它,它适用于具备相当背景的专家或用户。
与LabVIEW系统相比,VMIDS系统没有编程的思想和过程。VMIDS是一个更能体现仪器特征、更接近仪器思想的开发系统,以最接近最终产品的形式提供给使用者,对于一般使用者,无需掌握深广的测试工程理论和编程技术即可使用。智能虚拟控件的这一零编程思想使人们只需理解测试任务,便可以通过控件库和功能组库快速组建测控仪器。
5.特点的比较
LabVIEW等图形化开发平台由于其控件的属性和固有的程序框图的原因,例如复杂的仪器系统中,往往需要的波形图、直方图、色谱图、三维图形以及它们的组合之间切换,而LabVIEW提供的二维、三维等显示器模式,就需要在仪器系统中放置多个显示器;对于一个较为复杂的仪器系统其程序框图将十分复杂、连线也错综复杂,程序编辑容易出错,其执行效率也会降低。所以LabVIEW一般适用组建比较简单的仪器系统,一个复杂系统需要分解多个简单仪器VI,然后组合为VIs(完整虚拟仪器系统)。VMIDS以智能虚拟控件为最小元素,可以组建各种或复杂或简单的仪器,而且也不需要通过菜单一级一级的查找功能,就可以组建仪器单元。
LabVIEW等图形化开发平台的入门要求高,受价格、计算机图形化语言编程水平和工程测量背景知识的因素的影响,使得许多用户使用不够理想;VMIDS系统用户可以按需定制系统,无计算机编程要求,也不需要太多测试理论知识,简单快捷地组建仪器。
LabVIEW是一种程序开发环境,具有较高的开放和扩展性,可以开发各类程序,比如特定的功能和算法,以及临时组建面向特殊测试任务的虚拟仪器系统;而VMIDS的扩展性取决于功能库的功能,用户只能从已有的功能组库中选取所需的功能组建测试系统。但用户可以按照框架协议标准,通过VC等高级语言扩展仪器功能库和控件库,实现更高级、更特殊的测试测量任务。
以上从功能库形式、仪器组建模式、系统发布方式、使用者对象、系统特点等方面比较了两个系统的不同,表10-2对两大系统的特点的比较进行了归纳。
表10-2 LabVIEW和VMIDS两大系统的特点比较
智能虚拟控件、智能控件化虚拟仪器以及它们的开发系统——VMIDS系统是虚拟仪器的一种全新的开发模式,特别是智能虚拟控件这一思想及由它引申出的功能“赋予”、“测试融合”和“拼搭与拼搭场”等概念和实现过程,将推动虚拟仪器的“设计”和“制造”进入一个新的阶段。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。