设为首页 加入收藏 期刊导航 网站地图
  • 首页
  • 期刊
    • 数学与物理
    • 地球与环境
    • 信息通讯
    • 经济与管理
    • 生命科学
    • 工程技术
    • 医药卫生
    • 人文社科
    • 化学与材料
  • 会议
  • 合作
  • 新闻
  • 我们
  • 招聘
  • 千人智库
  • 我要投搞
  • 办刊

期刊菜单

  • ●领域
  • ●编委
  • ●投稿须知
  • ●最新文章
  • ●检索
  • ●投稿

文章导航

  • ●Abstract
  • ●Full-Text PDF
  • ●Full-Text HTML
  • ●Full-Text ePUB
  • ●Linked References
  • ●How to Cite this Article
Artificial Intelligence and Robotics Research 人工智能与机器人研究, 2013, 2, 60-63
http://dx.doi.org/10.12677/airr.2013.21010 Published Online February 2013 (http://www.hanspub.org/journal/airr.html)
Board Inspection System Based on Object-Oriented
Technology of LabVIEW
Yugang Wang, Xingtang Zhao, Yuanlei Li, Xuhua Dong
Naval Aeronautical Engineering Academy of Qingdao Branch, Qingdao
Email: flyingmanwang@163.com
Received: Jan. 16th, 2013; revised: Jan. 31st, 2013; accepted: Feb. 7th, 2013
Abstract: This ar ticle introduces the certain board inspection system based on object-or iented technology. Through the
methods of graphical object-oriented programming, to separate this system into several discrete models. Using the
merits of object-orien ted sufficiently to realize inspecting boards eventually.
Keywords: LabVIEW; Object-Oriented; GOOP; Inspection System
基于 LabVIEW 面向对象技术的某型电路板测试系统
王玉刚,赵兴堂,李元垒,董绪华
海军航空工程学院青岛校区,青岛
Email: flyingmanwang@163.com
收稿日期:2013 年1月16 日;修回日期:2013 年1月31 日;录用日期:2013 年2月7日
摘 要:本文介绍了基于 LabVIEW 面向对象技术的某型电路板检测系统,通过面向对象程序设计方法(Graphical
Object-Oriented Programming),将现有代码分解为一个个离散的模块,充分利用面向对象设计与开发的优点与好
处,最终实现电路板检测任务。
关键词:LabVIEW;面向对象;GOOP;测试系统
1. 引言
LabVIEW 是虚拟仪器集成开发环境的总称,它是
为替代常规的 Basic或C语言而设计的,LabVIEW 是
编程语言而不仅仅是一个软件开发环境。作为编写应
用程序的语言,除了编程方式不同外,LabVIEW 具备
语言的所有特性,因此又称之为 G语言[1]。G语言是
一种适合应用于任何编程任务、具有扩展函数库的编
程语言。同时G语言丰富的扩展函数库还为用户编程
提供了极大的方便。这些扩展函数库主要面向数据采
集、GPIB 和串行仪器控制以及数据分析、数据显示
和数据存储。G语言还包括常用的程序调试工具,比
如容许设置断点、单步调试、数据探针和动态显示执
行流程等功能。G语言与传统编程语言最大的差别在
于编程方式,一般高级语言采用文本编程,而 G语言
采用图形化编程方式。
近年来,面向对象的思想逐渐在程序设计领域占
据主流,并且广泛的应用于系统的分析、设计、测试
等领域。今天,同样的发展也发生在图形化的G语言
身上[2]。LabVIEW 的G语言本身是一种基于数据流的
图形化语言,在过去,它在中小型的测试系统开发中
具有快速直观的优点。但随着技术的快速发展,越来
越多的测试工程师倾向于在基于数据流的 G语言上
使用面向对象的技术来增强软件的升级性、开发性、
代码重用性,我们称之为 GOOP(Graphical Object
Copyright © 2013 Hanspub
60
基于 LabVIEW 面向对象技术的某型电路板测试系统
Oriented Pr og r am ming)。
2. GOOP的特性
通过对面向对象的支持,用户能够利用面向对象
的设计方法和工具来设计和分析系统,例如 UML 统
一建模语言、Rational Rose设计工具等。这使得通过
LabVIEW 开发和维护大型工程变得更加容易。图形化
的面向对象编程使基于组件的开发方式更容易得到
实施,因此极大地扩展了传统基于数据流的 LabVIEW
的能力。GOOP 的特性总的来说,归纳如下:
2.1. 便于升级与维护
LabVIEW 传统的编程范例是自顶而下进行功能
性分解,随着程序的增大,模块数目增多,由于模块
间的关系是强耦合性的,因此对其中任一个模块的改
变都可能引起设计者所意想不到结果。而对象的核心
是被封装的数据空间以及私有方法,它与外界的接口
由一组公有方法的调用来实现,这一系列的可编程接
口能够有效的遏制其间的依赖性[3]。因此面向对象技
术(OO)具有低耦合、高内聚的特性,对象之间采用松
散连接,具有非常好的升级性与维护性。
2.2. 代码复用性
非面向对象技术(OO)环境下,从应用层到全局数
据空间,严重的数据依赖性大大减少了潜在的代码复
用。但是代码复用对于面向对象技术(OO)程序非常简
便。因为对象的接口是一组已经定义好的公共方法,
这使得设计者能够轻松的决定复用构件的功能性。程
序设计者通过类所定义的公共方法来进行数据访问,
这样也大大减少了在代码复用时的误用风险。
2.3. 易开发性
传统的功能性模块分解方法虽然解决了软件开
发人员的合作问题,但仍然存在着大量的协作问题。
而对于面向对象的设计,系统可以以自然的方式分成
几个类,这些类通过属性和方法调用来与其他类联系
起来,这样开发者就能够各自独立的开发驱动类、用
户接口类、逻辑运算类,而不用像功能性分解那样关
心子程序之间的连接问题并使得调试工作更加容易。
3. 基于面向对象技术的某型电路板
测试系统
某公司生产如下三种电路板。A:基本数据采集
电路板;B:精密数据采集电路板。
公司主要生产两种类型的电路板,且每块电路板
均有电阻、电容和芯片 3种元件组成,需对 3条流水
线上每一块板卡进行检测来确定电路板上各个元件
位置是否摆放正确。因此该系统在每条流水线上放置
了一个摄像头,它们将电路板的图片发送到同一台计
算机上,该计算机通过检测程序来判断电路板是否安
装正确。系统的构成如图 1所示。
3.1. LabVIEW的层次结构
针对该检测任务,该系统显示了一个基于面向对
象的解决方式[4]。在LabVIEW 中新建的类有个默认的
父类:LabVIE W Object。LabVIEW Object是LabVIEW
中所有类的“终极”祖先,所有的类都是它的子类。
于该型电路板测试系统,可以分为电路板设计类和 对
COMPUTER
A B
Figure 1. System configuration
图1. 系统结构图
Copyright © 2013 Hanspub 61
基于 LabVIEW 面向对象技术的某型电路板测试系统
电路板部件类。电路板设计类中包含数据采集电路板
设计类,而该公司生产的具体的 A电路板和 B电路板
属于其中的子类。具体的类层次结构图如图 2所示。
3.2. 电路板检测系统的实现
在面向对象的解决方案中,将该电路板检测系统
分为相对独立的很多模块,面向对象的方法采用了更
多的子 VI[5]。LabVIEW 中的子 VI(SubVI)类似于文本
编程语言中的函数,通过子 VI,可以把程序分割为一
个个小的模块来实现。其中每一个子 VI都对应一个
非常具体的任务,因此子 VI 的程序框图更小,而子
VI 的数目更多。该系统具体的实现框图如图 3所示:
在该电路板检测系统中,包含产生测试的图片子 VI、
获取测试的图片子VI、选择类子VI、检测输入的图
像子 VI等等。
其中,选择类用于根据输入的电路板的类型产生
相应的对象[6]。而检测输入的图像用于检测输入的对
象。该电路板检测系统通过调用电路板对象的动态方
法Get Components.vi获得相应电路板对象的元件数
组,再通过调用每一个元件对象的动态方法 Self
Test.vi 进行自检测。最后将电路板上每一个元件的自
检测结果求“与”就得到了电路板的测试结果。
当该系统需要进一步改进时,采用面向对象的方
法则会显示出更大的优势来。采用面向对象的解决方
案只需要修改非常少的地方,这就使得程序更改更加
容易,还极大的减少了由于修改可能带来的潜在错
误。
4. 结论
显然,面向对象的解决方案容易被升级以适应新
LabVIEW 对象
电路板部件类 电路板设计类
数据采集电
路板设计类 GPIB 电路
板设计类
数模/模数
转换类 FPGA 芯
片类
信号过
滤类
基本数据采集
板电路设计类
精密数据采集
板电路设计类
Figure 2. Class hierarchy diagram of LabVIEW
图2. LabVIEW的类层次结构图
Figure 3. Bard inspection system
图3. 电路板检测系统
Copyright © 2013 Hanspub
62
基于 LabVIEW 面向对象技术的某型电路板测试系统
的变化。一般来说,面向对象的优势在程序的第一版
本中并不能得到太多体现,但是在以后的更多修改版
本中,面向对象带来的代码易修改性以及代码的健壮
性将会得到淋漓尽致的展现。GOOP 在LabVIEW 中
的应用,显著的提高了测试系统的开发性。随着技术
的不断成熟,LabVIEW 平台下的中大型测试系统开
发,终将转向 GOOP。
参考文献 (References)
[1] 杨乐平, 李海涛, 赵勇等. LabVIEW高级程序设计[M]. 北京:
清华大学出版社, 2003: 470-485.
[2] 徐洪安, 费仁元, 王民. 用ADO构建LabVIEW 中的数据库
访问接口[J]. 北京工业大学学报, 2003, 29(2): 138-140.
[3] 雷振山. LabVIEW 8.2基础教程[M]. 北京: 中国铁道出版社,
2008.
[4] National Instruments Corporation. IMAQ vision concepts man-
ual, 2000.
[5] 李建文, 刘笃喜, 朱名诠. 基于ADO 技术的 LabVIEW访问
数据库的方法[J]. 自动化仪表, 2003, 24(9): 15-17.
[6] 贾小丽, 郭钟宁等. 基于 LabVIEW 和IMAQ 的微型电感器的
焊点质量检测系统[J]. 机电工程技术, 2007, 36(10): 44-47.
Copyright © 2013 Hanspub 63

版权所有:汉斯出版社 (Hans Publishers) Copyright © 2012 Hans Publishers Inc. All rights reserved.