首页 理论教育 虚拟仪器开发方法与系统设计

虚拟仪器开发方法与系统设计

时间:2023-06-28 理论教育 版权反馈
【摘要】:以下对几种虚拟仪器的开发系统进行简单的介绍,对于主流系统LabVIEW系统和VMIDS系统正是本书将要详细论述的内容。图1-1 VMIDS系统开发的虚拟仪器图1-2 LabVIEW系统开发的虚拟仪器1.VMIDS开发系统VMIDS是本书作者提出并研制成功的一种层次消息总线零编程虚拟仪器开发系统,它包含了一个测控仪器软件模块化功能库和一个软件模块化控件库,在智能虚拟仪器开发系统中以功能库和控件库中的资源为基础进行软设计、软连接、软调试形成智能虚拟控件成品。

虚拟仪器开发方法与系统设计

现代虚拟仪器的开发系统和方法有很多种,其中有的系统(如美国NI公司的Lab-VIEW)已成为主流系统,有的则正在渐渐进入佳境(如我国的VMIDS系统)。以下对几种虚拟仪器的开发系统进行简单的介绍,对于主流系统LabVIEW系统和VMIDS系统正是本书将要详细论述的内容。

978-7-111-33186-5-Part01-1.jpg

图1-1 VMIDS系统开发的虚拟仪器

978-7-111-33186-5-Part01-2.jpg

图1-2 LabVIEW系统开发的虚拟仪器

1.VMIDS开发系统

VMIDS是本书作者提出并研制成功的一种层次消息总线零编程虚拟仪器开发系统,它包含了一个测控仪器软件模块化功能库和一个软件模块化控件库,在智能虚拟仪器开发系统中以功能库和控件库中的资源为基础进行软设计、软连接、软调试形成智能虚拟控件成品。用户在仪器拼搭场中,可以调用智能虚拟控件进行组装自己所需要的虚拟仪器,而不需要编程。VMIDS开发系统主要是面向非专家类的使用者,相对于美国的LabVIEW系统而言,它降低了对用户的要求。它力图在系统自身内部做好大量的专业性的工作,留给用户的只是进行一些简单的选择,以及其他的一些相当轻松的任务,比如,调整显示面板的大小和位置、确定各旋钮的位置等。而且,在用户构造仪器的过程中,系统提供周到、仔细的帮助,提示用户每一步的具体做法和下一步即将做什么。即使是不懂测试的人员,只要他会操作计算机,通过系统的帮助,也能很快构造出所需的仪器。

VMIDS开发系统是一个可开发生产智能虚拟控件和控件化虚拟仪器的“软性工厂”,系统具备设计、装配、调试、修改、咨询、存储等全方位的功能。构造智能虚拟控件的VMIDS开发系统由“开发”和“应用”两部分构成,其中“开发”部分包括功能模块库、控件库、控件开发与仪器拼搭场和可复用控件库与控件化虚拟仪器库,而“应用”部分除了“可复用控件库与控件化仪器库”之外,还包括仪器拼搭和咨询系统。

2.LabVIEW开发系统

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)系统是美国National In-strument CO.(NI公司)于1984年推出的虚拟仪器集成开发环境的总称。LabVIEW系统是为替代常规的VC或VB语言而设计的,像VC和VB一样,也定义了数据模型、结构类型、模块调用语法规则以及设置断点、调试等编程语言的基本要素,其最有力的特征就是图形化的编程环境和使用数据流编程方法来描述程序的运行,图形化编程环境的特点使用图标和连线代替文本的形式编写程序。

LabVIEW开发环境分为用户界面前面板和图标代码后面板两部分,前者是用于人机交互图形界面(GUI),集成了旋钮、开关、显示器、指示灯等对象;后者是程序的源代码,它包括函数、结构、代表前面板对象的图标以及它们之间的连线等。

除此之外,它还内置了信号采集、测量分析与数据显示功能,包括从数据采集到仪器控制,从图像采集到运动控制的低端插入式数据采集卡或者高端成熟的信号调理系统模块的数据采集工具,如快速傅里叶变换(FFT)与频率分析、数学运算、曲线拟合、数据差补及时频分析等算法软件包,以及丰富的二维、三维图形图像显示。LabVIEW汇集了大量有用的知识,也摒弃了传统开发工具的复杂性,为用户开发组建虚拟仪器系统提供了极大的便利。

3.其他开发系统

以下介绍的各种开发系统都各有特点,但都未能成为开发系统的主流,此处仅作简单介绍。

(1)Agilent VEE Agilent Visual Engineering Environment(Agilent VEE)是一种用于仪表优化控制的图形语言。用户只需将对象(指组成试验系统的仪表和操作及运算过程)从相应的菜单中挑选出来,然后用鼠标将代表对象的图标按流程连接起来,就可以产生程序,不必使用键盘,而程序也只是一张数据流程图,比传统的代码方式更便于使用和理解。用户不必有丰富的编程知识,只需了解测试的目标和顺序,然后用线把它们连接起来,程序就可以完成。

VEE除有编程轻松、快速的特点外,还有以下优点:(www.xing528.com)

1)具有灵活的输入/输出策略。VEE提供以下I/O功能:为四百多种仪器提供驱动程序、提供驱动程序编写工具和通过标准接口(如HP—IB、VXI、GPIB、RS—232)传送仪器命令串直接进行I/O操作。

