77利用LabVIEW工程库实现面向对象编程

77利用LabVIEW工程库实现面向对象编程

ID:47162158

大小:171.00 KB

页数:5页

时间:2019-08-14

77利用LabVIEW工程库实现面向对象编程_第1页
77利用LabVIEW工程库实现面向对象编程_第2页
77利用LabVIEW工程库实现面向对象编程_第3页
77利用LabVIEW工程库实现面向对象编程_第4页
77利用LabVIEW工程库实现面向对象编程_第5页
资源描述:

《77利用LabVIEW工程库实现面向对象编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、利用LabVIEW工程库实现面向对象编程注意:我写这篇文章的时候,LabVIEW8.2还没有出来。现在LabVIEW8.2本身就以支持面向对象的编程方法,所以这里介绍的方法有点过时。我有时间会再写一篇关于新LVOOP的文章。摘 要:本文将简要介绍图形化编程语言LabVIEW中面向对象的编程思想。并且提出了一种实现面向对象编程具体方法,即利用LabVIEW8.0的新特性:工程库,来帮助实现对象的程序设计思想。关键词:LabVIEW,面向对象,类,工程库ImplementingObjectOrien

2、tedProgramminginLabVIEWwithProjectLibraryAbstract:ThispaperintroducestheObjectOrientedProgramminginLabVIEW,whichisalsocalledasGOOP.AnditalsointroducesanewwayofimplementingtheGOOPapplication:withthehelpofProjectLibrary,anewfeatureinLabVIEW8.0KeyWords:

3、LabVIEW,GOOP,Class,ProjectLibrary一.背景LabVIEW是一个强大的编程语言,但是随着开发程序规模变大,LabVIEW程序员可能会觉得对程序越来越难于管理和维护。其根本原因就是LabVIEW是面向过程的编程语言,它采用基于数据流的运行方法。而这种程序设计方式在模块划分方面有着天然的缺陷。使用LabVIEW编写程序时关注的是按流程完成功能,而不是程序功能模块的划分。因此LabVIEW程序划分出来的不同的块之间可能会公用很多子VI,或全局变量,它们的存在使得程序各个模

4、块无法完全独立,更糟糕的事模块之间的关系可能不为编程人员所察觉。当程序规模大到一定程度,尤其是需要多名开发人员共同参与的时候,编写出来程序会越来越显得杂乱无章,使得程序的调试、维护、和升级都变得非常困难。解决这一问题的途径就是引入更加抽象化的面向对象的编程方法[2]。通过构造类的方法,把不同模块之间的数据彻底分离开来,甚至把数据和操作分离开来。这样就保证了不同模块可以完全独立的开发、测试。对某一模块的修改将不会影响到任何其他模块。这样,就可以将一个大的工程分解为可以完全独立开发的多个模块,彻底解

5、决前文所提到的开发困难。早在1999年,NI就曾向用户演示过在LabVIEW中使用面向对象的编程思想的示例。一些第三方的公司还为LabVIEW面向对象编程提供了一些开放工具。但是由于这些工具使用复杂,功能简单,LabVIEW面向对象的编程思想当时并没有引起用户广泛的注意和重视。刚刚推出的LabVIEW8.0版的一些新特性明显体现出面向对象的编程思想。尽管它仍然没能实现对面向对象的编程的整体支持,但是可以预见,LabVIEW将在后续的版本中完整的实现对面向对象的编程的支持。二.LabVIEW工程库

6、(LabVIEWProjectLibrary)LabVIEW8.0的一个重要新特性就是“工程库”,这也是LabVIEW向现行对象开发语言过渡的一个重要体现。工程库是一组功能相关联的VI或其它文件的集合。工程库与传统的LabVIEW的LLB文件有着本质的区别。LLB文件只是将一组VI打包存储的一种形式,而工程库与如何存储VI无关,它更关注是把功能相关的VI按一定结构组合封装,以便于代码的管理和发布。工程库的一些特性可以帮我们方便地实现面向对象的编程:1.工程库的名字也是库中VI的名字空间(name

7、space)。名字空间是LabVIEW8.0的一个新特性。在8.0前的LabVIEW中无法打开两个文件名相同但内容不同的VI,这就好比在C语言中,一个工程不能拥有两个名字相同的函数。新版本的LabVIEW不再有此限制,但是被同时打开两个同名VI必须存在于不同的名字空间,也就是在不同的工程库中的同名VI才能被同时打开。这与C++、C#等语言中的名字空间的概念类似。2.库中的VI有操作安全设置,每一个VI成员可以被设置为公有(Public,可以被库外的VI调用);或者私有(Private,只能被库的

8、成员VI调用)。3.使用VIScripting技术,可以在运行时方便的得到库的组织结构信息。VIScripting技术也是LabVIEW的新特性。利用它可以直接在LabVIEW中解析或更改LabVIEWVI。三.LabVIEW面向对象编程的具体实现方法我们可以把一组相关的数据和VI放在一个工程库内,借以实现类的封装功能,但是这种方法不能实现类的继承和多态。图1:LabVIEW工程库的结构1.工程库的结构例如,要建立一个表示“猪”的类,我们先要为它新建一个名为Pig的LabVIEW工程库。然后按一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。