基于LabVIEW平台普通图像采集卡的应用_赵立双
- 格式:pdf
- 大小:252.25 KB
- 文档页数:3
基于LabVIEW的多通道数据采集系统摘要虚拟仪器是将仪器技术、计算机技术、总线技术和软件技术紧密的融合在一起,利用计算机强大的数字处理能力实现仪器的大部分功能,打破了传统仪器的框架,形成的一种新的仪器模式。
本设计采用NI PCI-6221数据采集卡,运用虚拟仪器及其相关技术于多通道数据采集系统的设计。
该系统具有数据同时采集、采集数据实时显示、存储与管理、报警记录等功能,最后使用Web技术实现了采集数据的远程访问。
本文首先概述了测控技术和虚拟仪器技术在国内外的发展及以后的发展趋势,探讨了虚拟仪器的总线及其标准、框架结构、LabVIEW开发平台,然后介绍了数据采集的相关理论,给出了数据采集系统的硬件结构图。
在分析本系统功能需求的基础上,介绍了程序模块化设计、数据库、Web、多线程等设计中用到的技术,最后一章给出了本设计的前面板图。
本设计是虚拟仪器在测控领域的一次成功尝试。
实践证明虚拟仪器是一种优秀的解决方案,能够高效的实现各种测控任务。
关键字:虚拟仪器;数据采集;MySQL;PHP;LabVIEWAbstractVirtual instrument(VI)is combines computer science,bus technology,software engeneering with measurement instrumentation techology,employes the computer's powerful digtal process compability to realize main function of instrument.It breakes the mainframe of traditonal instrument and forges a new instrument pattern.This project use NI PCI-6221 DAQ(data acquisition) card,ingeniously applyes VI technology in the development of a Multi-channel data acquisition develoment and finally achieves a solution which can provide many functions including multi-channel and multi-parameter signal acquisition,huge measurement information storage and management,Alarm record, and Collecting data show that real-time.Finally the use of Web technology to achieve the Acquisition of data remote access.This paper Introduced in detail the test technology in the domestic and foreign development and the later trend of development, then introduced the virtual instrument's development. Study and reseach deeply VI's concept,hardware configuration and software architechture.Then introduce the development platform--LabVIEW.Introduced the theory of data acquisition, which elaborated on the acquisition of hardware, the input signal conditioning, given the DAQ system structure of the hardware.Based on the analysis of the DAQ system on the basis of functional requirements, described in detail the design used in some software-related technologies, including procedures modular design, database technology, Web technology, multi-threaded technology.The final chapter given the specific design of the font panel.This project is a successful application of VI in measurement domain,which testifies that VI is an available and effective solution and can be employed to accomplish majoritycomplicated measurement task.Key words: Virtual Instrument; DAQ; MySQL; PHP; LabVIEW目录摘要 (I)Abstract (II)目录 (IV)第一章绪论 (1)1.1 引言 (1)1.2 课题背景 (1)1.2.1 测控技术的国内外发展现状 (1)1.2.2 虚拟仪器技术发展趋势 (3)1.3 本设计所做的工作 (5)1.3.1 多通道数据采集系统的设计 (5)1.3.2 远程数据检索的设计 (6)第二章虚拟仪器 (7)2.1 虚拟仪器技术概述 (7)2.1.1 虚拟仪器的概念 (7)2.1.2 虚拟仪器的特点及优势 (7)2.1.3 虚拟仪器和传统仪器的比较 (8)2.1.4 虚拟仪器测试系统的组成 (10)2.1.5 虚拟仪器I/O接口设备 (11)2.1.6 虚拟仪器的软件结构 (13)2.2 虚拟仪器的开发软件 (13)2.2.1 虚拟仪器的开发语言 (13)2.2.2 图形化虚拟仪器开发平台——LabVIEW (14)2.2.3 基于LabVIEW平台的虚拟仪器程序设计 (15)第三章系统设计理论及硬件平台的实现 (17)3.1 PC机 (17)3.2 数据采集理论 (17)3.2.1 数据采集技术概论 (17)3.2.2 采集系统的一般组成及各部分功能描述 (19)3.2.3 传感器 (21)3.2.4 信号调理 (21)3.2.5 输入信号的类型 (22)3.2.6 输入信号的连接方式 (25)3.2.7 测量系统分类 (25)3.2.8 选择合适的测量系统 (27)3.3 数据采集卡的选择 (29)3.3.1 数据采集卡的主要性能指标 (30)3.3.2 数据采集卡(DAQ卡)的组成 (31)3.3.3 NI PCI-6221数据采集卡 (31)3.4 本设计总体硬件框图 (32)第四章系统软件设计的相关技术 (33)4.1 程序模块化设计概述 (33)4.1.1 程序设计的模块化原则 (33)4.1.2 软件系统的模块化设计原则 (34)4.1.3 本设计的软件系统模块划分 (35)4.2 数据库技术 (36)4.2.1 数据库技术概述 (36)4.2.2 ADO与数据库的交互技术 (38)4.2.3 MySQL数据库 (38)4.3 Web技术 (39)4.3.1 Web技术概述 (39)4.3.2 PHP技术 (41)4.3.3 远程数据访问系统 (43)4.4 多线程技术 (43)4.4.1 Windows的多线程机制 (43)4.4.2 LabVIEW与多线程 (44)4.4.3 多线程技术在本设计中的应用 (44)4.5 系统具体应用程序的实现 (45)4.5.1 数据采集部分程序 (45)4.5.2 数据保存部分程序 (45)4.5.3 历史数据查询部分程序 (46)4.5.4 报警记录部分程序 (46)第五章系统软件的具体实现 (48)5.1 登录系统 (48)5.2 通道参数配置 (49)5.3 实时数据显示 (50)5.4 历史数据查询 (50)5.5 报警记录 (51)第六章总结 (53)致谢 (54)参考文献 (55)附录远程数据检索系统代码 (57)第一章绪论1.1 引言测控技术在现代科学技术、工业生产和国防科技等诸多领域中应用十分广泛,它的现代化已被认为是科学技术、国防现代化的重要条件和明显标志。
如何利用LabVIEW进行数据采集与处理LabVIEW是一种流程图编程语言,专门用于控制、测量和数据采集等应用领域。
它的易用性和功能强大使得许多科研、工业和教育机构都广泛采用LabVIEW进行数据采集与处理。
在本文中,我将介绍如何利用LabVIEW进行数据采集与处理的基本步骤和技巧。
一、准备工作在开始数据采集与处理之前,首先需要进行准备工作。
这包括安装LabVIEW软件、连接传感器或测量设备、配置硬件设备和安装相关驱动程序等。
确保LabVIEW软件和硬件设备都能正常工作。
二、建立数据采集程序1. 打开LabVIEW软件,在工具栏上选择"新建VI",创建一个新的虚拟仪器(VI)。
2. 在Block Diagram窗口中,选择相应的控件和函数,用于实现数据采集的功能。
例如,使用"DAQ Assistant"控件来配置和控制数据采集设备。
3. 配置数据采集设备的参数,如采集通道、采样率、触发方式等。
根据实际需求进行设置。
4. 添加数据处理的功能模块,如滤波、去噪、采样率转换等。
这些模块可以根据数据的特点和需要进行选择和配置。
5. 连接数据采集设备和数据处理模块,确保数据能够流畅地进行采集和处理。
6. 运行程序进行数据采集,可以观察到数据随着时间的推移不断变化。
三、数据可视化与分析1. 在LabVIEW软件中,使用图形化的方式将采集到的数据可视化。
例如,使用波形图、数值显示等控件显示数据结果。
2. 利用LabVIEW提供的分析工具,对采集到的数据进行进一步的统计和分析。
例如,计算均值、标准差、峰值等。
3. 根据需要,将数据结果输出到其他文件格式,如Excel、文本文件等,以便进一步处理和分析。
四、数据存储与导出1. 在LabVIEW中,可以选择将数据存储到内存中或者存储到文件中。
存储到内存中可以方便实时访问和处理,而存储到文件中可以长期保存和共享数据。
2. 使用适当的文件格式和命名方式,将数据存储到本地磁盘或者网络存储设备中。
摘要数据采集是获得信息的基本手段,数据采集技术作为信息科学的一个重要分支,以传感器、信号测量与处理、微型计算机等技术为基础而形成的一门综合应用技术,它研究数据的采集、存储、处理及控制等作业,具有很强的使用性随着科学技术的发展和数据采集系统的广泛应用,人们对数据采集系统提出了越来越高的要求,特别在雷达、气象、地震预报、航空航天、通信等领域里,现场信号具有重要的作用,这些信号的主要特点是实时性强、数据速率高、数据量大、处理复杂、运算量大。
本课题利用LABVIEW开发平台设计一个可以局域网运行的的多通道远程数据采集系统,实现远程实时数据的采集、显示和数据库存储传输和WEB发布。
要求完成系统需求分析,功能模块划分,流程图的设计,各个应用程序各模块的具体代码实现等全部过程。
其流程是:通过数据采集卡和PC机、传感器构成一个系统采集相应的外部性息,将采集的数据放入Access构建数据库中,利用LABWindows/CVI实现数据文件的数据库动态存储与更新,最后通过LABVIEW 软件平台,实现数据的处理、传输和发布。
软件功能包括:数据采集、数据查询、数据处理、数据传输和WEB发布。
运行结果表明实现了基本功能,达到预期要求。
本系统具有结构简单、通用性强、稳定、可靠、实时性好、使用灵活、成本低等优点,并具有较强的扩展能力,适用于远程数据采集、远程测控等领域,有较高的使用价值。
关键词虚拟仪器;ACCESS数据库;数据通信;远程数据采集AbstractData acquisition is the basic means of access to information, data acquisition technology as an important branch of information science to sensor, signal measurement and processing, micro-computers and other technology formed the basis of a comprehensive application of technology, research data collection, storage , treatment and control operations, with strong use of science and technology with the development and wider use of data acquisition system, one of the data acquisition system made increasing demands, especially in the radar, weather, earthquake prediction, aerospace, communications and other fields, the field has an important role in the signal, the main characteristics of these signals is real strong, high data rate, data volume, complex, large amount of computation.This topic using LabView development platform design a can of multi channel running LAN remote data acquisition system, to realize the remote real-time data acquisition, display and database storage transmission and WEB publishing. Asked to complete system needs analysis, function moduledivides, flowchart design, each application of each module in specific code realization all process. The process is: through the data acquisition card and PC, sensor constitute a system acquisition corresponding externality ceases, will the data in the database, the paper takes Access by constructing LabWindows/CVI realize data file database dynamic storage and update, finally through LabVIEW software platform, realize the data processing, transmission and release. Software functions include: data acquisition, data query, data processing and data transmission and WEB publishing.Operation shows that realize the basic functions, and is expected to reach.This system has simple structure, strong commonality, stable and reliable, good real-time, use agile, low cost advantages, and has strong expansion ability, for remote data acquisition, remote measurement and control, and other fields, have higher use value.Keywords Virtual Instruments Accdss database Data communication Remote Data Acquisition目录1 绪论 (1)1.1 远程数据采集的背景和意义 (1)1.1.1 虚拟仪器的起源 (1)1.1.2 虚拟仪器的结构 (2)1.1.3 虚拟仪器的特点 (3)1.2 虚拟仪器的国内外发展现状 (4)1.3本文研究的主要内容和意义 (5)2 虚拟仪器的硬件 (6)2.1 通用仪器硬件部分 (6)2.1.1 传感器 (6)2.1.2 信号调理器 (6)2.1.3 数据采集卡 (6)2.2虚拟仪器硬件部分 (8)2.3 LabVIEW软件开发平台 (9)2.3.1 LabVIEW的程序设计 (10)2.3.2 LabVIEW的网络访问功能 (10)3 系统方案设计 (13)3.1 远程数据采集的功能 (13)3.2远程数据采集总体流程图 (13)3.3 系统硬件方案部分 (13)3.4 系统软件方案设计 (14)3.5本章小结 (16)4 系统总体的实现 (17)4.1 登录界面 (17)4.2 主程序设计 (18)4.3 数据采集模块 (19)4.3.1 参数设置 (19)4.3.2数据采集 (20)4.4 数据传输模块 (21)4.5 数据存储模块 (23)4.6 数据库查询 (24)4.7数据处理模块 (25)4.8 服务器端的Web发布配置 (26)4.9 客户端的远程测控 (29)4.10 本章小结 (30)5 总结与展望 (31)结论 (32)致谢.................................................................................................................. 错误!未定义书签。
如何使用LabVIEW进行数据采集和分析LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一款由美国国家仪器公司(NI)开发的图形化编程环境和开发平台,主要用于测试、测量和控制领域。
LabVIEW具有直观的用户界面、强大的数据采集和分析功能,被广泛应用于工业自动化、科学研究、仪器仪表等领域。
本文将介绍如何使用LabVIEW进行数据采集和分析的基本步骤。
一、实验准备与硬件连接在使用LabVIEW进行数据采集和分析之前,首先需要准备好实验所需的硬件设备,并将其与计算机连接。
LabVIEW支持多种硬件设备,如传感器、仪器和控制器等。
根据实验需要选择相应的硬件设备,并按照其配套说明书将其正确连接至计算机。
二、创建LabVIEW虚拟仪器LabVIEW以虚拟仪器(Virtual Instrument,简称VI)的形式进行数据采集和分析。
在LabVIEW中,可以通过图形化编程来创建和配置虚拟仪器。
打开LabVIEW软件后,选择新建一个VI,即可开始创建虚拟仪器。
三、配置数据采集设备在LabVIEW中,需要为数据采集设备进行配置,以便准确地采集实验数据。
通过选择合适的数据采集设备和相应的测量通道,并设置采样率、量程等参数,来实现对实验数据的采集。
LabVIEW提供了丰富的数据采集函数和工具箱,使得配置数据采集设备变得更加简单和便捷。
四、编写数据采集程序使用LabVIEW进行数据采集和分析的核心是编写采集程序。
在LabVIEW中,可以通过拖拽、连接各种图形化函数模块,构建数据采集的整个流程。
可以使用LabVIEW提供的控制结构和数据处理函数,对采集的实验数据进行处理和分析。
LabVIEW还支持自定义VI,可以将经常使用的功能模块封装成VI,以便在其他程序中复用。
五、数据可视化和分析通过编写好的数据采集程序,开始实际进行数据采集。
LabVIEW提供了实时查看和记录实验数据的功能,可以将采集到的数据以曲线图、表格等形式进行显示和保存。
基于LabVIEW和USB摄像头的图像采集与处理作者:金雨李红莉来源:《现代电子技术》2015年第20期摘要:为了实现实时的图像采集与处理,利用通过基于LabVIEW软件平台和NI⁃IMAQ Vision函数工具包,探讨如何通过通用USB摄像头进行图像采集和处理的方法。
包括如何快速搭建软件平台、如何进行单一图像的抓取及图像的常规处理,灰度、二值和增强处理,以及如何获得连续的视频图像采集和压缩。
该方法相比于其他图像获取与处理手段,其具有无法比拟的优势。
它成本低廉,相对于其他语言的实现方法其编程具有极高的效率,并且该方法能满足一般工业、医用和民用需求。
关键词: LabVIEW; USB摄像头;图像采集;图像处理中图分类号: TN911.73⁃34 文献标识码: A 文章编号: 1004⁃373X(2015)20⁃0067⁃04Image acquisition and processing based on LabVIEW and USB cameraJIN Yu1, LI Hongli2(1. Xuancheng Branch of Hefei University of Technology, Xuancheng 242000, China; 2. Hefei University of Technology, Hefei 230009, China)Abstract: To achieve real⁃time image acquisition and processing, the method of image acquisition and processing by using USB camera is discussed on the basis of LabVIEW software platform and NI⁃IMAQ Vision function toolkit. This method includes how to construct software platform quickly, capture the single image, deal with image common processing (grey scale,binary and enhancement processing), and obtain continuous video image acquisition and compression. Compared with other image acquisition and processing means, this method has incomparable advantages. This method has cost low, and high program efficiency relative to other languages’ implementation methods, and can satisfy the requirements of general industrial,medical and civil use.Keywords: LabVIEW; USB camera; image acquisition; image processing0 引言视频采集可将连续的模拟信号图像转换成数字视频,并按数字视频文件的格式保存。
上海交通大学自学考试基于labview的数据采集******指导教师:***专业:工业自动化基于labview的数据采集[摘要]现代技术的进步,特别是以计算机技术为代表的不断革新的信息技术,正从各个层面上影响并引导着各行各业的技术革新,基于计算机技术的虚拟仪器系统技术也正以不可逆转的力量推动着测量技术,数据采集和分析等技术的发展。
本文以双通道虚拟示波器为例,介绍了基于labview8.20这一款优秀的虚拟仪器软件开发平台和NI DAQ mx, NI USB-6009数据采集卡的数据采集设计过程。
它由数据采集DAQ,波形显示,文件保存读取,回显分析等模块构成。
实验证明,传统示波器数据采集的功能在labview软件平台上得到了很好的体现。
如果对软件模块进行修改扩充,就可方便拓宽传统示波器采集的功能,从而提高了传统示波器的使用灵活性。
借助这新一类电子仪器,在未来的工程设计应用领域,工作效率将被大大提高。
关键词: Labview,虚拟示波器,数据采集卡,DAQmx目录第一章绪论 (4)1.1 数据采集的意义和任务 (4)1.2 虚拟仪器在数据采集中的应用价值 (4)1.3 基于labview设计虚拟示波器实现数据采集的原理概述 (5)第二章虚拟仪器 (6)2.1 labview及其作用 (6)2.2虚拟仪器技术的概念及特点 (7)第三章数据采集 (9)3.1数据采集卡 (9)3.2数据采集卡的驱动软件 NI-DAQ mx (10)第四章设计原理 (13)4.1 示波器原理简介 (13)4.2 虚拟示波器的设计 (14)4.2.1数据采集功能实现 (14)4.2.2采集波形显示功能 (16)4.2.3 时间轴和幅值轴调节功能 (18)4.2.4文件的创建,读取和写入功能 (20)4.2.5 波形图回显 (22)4.2.6 程序的优化 (24)第五章程序的调试 (25)5.1 调试结果 (25)5.2 调试问题 (27)第六章结论 (29)谢辞 (30)附录一图纸 (31)第一章绪论1.1 数据采集的意义和任务数据采集是计算机与外部物理世界连接的桥梁。
基于LabVIEW的数据采集与处理技术LabVIEW是一种图形化编程环境,被广泛应用于数据采集与处理领域。
本文将介绍基于LabVIEW的数据采集与处理技术,包括其原理、应用和发展趋势。
一、LabVIEW的原理LabVIEW是National Instruments(NI)公司开发的一种用于数据采集、控制、测量和分析的编程工具。
它采用图形化编程语言,即通过连接图形化的“节点”(也称为虚拟仪器或VI)来构建程序。
LabVIEW的程序由一系列的节点组成,每个节点代表一个操作或函数。
用户可以通过拖拽和连接这些节点来实现数据采集和处理。
这种图形化的编程方式使得非专业程序员也能够很容易地使用LabVIEW进行数据采集和处理。
二、LabVIEW的应用1. 数据采集LabVIEW提供了丰富的数据采集模块,可以通过各种方式获取不同类型的数据。
它支持各种传感器和仪器,包括温度传感器、压力传感器、光电传感器等。
通过连接这些传感器和仪器,LabVIEW可以实时采集并显示数据。
2. 数据处理LabVIEW提供了强大的数据处理功能,可以对采集到的数据进行各种处理和分析。
它支持数学运算、滤波、插值、统计分析等。
用户可以根据需要对数据进行处理,从而得到更有用的结果。
3. 控制系统LabVIEW可以用于构建控制系统,实现对实验室设备或生产设备的控制。
它支持PID控制算法、状态机等控制方法,用户可以根据需要设计和调整控制策略。
4. 图形化界面LabVIEW提供了友好的图形化界面设计工具,用户可以通过拖拽和连接各种控件来创建自定义的界面。
这样,用户不仅可以方便地实现数据采集和处理,还可以将结果以直观的方式显示给用户。
三、LabVIEW数据采集与处理技术的发展趋势1. 高性能硬件支持随着计算机硬件的不断发展,LabVIEW可以利用更强大的计算能力进行数据采集和处理。
现在已经出现了一些基于FPGA(现场可编程逻辑门阵列)的硬件,使得LabVIEW可以实现更高的数据采集速率和处理能力。
在LabVIEW中使用千兆网相机采集图像版本控制1目的本手册主要目的为方便使用者基于LabVIEW开发平台,快速上手GigE Vision相机采集图像,为下一步的图像处理打下基础。
本文档用于说明PC机第一次和相机相连的设置2硬件电脑一台:带千兆网卡,一般会缩写为GBE,网卡支持巨帧,如下面右图所示。
如果想要保证速度,最好使用Intel的千兆网卡。
GigE Vision相机,也称千兆网相机,主要优势为速度快,电缆够长,且能够POE供电。
确保相机和电脑之间通过千兆网线相连,之间经过的网线接头、交换机越少越好。
3软件1.在电脑上安装有LabVIEW和VDM(Vision Development Module)、VAS(Vision AcquisitionSoftware),一般这三个软件版本需要一致。
前者是开发平台,中间是视觉处理模块,后者是相机驱动。
2.关闭windows自带防火墙、360防火墙、杀毒一类软件。
3.打开网卡的巨帧功能。
右键我的电脑,管理,设备管理器,网络适配器,选择网卡,右键,属性,高级,属性,巨型帧,更改值为最大,一般为9KB MTU。
如果网卡不支持巨帧,可以尝试调小网络包的大小。
在Max中,点击相机,在获取属性中,更改包大小,可以尝试更改为2000或者1000.4.使用相机自带的软件先进行测试,去相机供应商的网站下载合适的相机驱动,注意电脑操作系统的位数,32位下载X86,64位下载64位。
a)这里使用Basler的软件pylon IP Configurator。
把相机的IP地址设至为与电脑同一IP段。
即IP地址前三位一样。
b)采集连续图像,在pylon Viewer中,点击一个相机进行连接。
c)方框为连接、断开相机,橙色方框为采集、连续采集、停止按钮d)如果画面太黑或太白,将紫色方框内的用户等级改成专家(Guru),然后选择相机属性(Basler acA1300-30gm*****)下面的Acquisition Controls》Exposure Auto,改成自动,然后连续采集几张照片,就可以将曝光时间调整好。
如何在LabVIEW中进行数据采集和处理LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种广泛应用于科学和工程领域的数据采集与处理软件。
它提供了一个易于使用的图形化编程环境,使得用户能够轻松地进行数据采集、信号处理、图像分析等操作。
本文将介绍如何在LabVIEW中进行数据采集和处理的基本步骤和方法。
一、准备工作在进行数据采集和处理之前,需要准备相应的硬件设备和LabVIEW软件。
常用的数据采集设备包括传感器、数据采集卡和数据采集模块等。
LabVIEW软件则可以从官方网站进行下载和安装。
二、创建VI(Virtual Instrument)在LabVIEW中,VI是指虚拟仪器。
每个VI都由图标、前面板和块图三部分组成。
图标是VI在工具栏上显示的代表,前面板是用户与VI交互的界面,块图则是VI的程序实现。
1. 打开LabVIEW软件,点击“新建VI”以创建一个新的VI。
2. 在前面板上选择所需的控件,例如按钮、滑动条、图表等,用于接收用户输入,显示采集到的数据和结果。
3. 在块图中添加相应的函数和连接线,以实现数据采集和处理的功能。
三、进行数据采集1. 配置数据采集设备:根据所使用的数据采集设备类型和参数,使用相应的函数进行设备的初始化和配置。
2. 设置采样率和采样点数:根据实验需求和设备能力,设置采样率和采样点数,通常采样率越高,数据精度越高。
3. 开始数据采集:使用相应的函数启动数据采集过程,并设置采集时间或采集点数。
4. 存储采集数据:将采集到的数据保存到指定的文件,以便后续处理和分析。
四、进行数据处理在采集到数据后,可以进行各种数据处理操作,如平均值计算、滤波、傅里叶变换等。
1. 数据预处理:对采集到的原始数据进行预处理,包括数据的滤波、去除异常值等。
可以使用LabVIEW提供的滤波函数和数学运算函数实现。
2. 数据分析:根据实验目的和需求,对数据进行分析和处理,如求取数据的均值、方差,进行峰值检测等。
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net收稿日期:2008-02-29
作者简介:赵立双(1981-),男,山东省济南市人,山东轻工业学院硕士研究生,研究方向:工业过程智能检测与控制.
文章编号:1004-4280(2008)02-0073-03
基于LabVIEW平台普通图像采集卡的应用
赵立双1,李 萌2(1.山东轻工业学院电子信息与控制工程学院,山东济南250353;2.山东超越数控电子有限公司,山东济南250000)摘要:介绍在LabVIEW编程环境下,通过调用动态链接库,进行普通图像采集卡VIDEO-PCI-XR的驱动和控制,
实现了LabVIEW与普通图像采集卡的结合,快速开发图像处理程序的方法。文章给出了设计的方法和步骤,现实应用证明,该方法不仅可以很好地发挥图像采集卡的性能,而且可以借助LabVIEW强大的界面编辑功能,缩短程序开发周期,美化人机界面。关键词:LabVIEW;图像采集卡;驱动;动态链接库中图分类号:TP273 文献标识码:A
TheapplicationofthecommonimageacquisitioncardbasedonLabVIEW
ZHAOLi-shuang1,LIMeng2(1.SchoolofElectronicInformationandControlEngineering,ShandongInstituteofLightIndustry,Jinan250353,China;
2.ShandongChaoyueNumericalControlElectronicco.LTD,Jinan250000,China)
Abstract:ThedrivingandcontrolofcommonimageacquisitioncardVIDEO-PCI-XRbasedoncompileDy2namicLinkLibraryinLabVIEWenvironmentwasintroduced.ThecombinationofLabVIEWandcommonimageacquisitioncardwasrealized,thequickdevelopmentoftheaccessoryfunctionlibraryoftheimageacquisitioncardwasachieved.Thedesignmethodandprocessweregiveninthispaper.Ithasbeenprovedthat,bythismethodtheimageacquisitioncardcanbeusedfully,developmenttimecanbecutshortandman2machineinterfacecanbebeautifiedbytheinterfaceeditorofLabVIEW.Keywords:LabVIEW;imageacquisitioncard;driving,DynamicLinkLibrary(DLL)
1 LabVIEW简介LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench)是实验室虚拟仪器开发平台的简称。它
是美国NI公司(NationalInstrumentCompany,美国国家仪器公司)80年代推出的一种基于G语言(Graph2icsLanguage,图形化编程语言)的虚拟仪器软件开发平台。LabVIEW是专门用于虚拟仪器开发的图形化软件编程平台,目前最新版本为8.5。图形化的表示方式是比文本代码更为自然的设计表示法,在这个平台上,用户通过定义和连接代表各种功能模块的图标来方便迅速地建立起自己的应用程序[1]。LabVIEW在图像采集方面有专门的图像采集模块,通过其自带的仪器驱动程序与配套的图像采集卡进行通讯,可以很方便的进行图像的采集和分析,但是价格昂贵。如果用户所使用的板卡不是NI公司的产品,又没有提供与LabVIEW兼容的驱动程
第22卷 第2期2008年 6月山 东 轻 工 业 学 院 学 报JOURNALOFSHANDONGINSTITUTEOFLIGHTINDUSTRYVol.22 No.2June.
2008© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net序,就不能为LabVIEW所用。但是作为一个开放式开发平台,LabVIEW提供了DLL接口,用户在Lab2VIEW平台上能调用其他软件平台编译的模块,并提供对对象链接和嵌入技术(简称OLE)的支持。这样LabVIEW能够通过调用Windows32动态连接库(DynamicLinkLibrary,简称DLL)来编写与LabVIEW兼容的驱动程序,实现该数据采集卡在LabVIEW环境下二次开发。这样就实现对某些非NI公司的普通硬件设备的操作。同时,利用此软件平台可大大降低成本,缩短项目开发时间。2 图像采集卡VIDEO-PCI-XR简介VIDEO-PCI-XR是北京大恒图像视觉有限公司设计的、基于PCI总线的高速黑白图像采集卡,图像传输速度40MB/S,实现数据的实时传送。可实时采集单场、单帧,连续场、连续帧以及间隔任意场和帧等多种方式灵活采集图像;支持标准黑白视频视频信号输入(PAL、NTSC);支持VGA所有显示方式及9种图像采集格式;亮度、对比度、饱和度、色度以及画面大小比例,均可软件调节。采集图像在计算机显示器上显示,实现图像和图形同屏显示的工作方式。3 动态链接库(DLL)的建立为了便于以后工程的维护与开发,我们将运动控制按照实现功能的不同,编写出DLL,每个DLL中都包含VIDEO-PCI-XR数据采集卡函数库中一个或多个函数,称之为功能函数。主要的功能函数有板卡初始化,图像采集,抓取帧图像,图像卡设置,设置图像卡采集行程,设置视频采集输入窗口及显示窗口,图像在计算机内存中的存储和读取等,每个功能函数都有自己的独立接口,可以方便调用。在VC++6.0软件环境中选择File→New,单击Project标签,从左侧列表中选择Windows32DynamicLinkLibrary[2]输入项目名后,添加上VIDEO-PCI-XR相应图像采集卡的数据采集卡函数库文件,按功能编译成需要的DLL文件。具体的方法步骤如下:(1)编写c++图像采集卡的驱动程序源代码,文件名为XRdl1.cpp。此文件包含了所有与硬件操作紧密相关的功能函数,是驱动图像采集卡工作的关键。(2)编写用户程序头文件DVRSDK.H。头文件中包含用户所要输出的所有函数。(3)编写模块定义文件Dllblank.def。在模块定义文件中,只有LIBRARY和EXPORT两种声明,其中LIBRARY声明其后紧跟库文件名;EXPORT声明中列出了DLL中输出函数的名称。在此程序中,主要需调用的函数有:XROpen、XRClose、XRCapture、XRShowVedio、XRCapShow,分别控制图像采集卡开启、关闭、快照以及图像的显示、捕获和保存等。(4)对已编好的上述文件进行编译,即可生成DLL。
4 LabVmW中对DLL的调用通过对CallLibraryFunctionNode的配置可以实现DLL的调用,关键是要了解被调用的函数名称、功能及其输入输出参数。配置节点的目的在于指定DLL模块中与LabVIEW数据交换的相应驱动函数。调用CallLibrayrFunction模块,右键点击此模块,选中“Conifigure…”选项,弹出配制对话框,在此对话框中,需要根据要求填写一些内容:LibraryNameorPath
中,填人需要调用的动态链接库的路径和名字;
FunctionName中,填人DLL中需要调用的函数名称;CallingConvention中填人函数中参数传递的方式;接下来的四个选项Parameter、Type、DataType、Pass分别填入参数的名称、参数类型、数据类型转换、参数传递的方式等。当配置完成后,CallLibrayrFunction已经根据刚刚配置的参数个数和数据类型设置好了输出和输入端口。笔者在开发中使用LabVIEW8.2中文版本,较8.0有很大的改进。首先在LabVIEW的后面板中选择互连接口中的库与可执行程序,然后选择调用库函数,将其拖到适当的位置。在新建的空库函数中选择配置,正确配置DLL参数。本文以XRCapture
函数为例做一下详细介绍,如图1。
图1
47 山 东 轻 工 业 学 院 学 报第22卷© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net 在库名或路径中,选择DLL的存放路径C:\ProgramFiles\DH-IMAGE\XR\DEMO,在函数名下选择封装好的功能函数XRCapture,在右侧菜单线程选项中选择“在UI线程中运行”,在调用规范中选择应与用C++语言编写的动态库的编译模式相一致。如果C++的调用方式为extern“C”declspec(dll2export),那么CallingConventions的选项为“C”,如果调用方式为externdeclspec(dllexport)stdcall,则Con2ventions的选项为默认值“stdcall(WINAPI)”,此处一定要设定正确,否则会出现不可预知的错误。在第二项参数选项中,设置好对应的参数值,此函数有2个参数,HXRhxr,图像卡句柄和BOOLEnable,图像的采集或者冻结,在参数选项中设置完成后,可以在函数原型下显示出来。最后在回调中选择需要的回调函数。配置完成后,将其封装成子VI,如图2。图2按同样的办法可以完成XROpen、XRClose、MVShowWindow、XRCapShow等函数的配置封装。最后可以用LabVIEW中事件结构(EventStructure)的组织方式进行编程。如图3。图35 实验测试用户可以通过前面板上的Star、Capture、Snap2Show等按钮控制图像采集卡的相应工作。左边的显示窗口为视频原图显示窗口,当“打开按钮按下时,显示与图像采集卡相连的摄像头所采集到的视频图像,亮度、对比度、色度、饱和度分别显示到默认值。右边的显示窗口为图像处理窗口,当“锐化”、“中值滤波”、“分割”按钮按下时,将此时摄像头所抓拍的照片处理,然后以BMP的格式保存到c盘根目录下,并在抓图窗口中显示出来,便于后续的处理。图像采集的前面板如图4。