基于LabVIEW平台普通图像采集卡的应用_赵立双
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2008-02-29
作者简介:赵立双(1981-),男,山东省济南市人,山东轻工业学院硕士研究生,研究方向:工业过程智能检测与控制.
文章编号:1004-4280(2008)02-0073-03
基于LabVIEW 平台普通图像采集卡的应用
赵立双1,李 萌2
(1.山东轻工业学院电子信息与控制工程学院,山东济南250353;2.山东超越数控电子有限公司,山东济南250000)
摘要:介绍在LabVIEW 编程环境下,通过调用动态链接库,进行普通图像采集卡VI DE O -PCI -XR 的驱动和控制,实现了LabVIEW 与普通图像采集卡的结合,快速开发图像处理程序的方法。文章给出了设计的方法和步骤,现实应用证明,该方法不仅可以很好地发挥图像采集卡的性能,而且可以借助LabVIEW 强大的界面编辑功能,缩短程序开发周期,美化人机界面。
关键词:LabVIEW;图像采集卡;驱动;动态链接库中图分类号:TP273 文献标识码:A
The application of the common image acquisition card based on LabVIEW
ZHAO Li -shuang 1,LI Meng 2
(1.School of E lectronic In formation and C ontrol Engineering ,Shandong Institute of Light Industry ,Jinan 250353,China ;
2.Shandong Chaoyue Numerical C ontrol E lectronic co.LT D ,Jinan 250000,China )
Abstract :The driving and control of comm on image acquisition card VI DE O -PCI -XR based on com pile Dy 2namic Link Library in LabVIEW environment was introduced.The combination of LabVIEW and comm on image acquisition card was realized ,the quick development of the access ory function library of the image acquisition card was achieved.The design method and process were given in this paper.It has been proved that ,by this method the image acquisition card can be used fully ,development time can be cut short and man 2machine interface can be beautified by the interface editor of LabVIEW.
K ey w ords :LabVIEW ;image acquisition card ;driving ,Dynamic Link Library (D LL )
1 LabVIEW 简介
LabVIEW (Laboratory Virtual Instrument Engineering W orkbench )是实验室虚拟仪器开发平台的简称。它是美国NI 公司(National Instrument C om pany ,美国国
家仪器公司)80年代推出的一种基于G 语言(G raph 2ics Language ,图形化编程语言)的虚拟仪器软件开发平台。LabVIEW 是专门用于虚拟仪器开发的图形化
软件编程平台,目前最新版本为8.5。图形化的表
示方式是比文本代码更为自然的设计表示法,在这个平台上,用户通过定义和连接代表各种功能模块的图标来方便迅速地建立起自己的应用程序[1]。
LabVIEW 在图像采集方面有专门的图像采集模块,通过其自带的仪器驱动程序与配套的图像采集卡进行通讯,可以很方便的进行图像的采集和分析,但是价格昂贵。如果用户所使用的板卡不是NI 公司的产品,又没有提供与LabVIEW 兼容的驱动程
第22卷 第2期2008年 6月
山 东 轻 工 业 学 院 学 报
JOURNAL OF SH ANDONG INSTITUTE OF LIGHT INDUSTRY Vol.22 No.2
June. 2008
序,就不能为LabVIEW所用。但是作为一个开放式开发平台,LabVIEW提供了D LL接口,用户在Lab2 VIEW平台上能调用其他软件平台编译的模块,并提供对对象链接和嵌入技术(简称O LE)的支持。这样LabVIEW能够通过调用Windows32动态连接库(Dynamic Link Library,简称D LL)来编写与LabVIEW 兼容的驱动程序,实现该数据采集卡在LabVIEW环境下二次开发。这样就实现对某些非NI公司的普通硬件设备的操作。同时,利用此软件平台可大大降低成本,缩短项目开发时间。
2 图像采集卡VIDEO-PCI-XR简介
VI DE O-PCI-XR是北京大恒图像视觉有限公司设计的、基于PCI总线的高速黑白图像采集卡,图像传输速度40M B/S,实现数据的实时传送。可实时采集单场、单帧,连续场、连续帧以及间隔任意场和帧等多种方式灵活采集图像;支持标准黑白视频视频信号输入(PA L、NTSC);支持VG A所有显示方式及9种图像采集格式;亮度、对比度、饱和度、色度以及画面大小比例,均可软件调节。采集图像在计算机显示器上显示,实现图像和图形同屏显示的工作方式。
3 动态链接库(D LL)的建立
为了便于以后工程的维护与开发,我们将运动控制按照实现功能的不同,编写出D LL,每个D LL中都包含VI DE O-PCI-XR数据采集卡函数库中一个或多个函数,称之为功能函数。主要的功能函数有板卡初始化,图像采集,抓取帧图像,图像卡设置,设置图像卡采集行程,设置视频采集输入窗口及显示窗口,图像在计算机内存中的存储和读取等,每个功能函数都有自己的独立接口,可以方便调用。
在VC++6.0软件环境中选择File→New,单击Project标签,从左侧列表中选择Windows32Dynamic Link Library[2]输入项目名后,添加上VI DE O-PCI-XR相应图像采集卡的数据采集卡函数库文件,按功能编译成需要的D LL文件。具体的方法步骤如下:
(1)编写c++图像采集卡的驱动程序源代码,文件名为XRdl1.cpp。此文件包含了所有与硬件操作紧密相关的功能函数,是驱动图像采集卡工作的关键。
(2)编写用户程序头文件DVRS DK.H。头文件中包含用户所要输出的所有函数。
(3)编写模块定义文件Dllblank.def。在模块定义文件中,只有LI BRARY和EXPORT两种声明,其中LI BRARY声明其后紧跟库文件名;EXPORT声明中列出了D LL中输出函数的名称。在此程序中,主要需调用的函数有:XROpen、XRClose、XRCapture、XRShowVedio、XRCapShow,分别控制图像采集卡开启、关闭、快照以及图像的显示、捕获和保存等。(4)对已编好的上述文件进行编译,即可生成D LL。
4 LabVmW中对D LL的调用
通过对Call Library Function N ode的配置可以实现D LL的调用,关键是要了解被调用的函数名称、功能及其输入输出参数。配置节点的目的在于指定D LL模块中与LabVIEW数据交换的相应驱动函数。调用Call Librayr Function模块,右键点击此模块,选中“C onifigure…”选项,弹出配制对话框,在此对话框中,需要根据要求填写一些内容:Library Nameor Path 中,填人需要调用的动态链接库的路径和名字; Function Name中,填人D LL中需要调用的函数名称; Calling C onvention中填人函数中参数传递的方式;接下来的四个选项Parameter、T ype、DataT ype、Pass分别填入参数的名称、参数类型、数据类型转换、参数传递的方式等。当配置完成后,Call Librayr Function已经根据刚刚配置的参数个数和数据类型设置好了输出和输入端口。
笔者在开发中使用LabVIEW8.2中文版本,较8.0有很大的改进。首先在LabVIEW的后面板中选择互连接口中的库与可执行程序,然后选择调用库函数,将其拖到适当的位置。在新建的空库函数中选择配置,正确配置D LL参数。本文以XRCapture 函数为例做一下详细介绍,如图1
。
图1
47 山 东 轻 工 业 学 院 学 报第22卷