纬斜检测中普通图像采集卡在LabVIEW下的应用
在LabVIEW中实现数据采集
Easy VIs Intermediate VIs Advanced VIs Utility VIs
Easy Analog Input VIs
这是LabVIEW提供的一组标准的、简单易用的 采集 VI.
:从指定通道获得一个样本.
:从通道组获得一个样本,这些样本返回到一个样本数组.
:由一个通道得到一个波形,这些样本返回到一个waveform 数组.
在LabVIEW中实现数据采集
数据采集系统的基本结构
数据采集卡
多 路 开 关
放 大 器
采 样 / 保 持 器
A D 转 换 器
数据采集卡
数据采集卡
多路开关:将各路信号轮流切换到放大器的输 入端,实现多参数多路信号的分时采集. 放大器:将前一级多路开关切换进入的待采集 信号放大(或衰减)至采样环节的量程范围内. 采样/保持器:取出待测信号在某一瞬时的值, 并在A/D转换过程中保持信号不变. A/D转换器:将输入的模拟量转化为数字量输出, 并完成信号幅值的量化.
8 differential 12bits 200kS/s guaranteed Bipolar only 512 samples
Analog Output Number of channels Resolution Range
2 16bits +-10V
2 12bits +-10V
BNC2120
AI Read—从被AI Config分配的缓冲读取数据。 它能够控制由缓冲读取的点数,读取数据在缓 冲中的位置,以及是否返回二进制数或标度的 电压数。它的输出是一个2维数组,其中每一 列数据对应于通道列表中的一个通道.
数据采集卡如何在Labview下使用)
如何在labview下使用研华板卡?(适用于所有 ISA 和PCI 系列模拟量和数字量采集卡)答:研华所有das卡都可以在labview下使用。
Labview驱动是建立在32bitDLL驱动基础之上的,见下图。
所以要安装labview驱动先要安装32bitDLL驱动。
包括devicemanager和对应板卡的DLL 驱动,然后再安装对应的labview驱动。
具体步骤如下:2.3.1.1 安装Device Manager和32bitDLL驱动注意:测试板卡和使用研华驱动编程必须首先安装安装Device Manager和32bitDLL 驱动。
第一步:将启动光盘插入光驱;第二步:安装执行程序将会自动启动安装,这时您会看到下面的安装界面:图2-1注意:如果您的计算机没有启用自动安装,可在光盘文件中点击autorun.exe文件启动安装程第三步: 点击CONTINUE,出现下图界面(见图2-2)首先安装Device Manager。
也可以在光盘中执行\tools\DevMgr.exe直接安装。
图2-2第四步:点击IndividualDriver,然后选择您所安装的板卡的类型和型号,然后按照提示就可一步一步完成驱动程序的安装。
图2-32.3.1.4 labview驱动程序安装使用说明研华提供labview驱动程序。
注意:安装完前面步骤的Device Manager和32bitDLL 驱动后labview驱动程序才可以正常工作。
光盘自动运行点击Installation再点击Advance Options 出现以下界面(见图2-6)。
点击:LavView Drivers来安装labview驱动程序和labview驱动手册和示例程序。
图2-6安装完后labview驱动帮助手册快捷方式为:开始/ 程序/ Advantech Automation/LabView/XXXX.chm。
默认安装下也可以在C:\Program Files\National Instruments\LabVIEW 7.0\help\Advantech 中直接打开labview驱动帮助手册。
使用LabVIEW进行数据采集和处理
使用LabVIEW进行数据采集和处理数据采集和处理在科学研究和工程应用中具有重要的作用。
为了高效地进行数据采集和处理,我们可以使用LabVIEW软件来完成这一任务。
LabVIEW是一款强大的图形化编程环境,能够方便地进行数据采集和处理,并提供了丰富的功能和工具来满足不同的需求。
一、LabVIEW简介LabVIEW是由美国国家仪器公司(National Instruments)开发的一款图形化编程环境。
通过拖拽和连接图标,我们可以构建出一个完整的数据采集和处理系统。
LabVIEW提供了可视化的编程界面,使得数据采集和处理变得简单直观。
同时,LabVIEW还支持多种硬件设备的接口,例如传感器、仪器设备等,能够实现与这些设备的连接和数据交互。
二、LabVIEW的数据采集功能1. 数据采集设备的接口LabVIEW支持多种数据采集设备的接口,如模拟输入模块、数字输入输出模块等。
通过这些接口,我们可以方便地连接和配置不同的采集设备,并进行数据的获取。
2. 数据采集参数的设置在LabVIEW中,我们可以轻松地设置数据采集的参数,比如采样率、采集通道数等。
通过这些参数的设置,我们可以灵活地对数据采集进行控制,以满足不同需求。
3. 实时数据采集LabVIEW支持实时数据采集,可以实时获取数据并进行处理。
这对于一些需要即时反馈的应用场景非常重要,比如实验数据采集、实时监测等。
三、LabVIEW的数据处理功能1. 数据预处理LabVIEW提供了丰富的数据预处理工具,如滤波、平滑、去噪等。
这些功能能够对原始数据进行处理,去除噪声和干扰,提高数据质量。
2. 数据分析与算法LabVIEW支持多种数据分析与算法,如统计分析、曲线拟合、傅里叶变换等。
通过这些功能,我们可以对数据进行深入的分析和处理,提取其中的有价值信息。
3. 可视化显示LabVIEW提供了强大的可视化显示功能,可以将数据以图表、曲线等形式展示出来。
这样我们可以直观地观察数据的变化趋势和规律,进一步理解数据的含义。
使用LabVIEW采集视频图像
使用LabVIEW采集视频图像LabVIEW是一款功能强大的图形化编程软件,它被广泛应用于工程领域中进行数据采集、图像处理和控制系统设计等。
在LabVIEW中,可以利用相机模块进行视频图像的采集。
下面将介绍如何使用LabVIEW进行视频图像采集。
下面是一个基本的视频图像采集步骤:1. 打开相机:使用"IMAQdx Open Camera"函数打开相机设备,此函数需要指定相机设备名称或索引号。
2. 获取图像格式:使用"IMAQdx Enumerate Video Modes"函数获取相机支持的视频格式列表,并选择一个适合的格式。
3. 设置视频格式:使用"IMAQdx Set Video Mode"函数设置视频格式,将相机设为所需的分辨率、帧率和像素格式等。
4. 开始采集图像:使用"IMAQdx Start Acquisition"函数开始图像采集。
5. 获取图像:使用"IMAQdx Grab"函数获取图像数据。
6. 图像显示:可以使用"IMAQ Display Image"函数在LabVIEW界面上显示图像,或使用其他图像处理函数对图像进行进一步处理。
7. 结束采集:使用"IMAQdx Stop Acquisition"函数停止图像采集。
8. 关闭相机:使用"IMAQdx Close Camera"函数关闭相机设备。
此外,还可以通过使用循环结构,使图像采集和显示等操作连续进行,实时显示视频图像。
例如,可以使用While循环,将图像采集和显示的过程放在循环中,通过设置退出条件来控制图像采集的时机。
在LabVIEW界面中,可以修改相机采集参数,如分辨率、帧率等,也可以添加其他的图像处理算法来实现更丰富的功能,如边缘检测、目标追踪等。
综上所述,使用LabVIEW进行视频图像采集是一项相对简单且灵活的操作。
LabVIEW数据采集与处理利用LabVIEW实现高效数据处理
LabVIEW数据采集与处理利用LabVIEW实现高效数据处理LabVIEW数据采集与处理LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一款图形化编程环境,可广泛应用于各种控制、测量和测试领域。
在实验室和工业自动化系统中,数据采集和处理是其中重要的环节之一。
本文将介绍如何利用LabVIEW实现高效的数据采集与处理。
一、数据采集LabVIEW提供了丰富的数据采集工具和函数,使得数据采集过程变得简单和高效。
以下是一个基本的LabVIEW数据采集流程:1. 硬件连接:将传感器、仪器或其他采集设备连接到计算机。
LabVIEW支持各种硬件接口,如PCIe、USB等。
2. 创建VI(Virtual Instrument):在LabVIEW中创建一个VI,即虚拟仪器。
VI由一组图形化程序组成,可以自定义界面和功能。
3. 配置数据采集设备:在VI中使用LabVIEW提供的硬件配置工具,选择合适的采集设备和参数,如采样率、通道数等。
4. 编程采集逻辑:使用LabVIEW的图形化编程语言G语言,编写数据采集逻辑。
可以通过拖拽函数块、连接线等方式完成。
5. 运行VI:运行VI,开始进行数据采集。
LabVIEW将实时地从采集设备读取数据,并通过显示面板或输出文件进行展示。
通过以上步骤,我们可以完成数据的实时采集。
接下来,需要对采集到的数据进行处理和分析。
二、数据处理LabVIEW提供了强大的数据处理功能,可以进行数学运算、滤波、傅里叶变换等操作。
以下是一些常用的数据处理方法:1. 基本运算:LabVIEW提供了丰富的数学函数和运算符,可以进行加减乘除、幂运算、取模、比较等操作。
通过这些操作,我们可以对采集到的数据进行基本的数值分析。
2. 滤波处理:在许多应用中,由于噪声和干扰的存在,需要对数据进行滤波处理。
LabVIEW提供了各种滤波函数和工具,如低通滤波、高通滤波、带通滤波等。
数据采集卡在LabVIEW中的驱动方法
第25卷第3期 计算机应用与软件Vol 125No .32008年3月 Computer App licati ons and Soft w are Mar .2008收稿日期:2007-01-31。
戴新,讲师,主研领域:计算机辅助测试,虚拟仪器技术,仪器仪表技术。
数据采集卡在LabV IE W 中的驱动方法戴 新(广州大学信息与机电工程学院 广东广州510006)摘 要 Lab V I E W 目前已成为虚拟仪器软件的重要代表,但是在Lab V I E W 中不能直接使用非N I 公司的数据采集卡,必须自行编写驱动程序。
介绍了在Lab V I E W 中驱动普通数据采集卡的几种方法,包括直接端口读写法、利用代码接口节点C I N (Code I nteface Node )的方法和利用CLF (Call L ibrary Functi on )节点调用动态链接库的方法,并比较了三种方法的应用特点。
实践证明,Lab V I E W 软件平台具有很好的开放性,可以实现对普通数据采集卡的编程。
关键词 虚拟仪器 Lab V I E W C I N 节点 CLF 节点 动态链接库THE D R I V I NG M ETHOD S O F DATA ACQU I S I T IO N BOARD I N LABV I E WDai Xin(School of Infor m ation Technology and E lectro m echanical Engineering,Guangzhou U niversity,Guangzhou 510006,Guangdong,China )Abstract Lab V I E W is p laying a more and more i m portant r ole in virtual instru ment .M any data acquisiti on boards fr om Non 2N I Company cannot be used directly in Lab V I E W.D ifferent methods for driving the common data acquisiti on board by I n Port .vi &Out Port .vi,Code I nter 2face Node (C I N )or Call L ibrary Functi on (CLF )node in Lab V I E W are intr oduced .The main p r ocedures of the three methods are p resented,and the app licati on characteristics of these methods are compared .It is p r oved that using external code combined with Lab V I E W can reduce the hard ware cost and enhance the p r ogra m efficiency .Keywords V irtual instru ment Lab V I E W C I N CLF Dynam ic link library0 引 言随着计算机技术的发展,许多原来需要很多仪器设备连接起来的复杂系统才能实现的功能可以用软件代替,虚拟仪器就是充分利用计算机资源,使得测试仪器由传统的硬件模块向软件包的形式过渡。
基于LabVIEW平台普通图像采集卡的应用
The a p ia i n o he c mm o m a e a q iii n c r p lc to f t o n i g c u sto a d b s d o La a e n bⅧ W
ZHAO —s u n L Li h a g , IMe
维普资讯
第 2 卷 第 2期 2
2 o 年 08 6月
山
东
轻。工
业
学
院
学
报
V0 . 2 No. 12 2
J U NA O S A D N I T O R L F H N o G 兀腼
0 UG ' 1D S R F HI N U r Y
meh d te i g c u st n c r a e u e ul t o h ma e a q iii a d C b s d f ly,d v lp n i a u h r a d ma — c ie o n e eo me tt me c n b c t s o tn n ma h n e i tra e C e b a t e y te i tra e e i ro a VI W . ne c a b u i d b h n ef t fL b E f n e i f c d o
软件编程平 台, 目前最新版本 为 8 5 .。图形化的表 示方式 是 比文 本 代码 更 为 自然 的设 计 表 示 法 , 这 在
个平 台上 , 户通 过 定 义 和 连 接代 表各 种 功 能 模 块 用
Jn . u e
20 O8
文 章 编 号 :04—48 (080 10 20 20 )2—07 —0 03 3
பைடு நூலகம்
基 于 L b I W 平 台 普 通 图 像 采 集 卡 的 应 用 aV E
使用LabVIEW进行光学测量和像处理
使用LabVIEW进行光学测量和像处理使用LabVIEW进行光学测量和图像处理近年来,光学测量和图像处理在各个领域中变得越来越重要。
无论是在科学研究领域还是在工业应用中,我们都需要准确地测量光学现象并对图像进行处理。
而LabVIEW作为一个功能强大的工程系统设计软件,为我们提供了便捷的开发环境,使得光学测量和图像处理变得更加高效和可靠。
一、光学测量光学测量是通过对光学信号的测量和分析来获取物体的相关信息的过程。
使用LabVIEW进行光学测量可以方便地搭建实验平台和处理采集的数据。
首先,我们可以通过LabVIEW中的图形化编程界面来搭建光学测量系统的硬件设备连接和控制。
例如,我们可以使用光源模块、光学器件模块和光学传感器模块等进行快速的硬件配置和连接。
接下来,我们可以使用LabVIEW的数据采集模块来获取光学信号的数据。
LabVIEW支持各种数据采集卡和传感器的接口,可以方便地获取不同类型的光学信号。
而且,LabVIEW提供了丰富的信号处理函数库,可以帮助我们对采集到的数据进行滤波、谱分析和傅里叶变换等处理操作。
这些功能的使用可以大大提高光学测量的精度和准确性。
二、图像处理在光学测量中,图像处理是一个十分重要的环节。
通过对采集到的图像进行处理,我们可以提取出图像中的有用信息,并进行进一步的分析和判别。
LabVIEW提供了丰富的图像处理函数库,可以满足我们的各种需求。
首先,我们可以将采集到的图像导入到LabVIEW中,并进行预处理。
LabVIEW提供了图像滤波、边缘检测和图像增强等功能,可以帮助我们去除图像中的噪声和干扰,提高图像的质量。
同时,LabVIEW还提供了图像压缩和格式转换等功能,方便我们对图像进行存储和传输。
其次,我们可以利用LabVIEW的图像处理算法来提取特定的信息。
比如,我们可以使用图像分割算法来提取图像中的目标物体,并进行测量和识别。
同时,LabVIEW还支持图像特征提取和模式识别等高级图像处理操作,可以帮助我们对复杂的图像进行分析和处理。
数据采集卡使用方法以及labview参数设定
实验报告一、实验过程:1、插入usb2、检测驱动是否安装。
3、进入检测界面:4、将1号端口以及3号端口的导线短接5、将三根线短接:6、测试信号:将1号线与3号线短接并连接信号发生器的正极(红线),二号线连接信号发生器的负极(黑线)。
7、打开labview,打开实例:打开例程,并修改:二、实验数据采集1、正弦信号(1)、在截图左侧的波形图为FFT 频谱图,在频谱中可以看到有直流分量,这有可能真的由直流分量,也有可能是频率分辨率,还有与加窗有关。
例如:1)、2.5Hz ,频率分辨率为1Hz 。
2)、频率分辨率为0.5Hz 。
3)、频率分辨率1Hz ,加汉宁窗。
图非实测得到,为仿真得到。
FFT 频谱FFT 功率谱当时看时域图中,确实由直流分量。
但一定不为1。
另外这还与信号干扰有关,但这个影响在时域图可见,可认为微乎其微。
(2)、在图中可以看见频率为1,这与单频检测的值相近 (3)、因为由直流分量的存在,单频检测得到的2.74可认为与真实幅度十分想近。
(4)、因为使用的是fft 频谱组件,所以幅值显示的是真实波形幅度的有效值,且显示的是单边谱。
而图中右侧显示的fft 功率谱图,其值应为双边谱的平方,然后再*2(变为单边谱)。
存在误差的原因主要可能是取样点数太少。
2、三角波(1)、频率分辨率太小,有图可见第一阶频率应在1.1~1.2。
FFT 频谱 FFT 功率谱将FFT 频谱图取log该图由软件仿真得到。
一方面,单频检测(在低频状态下)与FFt频率图巨大误差的原因是有算法造成的。
1、频率太低。
2、采样点数太少。
提高采样点数:以1000个采样点数,提高信号频率:另一方面,单频检测的错误,在仔细查看了我们组的程序图,问题可能在于在于没有把信号分解出来做单频检测。
造成引入了干扰。
但这个影响很小。
3、方波信号频率为1.2HZ,单品检测为1.90HZ仿真得到与实测结果相似。
三、实验结论:1、 单频测试,同样的取样点数,高频信号更准确。
Labview实现图像采集
• 拍摄到的图片保存到添加的保存路径
面板显示程序已经运行的时间
采集时间控制
• 在前面板添加数值输入控件,设置时间 • 用一个比较设置控制条件,比较关系与原来的控制循环停
止条件的关系为“或”
• 运行结果: 当程序运行时间大于设置时间时 循环停止
保存图像
保存图像
• IMAQ Write BMP File2 添加方式和输入输出端口 作用如图
Labview实现图像采集
Table of Contents
1. Labview范例实现图像采集 2. 添加功能:时间控制和图像保存 3. 使用CCD的Labview程序实现CCD的图像采集 4. Conclusion
Labview范例实现图像采集
• 软件要求:
• bview • 2.VAS(Vision Acquisition Softw像
保存图像
• 基路径:即文件保存的位置(前面板添加)
保存图像
• 名称或相对路径,即保存图片的名称 • 所保存图片名称有两部分组成:编号和后缀 • 两部分通过“连接字符串”连接 • 其中编号由循环进行的次数控制,后缀为字符串常量
• 运行结果: • 当camera为CCD和电脑摄像头时都可以实现
1.查找范例
2.程序搜索
3.打开grab程序
4.运行程序
• 选择相机运行程序 • 相机可以是电脑自带摄像头或者USB接入的CCD
添加功能:时间控制和图像保存
采集时间控制
采集时间控制
• 添加已经用时间:后面板右击-定时-已用时间 • 各接口功能如图:
采集时间控制
• "已用时间(s)"输出端口可以输出程序运行时间 • 连接一个数值显示控件(前面板添加),可在前
利用LabVIEW进行图像采集与处理
10.2 利用LabVIEW进行图像采集与处理利用LabVIEW进行图像处理是一个非常重要的应用。
在许多行业中采用图像的采集和识别来进行判断、控制,使操作更加精确,具有可信度、人性化、智能化。
本节将讲解利用LabVIEW进行图像采集和处理的实例。
10.2.1 图像处理介绍图像处理也可以称作视觉处理。
LabVIEW提供了多种图像处理的方法。
其中NI公司的视觉采集软件提供的驱动和函数,既能够从数千种连接到 NI 帧接收器上的不同相机上采集图像,也能够从连接在PC、PXI系统或笔记本计算机上标准端口的IEEE 1394和千兆位以太网视觉相机采集图像。
LabVIEW中的视觉开发模块作为强大的机器视觉处理库,配有各类函数,其中包括:边缘检测、颗粒分析、光学字符识别和验证、一维和二维代码支持、几何与模式匹配、颜色工具。
该模块可与NI公司的所有软件、C++、Microsoft Visual Basic、Microsoft .NET 相互调用,为用户提供了相当便利的操作。
用户可通过视觉开发模块的同步功能,实现与运动或数据采集测量的同步。
NI公司提供的图像处理软件包Vision 8.5.1 Acquisition Software ,是专门为LabVIEW 8.5服务的。
它可以在LabVIEW 8.5中完成各种关于图像处理、视觉运行的控制。
10.2.2 实例内容说明本实例主要完成通过USB摄像头采集图像,并经过一些运算对图像进行数据分析。
在实例中用采集到的图片作样本,让系统认识一个像素,然后开始自动查找图像中的相同像素,查找时还要对图片进行翻转,以全面找到相同的像素,最后再标注出这些点的中心位置和点数。
10.2.3 Vision安装与介绍本例主要通过Vision 8.5.1 Acquisition Software软件包来实现。
Vision 8. 5.1 Acquisition Software软件包是一种专门的图像处理软件,需要单独安装。
LabVIEW在无损检测和材料分析中的应用
LabVIEW在无损检测和材料分析中的应用无损检测(Nondestructive Testing, NDT)技术被广泛应用于工业领域,以检测和评估材料和结构的完整性和性能。
LabVIEW作为一种强大的测量和控制软件,为无损检测和材料分析提供了许多独特的应用和优势。
本文将介绍LabVIEW在无损检测和材料分析中的常见应用,并探讨其所带来的益处和潜在挑战。
一、无损检测技术简介无损检测技术是一种可以在不破坏被检测物体的情况下,通过对其进行各种测试和分析来获取信息的方法。
常见的无损检测技术包括超声波检测、磁粉检测、视觉检测和热红外检测等。
这些技术可以应用于工业、航空航天、汽车、建筑和医疗等领域,用于检测缺陷、裂纹、气泡、疲劳和结构完整性等问题。
二、LabVIEW在无损检测中的应用1. 超声波检测超声波检测是最常用的无损检测技术之一。
LabVIEW可以与超声波传感器和数据采集设备配合使用,实现对被测物体的超声波信号获取和信号处理。
通过分析超声波的传播时间、幅度和频率等参数,可以检测出缺陷的位置、大小和类型。
2. 磁粉检测磁粉检测是一种利用铁磁性材料在磁场中的磁化特性来检测缺陷的方法。
LabVIEW可以结合磁场控制器和传感器,实现对磁粉检测设备的控制和数据采集。
通过对检测信号的处理和分析,可以确定被检测物体中的裂纹、气泡等缺陷。
3. 视觉检测LabVIEW提供了强大的图像处理和分析功能,可以应用于视觉检测领域。
通过与摄像头或其他图像采集设备的连接,可以实时获取图像数据,并进行图像处理和缺陷检测。
LabVIEW的图像处理工具箱提供了各种强大的图像处理算法和函数,可以实现对图像中的缺陷、裂纹和异物等进行检测和分析。
4. 热红外检测热红外检测技术是利用物体辐射的红外辐射能量来检测缺陷和热分布的方法。
LabVIEW可以与红外热像仪配合使用,实现对被检测物体的红外图像获取和数据分析。
通过对热红外图像的处理和分析,可以快速准确地检测出物体表面的热分布和隐含的缺陷。
基于LabVIEW的普通数据采集卡驱动研究
基于LabVIEW的普通数据采集卡驱动研究作者:武剑,李巴津来源:《现代电子技术》2009年第12期摘要:针对功能强大,应用广泛的虚拟仪器开发软件LabVIEW只能直接支持NI公司的数据采集卡,而不能直接使用普通数据采集卡的问题。
重点研究在LabVIEW平台下驱动普通数据采集卡的重要方法即调用动态链接库,并结合具体实例介绍了在LabVIEW中调用动态链接库的关键技术及步骤,实现了LabVIEW与普通数据采集卡的结合。
实际证明,采用这种方法省去了复杂的语言编程,缩短了软件的开发时间,节约了系统开发成本,同时也增加了应用的灵活性。
关键词:LabVIEW;动态链接库;虚拟仪器;数据采集中图分类号:TP399文献标识码:A文章编号:1004-373X(2009)12-149-03Research on Driver of General Data Acquisition Card Based on LabVIEWWU Jian,LI Bajin(College of Information Engineering,Inner Mongolia University ofTechnology,Hohhot,010051,China)Abstract:Facing the problem that virtual instrumentation development software such as LabVIEW can only support its company′s card and can not support other company′s DAQ card,an important method of using an ordinary DAQ card in virtual instrumentation development software which is calling dynamic link library functions is studied.And from the examples,the key process and procedure of calling dynamic link library functions in LabVIEW is presented.It realizes the combination of LabVIEW and ordinary DAQ card.It proves that this method can avoid the complicated computer program,shorten software-developing time,save cost and increase the application agility.Keywords:LabVIEW;dynamic link library;virtual instrument;data acquisition0 引言虚拟仪器技术是20世纪90年代发展起来的一种新技术,融计算机和总线技术、微电子技术、测量技术于一身,它是对传统仪器的重大突破,是计算机技术与仪器技术相结合的产物。
基于LabVIEW平台普通图像采集卡的应用_赵立双
收稿日期: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 文献标识码:AThe application of the common image acquisition card based on LabVIEWZHAO 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 )是实验室虚拟仪器开发平台的简称。
LabVIEW下使用普通数据采集卡方法研究
long APIENTRY ZT8310Start (ZT_PCIBOARD* bs) //启动 模拟量数据采集
long APIENTRY ZT8310AI (ZT_PCIBOARD* bs) //对某 一通道模拟量数据采集
2 基于 DLL 的普通数据采集卡的驱动
2.1 动态链接库概述 动态链接是一种应用程序在运行时与库文件连接起来的技 术。动态链接库(DLL)是一个可执行模块,它不可以直接运行,只 是提供一群函数供 Windows 应用程序或其它的动态链 接库调用,它是在应用程序运行时被装入和链接的,而不是 把库代码复制到应用程序中去,只是在程序中记录了函数的入 口点和接口。动态链接库独立于编程语言,因此 LabVIEW 可以 调用用大多数语言(如 Visual C++,C++ Builder 等)编写生成的 动态链接库。 链接应用程序到 DLL 包括两种方法:隐式链接(link explic- ity)和显式链接(link implicity)。 显式链接有时也称为动态加载。使用动态加载的应用程序 必须在代码中明确的加载所使用的 DLL,在使用完毕后,应用程 序必须卸载所使用的 DLL。在 LabVIEW 只能使用显式链接的方 法来链接 DLL,因此在调用 DLL 中函数时,必须知道以下 4 个 信息:1、函数返回的数据类型;2、函数调用的方式;3、函数的参 数及类型;4、DLL 库文件的位置等。 2.2 实现数据采集的 DLL 的建立 要在 LabVIEW 平台下调用 DLL 来驱动普通数据采集卡, 那么就应首先为普通数据采集卡编写 DLL,一般选择在 Visual C++6.0 环境中建立 Win32 DLL,需要特别注意的是在编写 DLL 的时候,为了在 LabVIEW 使用 DLL 的函数,需将 DLL 中的一些 函数作为出口函数。在函数说明前加上宏命令 _declspec(dllex- port),若无此宏命令,则为 DLL 的内部函数,只能内部使用。
用Labview实现图像采集
用Labview实现图像采集一、程序功能:1.通过选择相机实现电脑摄像头或CCD连续图像采集。
2.控制图像采集时间。
3.显示图像采集速率和程序运行时间。
4.给采集到的图像命名并保存到特定的文件夹。
二、程序介绍:1.前面板(控制面板)要求:实现连续图像采集所需要的软件条件:1.安装VAS(Vision Acquisition Software)2.如果要实现CCD图像采集,需安装CCD的驱动程序操作说明:1.选择相机名称2.设置采集时间3.运行VI相机名字:通过下拉菜单选择相机,包括电脑摄像头和USB接口的CCD设备采集速率。
采集速率:实时显示采集图像的速率。
缓冲数:实时显示从程序运行开始采集图像的数目。
设置采集时间:根据需求设置采集时间。
默认值为0,只采一幅图像。
采集进行时间:程序已经运行的时间。
设置保存路径:指定图片的保存位置。
如果不设置,只进行实时采集不保存图像。
Stop:采集停止。
图像:显示图像信息。
左侧为兴趣区域选择工具,作用是使研究区域更加醒目,便于观察。
从上到下依次是:实现图形的放大显示鼠标位置,不进行其他操作拖动图片选择兴趣区为一点选择兴趣区为矩形包围的区域,两边为水平和竖直选择兴趣区为矩形包围的区域,矩形方向任意选择兴趣区为折线选择兴趣区为折线区域(所画折线自动闭合)选择兴趣区为曲线选择兴趣区为曲线保卫的区域选择兴趣区为椭圆选择兴趣区为圆环以折线兴趣区域为例,如图2.后面板(程序框图)1. 循环,将采集、保存、计时等功能循环进行。
在循环中,获取最新的图像并输出。
2.循环的初始条件设置,选择相机,并将相机作为循环的输入。
和前面版里的相机名字相对应,作用是选择相机。
打开一个照相机,查询摄像机功能,装载的照相机的配置文件,并创建一个唯一的参考到摄像机。
Camera Control Mode照相机控制模式,在控制器模式打开相机,配置和获取图像数据。
Session In指定要打开摄像机的名称,默认值是CAM0。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
纬斜检测中普通图像采集卡在LabVIEW下的应用张峰东华大学机械工程学院(上海200051)Email: braveagle@摘 要:利用图像处理的方法对织物纬斜进行检测,与传统的光电检测方法相比具有很大的优越性。
同时,美国国家仪器公司的虚拟仪器技术和图像处理工具包进行图像处理有强大的功能。
美国国家仪器公司在推出LabVIEW语言的同时,也推出了一系列的数据采集卡,但实际应用中往往会用到第三方厂家生产的数据采集卡,在这种情况下就需要使用LabVIEW 提供的外部程序接口。
本文以SDK2000 图像采集卡为例,介绍具体的实现过程。
关键词:纬斜检测 虚拟仪器 LabVIEW 动态链接库1 引言目前在国内外,纬斜的检测方法主要以光电检测为主。
系统由光电传感器、前置放大电路、微处理器、调节器和执行机构组成[1]。
一般的布幅采用4对或6对光电传感器,宽的布幅采用8对光电传感器,布幅越宽,传感器的数目越多,但是传感器的数目增加会大大增加系统的复杂性。
无论传感器数目的多少都是对纬纱上有限点的检测,采用图像处理的方法就可以对纬纱上尽可能多的点进行检测,从而得到更详实的数据。
[2]LabVIEW是基于图形化编程语言G的开发环境[3],包括丰富的用于数据采集,分析,表达和数据存储的库函数,含有传统的编程开发工具,可以设置断点,可以让程序动画式运行以观察程序的运行细节,还可以单步运行,这些均使程序的调试和开发更为简化。
其中的图像处理工具包(IMAQ)具有强大的图像处理功能,在它的基础上开发的虚拟仪器具有快捷、高效的特点,但是必须先安装NI公司配套的图像采集卡,比较典型的有IMAQ 1408、IMAQ 1424等。
LabVIEW通过自带的仪器驱动程序与配套的图像采集卡进行通讯,仪器驱动程序是控制可编程仪器的VI库。
LabVIEW仪器驱动程序可以使用户不必学习各种仪器的低级编程协议,从而简化了仪器的控制,缩短了测试开发时间。
然而LabVIEW配套的图像采集卡成本较高,如果采用一般的图像采集卡,就必须自己配制驱动程序。
本文以天敏公司的SDK2000 图像采集卡为例,介绍具体的实现过程。
2 图像采集卡的驱动在LabVIEW中可以有两种方法调用外部函数,一种称为CIN(Code Interface Nodes),但必须事先安装AAP(Advanced Analysis Package),此软件包必须另行购买,对于未购买此软件包的用户,则只能采用另外一种方法,调用DLL(Dynamic Link Library),也就所谓的动态连接库。
首先,在Block Diagram中调用Advanced模块中的Call Library Function(CLF)函数(如图1所示),右键点击此函数,选中“Configure…”选项后,将弹出配制对话框(如图2所示)。
在此对话框中,第一个参数Library Name or Path,填入需要调用的动态连接库的名字。
第二个参数Function Name,是连接库中要调用的函数名称。
第三个参数Calling Convernations 是函数中参数传递方式的选择,选择默认值就可以了。
接下来的4个选项Parameter,Type,Data Type,Pass分别是参数名称、参数类型、数据类型转换、参数传递方式。
其中需要注意的是Data Type(数据类型转换)选项,在不同的编译平台下,数据类型的定义名称是不一样的,为了将数据类型一一对应,在LabVIEW中必须将数据类型名称定义进行转换。
最后一个需要注意的参数选项是线程安全选择,如果编译生成的DLL是线程安全的(即能同时为其它程序调用)则选择Reentrant选项,否则选择Run In UI Thread。
[4]3 软件编程 图1 Call Library Function 函数图2 DLL配置对话框SDK2000图像采集卡提供的Visual C++ IDE程序开发包包含了外部程序调用的共享函数库,但是有些函数不能直接用CLF节点进行调用。
主要有两个原因:库函数的参数类型与LabVIEW不兼容;图形化语言对于一些底层化操作不易实现。
SDK2000图像采集卡提供的库函数含有LabVIEW 不支持的数据类型,并且很多函数涉及到一些底层操作,如文件读取和内存管理。
为了正确调用函数并返回有效数据,解决这两个问题是关键。
SDK2000 提供的共享函数库使用了很多LabVIEW 不支持的参数类型,如RECT、VIDEOSTREAMINFO 等。
为了正确调用这些函数,必须用CIN 节点或者重写函数库的方法对这些函数进行重新封装。
同时,由于SDK2000提供的函数众多,为了在LabVIEW中调用方便,可以把许多函数的功能通过重写DLL在一个函数中实现。
接下来,需要进行DLL的重写工作,编译环境使用Visual C++ 6.0 Enterprise Edition。
这里仅以初始化函数为例,说明重写函数库的编写过程,其中用到了SDK2000共享函数库中的多个共享函数,如DSStream_EnumVideoCaptureDev、DSStream_IsConnected、DSStream_ConnectDevice等。
3.1 编写DLL链接库在VC 中使用MFC Application(dll)建立一个名字为Initialize的工程,然后在Initialize.cpp中键入以下代码:void CInitializeApp::Initialize(){ HRESULT hr;id,iCardNumbe;intbIsConnected = TRUE;BOOLcharszDeviceName[MAX_DEVICE_NUM][MAX_DEVICE_NAME_LEN];charsz10Moons[] = {"10Moons"};const//寻找可用的卡,剔除非10Moons卡hr = DSStream_EnumVideoCaptureDev(szDeviceName, &iCardNumber);if(FAILED(hr)){ AfxMessageBox("枚举失败", MB_OK, 0);return;}id<iCardNumber; id++)for(id=0;{ szDeviceName[id][7] = '\0';hr = DSStream_IsConnected(id, &bIsConnected);if(FAILED(hr)){ bIsConnected = TRUE;break;}if(_stricmp(szDeviceName[id], sz10Moons) != 0){ bIsConnected = TRUE;continue;}if(!bIsConnected)break;}//无可用的卡if(bIsConnected || id>=iCardNumber){ AfxMessageBox("无可用的卡", MB_OK, 0);return;}//连接卡:默认使用 Preview 模式bOverlay = FALSE;BOOLconsthr = DSStream_ConnectDevice(id, bOverlay);if(FAILED(hr)){ AfxMessageBox("连接视频卡失败!", MB_OK, 0);return;}}3.2 编写过程的几点说明:z为了能够使用SDK2000提供的共享函数,必须根据DSStream.DLL 使用说明对VC6.0的环境进行配置:1.将SDK安装目录下的Inc 和 Lib 目录路径分别加入VC++工程设置的“C/C++- Preprocressor – Additional include directories”和“Link – Input –Additional library path”中。
2.将 Lib\DSStream.lib 文件加入工程设置的“Link – General – Object/librarymodule”中。
3.将 Inc\DSStream.h 文件加入工程,并 #include “DSStream.h”。
4.将 Exe\DSStream.dll 文件拷入系统目录或其他系统能找到的目录中。
z为了正确使用LabVIEW 中的数据类型,必须在MySDK2000.cpp 中手工加上#include “extcode.h”的声明。
头文件”extcode.h”中定义了CIN 和外部子程序所用到的基本数据类型和许多函数等,用以解决某些常量和数据类型与系统头文件的冲突。
[5] [6]3.3 在LabVIEW中调用动态链接库配置CLF节点的各项参数(见图2)。
第一个选项为函数库文件名和路径,选择刚才编译的文件Initialize.dll;第二个选项为函数名,选择Initialize;第三项设置返回和传递参数。
4 结论本文在利用图像法检测织物纬斜的研究中遇到了普通图像采集卡在LabVIEW中的应用这个问题,并且通过LabVIEW中的CLF节点和重写SDK2000的共享函数库对这个问题作出了较好的解决。
实践证明通过重写动态链接库的方法,第三方DAQ 设备可以更协调地使用于LabVIEW 开发环境中。
参考文献[1]荆 涛. 染整设备机电一体化[M]. 中国纺织出版社. 1997:204[2]张 峰. 基于图像处理的织物纬斜检测系统研究[J]. 北京: 中国科技论文在线,2005[3]杨乐平,李海涛等. LabVIEW 程序设计与应用[M]. 北京:电子工业出版社,2001:3[4]杨乐平,李海涛等. LabVIEW 高级程序设计[M]. 北京:清华大学出版社,2003:286[5]National Instruments Corporation, LabVIEW User Manual, 1998[6]Using External Code in LabVIEW, National Instruments Corporation, 2001Application of Common image board in LabVIEWduring Weft Detection of FabricsZhang FengMechanical Institute of Donghua University, Shanghai, PRC, 200051AbstractThe method of image processing to detecting fabric bias is more advantageous than the traditional weft-detection method. On the other hand, the kit called IMAQ of National Instrument is powerful on image processing. NI has been developing virtual instrument, at the same time it has serials of image boards. But in the work, other image boards often are used. In this case, the interface node of LabVIEW doesn’t avoid to be used. This paper with familiar SDK2000 image board for an example, introduce how to attain this purpose by rebuilding the dynamic link library.Key Words: bias-weft detection, virtual instrument, LabVIEW, Dynamic Link Library.。