2)提供多种适合仪器使用的数据类型。通常用户不必考虑数据的类型或模型,因为针对任何VEE数据类型操作的绝大多数目标模块将自动地把数据转换成目标模块所需要的类型。例如,如果一个量级的频谱显示收到一个波形数据类型,VEE自动地执行一次快速傅里叶变换,将它从时域变换成频域

3)提供数学分析能力。在Math(数学)和AdvMath(高级数学)联级菜单中VEE有上百个数学运算函数和信号处理函数,用户可以直接使用这些函数或利用这些函数组合成更复杂的函数,也可以用一种编译语言,例如用C语言编写函数,然后将其导入VEE中;或者可以使用其他应用软件与VEE通信来提供数学函数。

4)方便的显示方式。VEE为测试结果提供了多种显示方式,例如,数字字母显示、仪表表头显示、极坐标显示、时域波形显示、频谱图形等多种数据显示方式,此外,VEE还提供仪器的虚拟面板,数据可在虚拟面板上显示,并通过虚拟面板控制仪器。

5)易于生成报告。用户可以把测试数据及注解存入文件中,对此文件进行编辑,然后与VEE输出的图形结合起来,建立满足大多数应用的试验或研究报告。另外,VEE还可以生成更复杂的数据报告。例如,把测试数据存入电子表格中,可与MS EXCEL等数据库软件共享测试数据,由数据库直接输出统计结果。

6)与其他语言混合编程。VEE最大的优点之一就是它能与其他应用程序很好地综合在一起

7)在VEE中可以使用VEE内部的或其他销售商的Active X控件来扩充其功能。

VEE开发系统尽管有不少优点,但它需要与Agilent产品的仪器配合使用,优点才能充分发挥,因此限制了它的应用和销售。

(2)NI LabWindows/CVI LabWindows/CVI是NI公司推出的,和LabVIEW相对应的虚拟仪器软件开发平台,它完整集成式的ANSI C开发环境,特别为建立以GPIB、PXI、VXI和插入式数据采集板卡为基础的测量系统,为工程师们最大化提高工作效率而设计的,尤其是在包含多种资源和项目文件的大型应用系统中。该工作环境使用户很容易就能使用内置测量函数库、综合项目预览、动态参考信息以及一个结构化的函数库。

它以ANSI C为核心,将功能强大、使用灵活的C语言平台与用于数据采集、分析和显示的测控专业工具有机地结合起来。它的交互式开发平台、交互式编程方法、丰富的功能面板和库函数大大增强了C语言的功能,为熟悉C语言的开发人员建立自动化检测系统、自动测量环境、数据采集系统、过程控制系统等提供了一个理想的软件开发环境。LabWin-dows/CVI提供了许多实用的特性,可以无需牺牲C代码的运行速度或源代码可管理性,便能大大地改进工作效率。

(3)DASYLab DASYLab(Data Acquisition System Laboratory)由是一套Windows环境下的集高速数据采集,分析和过程控制于一体的功能强大的组态化软件包。它采用图形化编程环境,通过连接函数图标来完成数据采集、显示、存储、分析、统计、运算、控制、触发等各种功能控制程序。比利汇编语言或高级语言如VB、VC++、Delphi、C++Builder等来编写源代码实现分析控制系统更方便、效率更高。DASYLab支持250多种数据采集板卡、512通道同时采集,实时曲线显示可达250kHz。它还采用了DDE(动态数据交换)、OLE(对象连接与嵌入)、ODBC(开放数据库连接)等技术。对于分布式数据采集系统,DASY-LabNET技术能在现有网络上使用TCP/IP协议实现速率高达100000样点/s的远端通信和控制。

(4)CEC TestPoint美国CEC (Capital Equipment Corporation)公司的TestPoint是一个以事件驱动方式工作的数据采集软件包。和一些著名的以数据流驱动方式工作的软件包,如LabView和VEE一样,用TestPoint编写程序是从拖放图标(对象)到应用程序窗口开始。由于TestPoint的事件驱动的编程方式不需要(即使允许)把代表不同对象的图标“连接”在一起,所以那样就可以做得更合宜。当把一个对象拖放到一个应用程序中,对象的属性框自动打开,允许设定对象的特征。

当把应用程序将使用的所有对象采集在一起后,就能创建一个功能表,即真正的程序。不需要采用类似常规的文本编程语言那样键入功能表项,只需用鼠标右键单击窗口中已经采集的不同对象,从菜单上选择对应的功能即可。通常,必须填写一个或多个值,如果是一个数学对象,可以键入公式。功能表还有一个强大的功能,允许把对象从一行拖动到另一行(实际上是复制对象),因此,如果在某一行定义了一个变量,可以在其他行使用它。

用TestPoint开发应用程序,还具有自动建档功能,该功能内置在TestPoint功能表内。与涉及“线段”的图形化程序不同,功能表是纯文本的。而且,功能表只在一维方向扩展(垂直方向),其打印输出结果比图形化程序输出结果更容易阅读和处理。

对于上述各种开发系统,目前进入主流的主要的是LabVIEW系统,它几乎占据了世界虚拟仪器市场份额的70%~80%。而在国内,VMIDS系统也正在进入佳境,估计几年之内,该系统将会得到更大的推广。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