流程管理-研华采集卡驱动程序工作原理及流程说明
- 格式:pdf
- 大小:225.23 KB
- 文档页数:6
基于Labview的研华数据采集卡的安装和使用数据采集卡型号:USB 4704,要求用labview采集研华的采集卡上的数据第一节研华设备管理器DAQNavi SDK安装安装前的准备:要求先安装好labview, 然后再进行以下安装第一步: 安装研华的DAQ设备管理程序DAQNavi SDK包1. 双击""文件,弹出安装对话框,选择第1项“Update and DAQNavi”并点击“Next”:点击“Next”:如左上所示勾选,并点击“Next”:点击“Next”,得如下图所示对话框,表示正在安装,请耐心等待。
耐心等待安装结束。
安装结束后,选择操作系统上的“程序”,在程序列表中应该有“Advantech Automation”选项,点击该选项展开应有“DAQNavi”,如下图所示:单击上图中的“Advantech Nagigator”选项,即可打开研华的设备管理器对话框,如下图所示,在这里,左侧的“Device”栏中列出了本机上连接的所有采集卡,可以对这些卡进行管理和测试,具体如何测试,请参照帮助文档。
第三二步.usb4704采集卡驱动安装1. 双击“进行安装;2. 安装完毕后,将采集卡与PC机相连(将usb数据线一端连上采集卡,另外一端连到计算机的USB口上),系统将自动安装采集卡的驱动,并识别采集卡。
3. 检查采集卡安装成功否首先查看插在PC机上的采集卡上的灯是否呈绿色;其次,打开“DAQNavi”,如下图所示,观察设备列表中是否显示出了“USB-4704”第三步:在研华的设备列表中添加模拟卡(Demo Device)若没有实际的采集卡,可以添加模拟卡进行模拟测试和数据采集编程练习那么如何添加模拟卡呢?如下图所示,点击“Advantech Automation”——〉DAQNavi ——〉Add Demo Device模拟卡添加好后,在“Advantech Navigator”的设备列表中就能看到该卡信息,如下图所示,没有实际采集卡的同学,可以用这张模拟卡进行相关的采集卡测试及编程练习:第四步: 安装Labview Driver经过以上三步,研华的采集卡就安装完毕了,那么如果要用Labview对采集卡编程,实现数据采集,则还需要安装labview针对研华的数据采集卡的驱动。
研华数据采集卡驱动安装问题图1以下是我在学习使用中遇到过的问题以及解决办法。
数据采集卡驱动安装●问题:a)由于设备到手的时候没有附带光盘,而自身电脑也没有光驱,所以去研华官网搜索下载。
b)安装过程中报软件中有广告病毒,这过程重装了好几次该软件,以及电脑的查毒,后查明电脑不知道何时中了病毒,所以有了下面的问题。
c)电脑还原系统还原点后,安装驱动时,软件不能安装。
●解决办法:(一)驱动安装1)去研华官网,根据自己设备型号(我的USB-4704)搜数据采集卡的驱动,根据需要选择下载驱动。
图22)然后找到你的型号,选择技术资料下载,也可以通过其他页面找到资料下载,最终目的是找到图4这页。
图3图43)然后选择驱动,可见有3个选项,型号不同可能选择也不同,我们只需要选择《DAQNavi4 SDK & Driver for Windows》4)在弹出的页面,找到下图中的名字,然后下载驱动。
后面的是下载的主/备地址。
5)还可以根据需要下载如下安装包。
6)下载完毕,解压后,点击安装7)软件开始提取解压中。
8)然后选择Install DAQNavi.1)选择下一步NEXT2)输入用户名和公司,然后下一步3)选择自己的型号的驱动,还有自己所要编辑程序的案例(根据需要),然后下一步继续安装。
4)下一步5)选择完成6)然后插上设备可见,表明已经安装好。
=================================================================(二)软件不能安装解决办法软件不能安装,表明软件之前的卸载不干净,有残留文件。
1)首先去C盘根目录找到如下文件夹(Advantech),删除掉。
2)然后到C盘找到TEMP文件夹3)删掉如下安装包,根据你实际安装过多少个安装包,如果只装了驱动安装包,找到驱动的解压包,删掉就可以。
4)然后Windows+R键,输入regedit,并确定5)然后在下面的搜索关键字advantech,删掉,一般在soft名下,很多需要花点时间删除,千万不要删错。
采集卡采集相机的原理采集卡是一种用于将相机图像数据传输至计算机的设备。
它通过将图像信号从相机发送到计算机,实现图像的采集和处理。
采集卡的原理主要涉及到图像传感器、信号转换和数据传输三个方面,下面将详细介绍。
一、图像传感器图像传感器是相机中最关键的部分,它是将光信号转换为电信号的装置。
常见的图像传感器包括CCD(Charge-Coupled Device)和CMOS(Complementary Metal-Oxide-Semiconductor)两种。
CCD传感器是一种采用电荷耦合方式的图像传感器,它由许多感光单元构成的阵列。
当光线照射到感光单元上时,每个单元会产生对应的电荷。
电荷通过线路传输至感光单元的最后一列,然后再通过ADC(Analog-to-Digital Converter)转换为数字信号。
CCD传感器的优点是感光单元的灵敏度高,能够捕捉到较弱的光信号,图像质量优秀。
但CCD传感器存在制造工艺复杂、功耗高等问题。
CMOS传感器则是一种近年来广泛应用的图像传感器。
与CCD传感器不同,CMOS传感器每个感光单元都带有一对转换电路,可以直接将光信号转换为电信号。
CMOS传感器具有制造工艺简单、功耗低、集成度高等优点。
但相比于CCD传感器,CMOS传感器的灵敏度稍差,图像质量相对较差。
二、信号转换采集卡需要将图像传感器产生的电信号转换为计算机可以处理的数字信号。
这一过程中,信号转换模块起到了关键作用。
信号转换模块通常包括模拟电路和数字电路两个部分。
模拟电路主要负责将图像传感器输出的模拟电信号进行放大、滤波和增益控制等处理,以保证信号质量。
模拟电路通常由放大器、滤波器、变换器等组成,其中放大器用于放大电信号,滤波器用于去除噪声和干扰信号,变换器用于将电信号转换为数字信号。
数字电路主要负责将模拟信号转换为数字信号,并进行编码和压缩。
通常使用ADC(Analog-to-Digital Converter)将模拟信号转换为数字信号,并使用编码器对数字信号进行压缩,减少传输和存储所需的空间。
实验3、基于研华数据采集卡的数据采集系统实验一、实验目的1. 学习研华4716数据采集卡的原理、功能。
2. 掌握研华4716数据采集的接线方法。
3.熟悉组态王开发软件的开发环境和基本的图形化编程方法。
二、实验装置1. 集成采集转换试验箱,2. 组态王软件三、实验任务及要求利用研华USB-4716模块实现对实验箱电压的测试及实时显示,采用组态王软件编制数据采集程序,实现对实验箱电压的采集,并对电压数据进行波形显示及实时数据显示。
数据采集及显示界面参考图1。
图1 基于组态王的数据采集及显示界面四、实验步骤1.硬件连接:按要求接线(连接4716实验箱)。
2.启动实验箱电源按钮,让实验箱处于工作状态。
3.创建新工程:双击桌面组态王快捷方式启动组态王软件,创建一个名为“基于4716的数据采集系统”的新工程,将新工程路径设为桌面,并定为当前工程。
4.创建组态画面:双击工程器管理器中的新工程进入工程浏览器,工程浏览器对话框如图2所示。
在工程浏览器工程目录显示区中,鼠标左键双击“新建”图标,弹出新建画面对话框,新建画面对话框界面如图3所示。
图2 “工程浏览器”对话框图3“新建画面”对话框在图3中“画面名称”处输入新的画面名称,如Test,其它属性目前不用更改。
点击“确定”按钮进入内嵌的组态王画面开发系统。
组态王画面开发系统对话框如图4所示。
在图4组态王开发系统中从“工具箱”中分别选择“实时趋势曲线”和三个“文本”图标,将实时趋势曲线调整到合适的尺寸,将三个文本分别设置成如图5所示。
图4 “画面开发系统”对话框图5 基于研华USR—4716的电压采集系统对话框到此组态画面创建完成,完成时保存全部。
5.定义IO设备:进入工程浏览器,选择左侧大纲项“设备\COM1”,在工程浏览器右侧用鼠标左键双击“新建”图标,运行界面如图6的“设备配置向导”,选择板卡—研华—yanhuaUSB4716—板卡,完成选择后运行“下一步”进入图7界面为外部设备取一个名称,如usb4716,记住逻辑名称不能只是数字。
研华数据采集卡USB4的安装和使用基于Labview的研华数据采集卡的安装和使用数据采集卡型号:USB 4704,要求用labview采集研华的采集卡上的数据第一节研华设备管理器DAQNavi SDK安装安装前的准备:要求先安装好labview, 然后再进行以下安装第一步: 安装研华的DAQ设备管理程序DAQNavi SDK包1. 双击"DAQnavi_SDK_3.2.7.0.exe"文件,弹出安装对话框,选择第1项“Update and DAQNavi”并点击“Next”:点击“Next”:如左上所示勾选,并点击“Next”:点击“Next”,得如下图所示对话框,表示正在安装,请耐心等待。
耐心等待安装结束。
安装结束后,选择操作系统上的“程序”,在程序列表中应该有“Advantech Automation”选项,点击该选项展开应有“DAQNavi”,如下图所示:单击上图中的“Advantech Nagigator”选项,即可打开研华的设备管理器对话框,如下图所示,在这里,左侧的“Device”栏中列出了本机上连接的所有采集卡,可以对这些卡进行管理和测试,具体如何测试,请参照帮助文档。
第三二步.usb4704采集卡驱动安装1. 双击“DAQNavi_USB4702_USB4704_3.1.7.0.exe”进行安装;2. 安装完毕后,将采集卡与PC机相连(将usb数据线一端连上采集卡,另外一端连到计算机的USB口上),系统将自动安装采集卡的驱动,并识别采集卡。
3. 检查采集卡安装成功否首先查看插在PC机上的采集卡上的灯是否呈绿色;其次,打开“DAQNavi”,如下图所示,观察设备列表中是否显示出了“USB-4704”第三步:在研华的设备列表中添加模拟卡(Demo Device)若没有实际的采集卡,可以添加模拟卡进行模拟测试和数据采集编程练习那么如何添加模拟卡呢?如下图所示,点击“Advantech Automation”——〉DAQNavi ——〉Add Demo Device模拟卡添加好后,在“Advantech Navigator”的设备列表中就能看到该卡信息,如下图所示,没有实际采集卡的同学,可以用这张模拟卡进行相关的采集卡测试及编程练习:第四步: 安装Labview Driver经过以上三步,研华的采集卡就安装完毕了,那么如果要用Labview对采集卡编程,实现数据采集,则还需要安装labview针对研华的数据采集卡的驱动。
研华DAQ数据采集卡编程DAQ数据采集卡软件编程-只⽀持⼀个程序来访问设备1、安装软件开发包(SDK)---DAQNAVI_SDK。
2、可识别到数据采集卡⽚。
3、加载C#编程的动态链接库-dll⽂件。
(Automation.BDaq.dll与Automation.BDaq4.dll区别)。
4、编写软件流程。
4.1DI数字量输⼊流程图:描述如下:1)、创建InstantDiCtrl对象。
Automation.BDaq.InstantDiCtrl ind = new Automation.BDaq.InstantDiCtrl();2)、选择获取设备。
ind.SelectedDevice = new DeviceInformation(deviceNumber);3)、读取设备Di信息。
ind.Read(portStart, portCount, values);//从portStart端⼝到portCount端⼝,读取的值存⾄values数组中。
4.2DO数字量输出流程图:描述如下:1)、创建InstantDoCtrl对象。
Automation.BDaq.InstantDoCtrl ind = new Automation.BDaq.InstantDoCtrl();2)、选择获取设备。
ind.SelectedDevice = new DeviceInformation(deviceNumber);3)、操作设备DO信息ind.Write(portStart, portCount, values);//从portStart端⼝到portCount端⼝,写⼊Value的值存⾄设备中。
4)、读取设备DO信息ind.Red(portStart, portCount, values);//从portStart端⼝到portCount端⼝,读取的值存⾄values数组中。
库⽂件:biodaq.dll与bdaqctrl.h---------适⽤于VC++,在头⽂件中加⼊#include "bdaqctrl.h"using namespace Automation::BDaq;Automation.BDaq.dll以及Automation.BDaq4.dll-----适⽤于.NET添加Dll库引⽤。
研华USB4704数据采集(DAQ)卡驱动安装研华数据采集卡驱动安装问题图1以下是我在学习使用中遇到过的问题以及解决办法。
数据采集卡驱动安装●问题:a)由于设备到手的时候没有附带光盘,而自身电脑也没有光驱,所以去研华官网搜索下载。
b)安装过程中报软件中有广告病毒,这过程重装了好几次该软件,以及电脑的查毒,后查明电脑不知道何时中了病毒,所以有了下面的问题。
c)电脑还原系统还原点后,安装驱动时,软件不能安装。
●解决办法:(一)驱动安装1)去研华官网,根据自己设备型号(我的USB-4704)搜数据采集卡的驱动,根据需要选择下载驱动。
图22)然后找到你的型号,选择技术资料下载,也可以通过其他页面找到资料下载,最终目的是找到图4这页。
图3图43)然后选择驱动,可见有3个选项,型号不同可能选择也不同,我们只需要选择《DAQNavi4 SDK & Driver for Windows》4)在弹出的页面,找到下图中的名字,然后下载驱动。
后面的是下载的主/备地址。
5)还可以根据需要下载如下安装包。
6)下载完毕,解压后,点击安装7)软件开始提取解压中。
8)然后选择Install DAQNavi.1)选择下一步NEXT2)输入用户名和公司,然后下一步3)选择自己的型号的驱动,还有自己所要编辑程序的案例(根据需要),然后下一步继续安装。
4)下一步5)选择完成6)然后插上设备可见,表明已经安装好。
====================================== ===========================(二)软件不能安装解决办法软件不能安装,表明软件之前的卸载不干净,有残留文件。
1)首先去C盘根目录找到如下文件夹(Advantech),删除掉。
2)然后到C盘找到TEMP文件夹3)删掉如下安装包,根据你实际安装过多少个安装包,如果只装了驱动安装包,找到驱动的解压包,删掉就可以。
4)然后Windows+R键,输入regedit,并确定5)然后在下面的搜索关键字advantech,删掉,一般在soft名下,很多需要花点时间删除,千万不要删错。
PCI-1710快速安装使用手册PCI-1710快速安装使用手册 (1)第一章产品介绍 (2)1.1 概述 (2)1.1.1 即插即用功能 (2)1.1.2 单端或差分混合的模拟量输入 (2)1.1.3 卡上FIFO(先入先出)存储器 (2)1.1.4 卡上可编程计数器 (2)1.1.5 用于降低噪声的特殊屏蔽电缆 (2)1.1.6 16路数字输入和16路数字输出 (3)1.1.7 短路保护 (3)1.2 特点: (3)1.3 一般特性: (3)第二章安装与测试 (3)2.1 初始检查 (3)2.2 Windows2K/XP/9X下板卡的安装 (4)2.2.1 软件的安装: (6)2.2.2 硬件的安装: (7)2.3 测试 (8)2.3.1 模拟输入功能测试 (8)2.3.2 模拟输出功能测试 (9)2.3.3 数字量输入功能测试 (10)2.3.4 数字量输出功能测试 (11)2.4.5 计数器功能测试 (12)第三章信号连接 (13)3.1 模拟信号输入连接: (15)3.1.1 单端模拟输入连接 (15)3.1.2 差分式模拟输入连接 (15)模拟信号输出连接 (17)触发源连接 (17)3.3.1 内部定时器触发连接 (17)3.3.2 外部触发源连接 (18)第四章例程使用详解 (18)4.1 板卡支持例程列表4.2 常用例子使用说明 (18)4.2.1 ADSOFT/ADTRIG〔软件触发方式例程〕 (18)4.2.2 ADint〔中断方式进展数据采集的例程〕 (19)4.2.3 DIGOUT〔数字量输出〕: (21)4.2.4 COUNTER〔计数程序〕 (23)4.2.5 Digin (数字量输入例程) (24)4.2.6 PULSE(脉冲输出例程) (24)4.2.7 MADint(多通道中断采集例程) (25)第五章遇到问题,如何解决? .................. 错误!未定义书签。
数字网络硬盘录像机用户使用指南(使用前请仔细阅读本手册)使用系统前,请检查下列各项条件:不得安装于高湿度、有灰尘或黑色脏物处。
避免阳光直射和直接受热.高温对产品不利。
避免电击和磁性物质。
避免高温或低温.(推荐温度范围应为 5 °C ~35°C)。
避免将导电物质滴入通风孔。
安装前,关闭系统。
确保系统后留有足够的电缆空间。
不得安装于可对产品造成晃动的地方。
在通风良好处,使用本产品。
收音机、电视或无线电通信设备均可造成对系统的损坏。
不得擅自拆卸系统。
不得在产品之上放置重物。
目录1. 产品介绍与功能 (3)1.1 产品简介 (3)1.2 产品功能特性 (4)1.2.1 主机端(服务器端) (4)1.2.2 IE 远程客户端 (6)2.产品安装 (7)2.1 服务器端与驱动安装 (7)2.2 软件的启动与卸载 (8)3.软件功能介绍 (9)3.1 登录系统 (9)3.2 服务器设置与操作 (10)3.2.1 设置本地用户权限 (12)3.2.2 设置网络用户权限 (13)3.2.3 录象质量设置 (14)3.2.4 报警设置 (15)3.2.5 设置自动工作计划 (18)3.2.6 普通云台设置 (19)3.2.7 录象回放相关 (20)3.2.8 调色方案设置 (21)3.2.9 网络端口参数设置 (22)4. 客户端操作使用说明 (23)1. 产品介绍与功能1.1 产品简介数字网络硬盘录像机以数码方式记录影像,它除了提供了清晰的画面,还能连续重复地录像,避免了模拟录像机频繁更换磁带的缺点。
另外它所具有的远程功能能让您轻松地在远端实施监控。
它是多种现代科技的技术结晶。
随着计算机、网络以及图像处理、传输技术的飞速发展,它必将成为网络视频监控系统发展的趋势。
系统推荐1)硬件系统推荐配置注意:1、建议请使用INTEL的CPU,我公司软件可能在某些AMD平台及其它平台上存在不兼容。
2、主板请使用华硕、技嘉等知名商用主板(之所以选用华硕、技嘉等知名品牌主板,是因为它们技术工艺先进,品质好,稳定性好,兼容性好)。
数据采集卡使用方法
数据采集卡是一种用于采集和记录数据的设备,通常与计算机或控制系统配合使用。
以下是使用数据采集卡的一般步骤:
1. 安装数据采集卡驱动程序:在使用之前,首先需要安装数据采集卡的驱动程序。
驱动程序通常由数据采集卡制造商提供,并可从他们的网站下载。
2. 连接传感器或数据源:将需要采集数据的传感器或数据源连接到数据采集卡上。
这通常通过插入传感器的接口或连接电缆实现。
3. 配置数据采集卡:打开数据采集卡的配置软件,选择采集通道和采集参数。
采集通道可以是模拟通道(用于测量模拟信号)或数字通道(用于接收数字输入信号)。
采集参数包括采样率、分辨率等。
4. 启动数据采集:在配置完成后,可以启动数据采集。
数据采集卡将开始采集传感器或数据源的数据,并将其传输到计算机或控制系统中进行处理或记录。
5. 数据处理和分析:采集到的数据可以通过计算机上的软件进行处理和分析。
这可以包括数据的实时显示、数据过滤、数据转换、统计分析等。
需要注意的是,不同的数据采集卡可能具有不同的配置和使用方法,根据具体的数据采集卡型号和制造商提供的说明书来操作会更加准确和有效。
1. 引言研华公司是台湾和中国大陆工业电脑产品最大的供应厂商,其PC&Web-based数据采集和控制产品更是以优良的性价比获得了众多的客户的青睐。
32位DLL驱动程序是研华为诸如VC,VB,DELPHI,Borland C++,C++ Builder 等高级语言提供的接口,通过这个驱动程序,编程人员可以方便的对硬件进行编程控制。
该驱动程序覆盖了每一款研华的数据采集卡以及MIC-2000、ADAM-4000和ADAM-5000系列模块,应用极为广泛,是编制数据采集程序的基础。
本文是在实际编写动态数据采集程序中经验的积累,对利用32位驱动程序有实用价值。
2. 32位驱动程序概览32位驱动程序主要包括10类函数及其相应的数据结构,这些函数和数据结构在Adsapi 32.lib中实现。
这10类函数分别是:Device Functions设备函数Analog Input Function Group模拟输入函数组Analog Output Function Group模拟输出函数组Digital Input/Output Function Group数字输入/输出函数组Counter Function Group计数器函数组Temperature Measurement Function Group温度测量函数组Alarm Function Group报警函数组Port Function Group端口函数组Communication Function Group通信函数组Event Function Group事件函数组可以把这10类函数分为两个部分:设备函数部分(只包括第一类函数)和操作函数部分(包括第一类函数外的所有函数),设备函数部分负责获取硬件特征和开关硬件。
而操作函数部分则在硬件设备就绪以后,进行具体的采集、通信、输出、报警等工作。
具体工作结束后,调用设备函数关闭设备。
这些函数的调用过程如图1所示。
3. 动态数据采集程序的实现用32位DLL驱动程序实现动态数据采集程序时,传输方式可以有中断传输,DMA传输和软件传输三种方式可选。
软件传输速度最慢,DMA传输和中断传输方式是最常用的触发方式。
这里主要介绍中断传输方式,但DMA传输方式和中断方式在使用32位DLL驱动程序实现时流程基本一样,可以参考。
在各种高级语言下,驱动程序提供的函数形式相同,所以此处只给出驱动程序函数的调用流程,在具体的某种高级语言下,只要按照流程图就能实现动态数据采集。
中断传输流程图如下:ADS_EVT_BUFCHANGE事件,该事件表示内部缓冲区已经半满。
可以将这部分数据传输到用户缓冲区中。
DRV_FAIIntScanStart:开始中断触发方式的A/D转换。
DRV_CheckEvent:检查是否有设定的事件发生。
DRV_FAICheck:检查A/D转换的状态。
在本例中用于检查究竟是内部缓冲区的前半部分满了,还是后半部分满了。
DRV_FAITransfer:将采集的数据从内部缓冲区传输到用户缓冲区。
DRV_FAIStop:结束A/D转换。
DRV_DeviceClse:关闭指定的数据采集板。
4. 动态采集程序涉及到驱动程序中部分概念的分析4.1 使用的缓冲区在驱动程序进行A/D或D/A转换时,有三个相关的概念需要分清楚:采集板上的FIFO,计算机内存中的内部缓冲区和用户缓冲区。
FIFO为采集板卡上自带的使用FIFO缓冲区可以达到更高的采集频率,如PCI-1710使用4K的FIFO缓冲区后,最高采样频率可达到100KHZ。
但是有些型号的采集板不带FIFO缓冲区。
内部缓冲区和用户缓冲区是数据采集程序动态分配给驱动程序使用的两块内存区域。
内部缓冲区主要由驱动程序使用,驱动程序从 板卡FIFO中或寄存器将数据通过中断方式或DMA方式传输到内部缓冲区。
在例程中该BUFFER指针一般用hBuf命名.如果是非循环采集,采样完设定好的数据个数后采集停止,驱动停止往内部缓冲区存放数据。
如果循环采集,内部缓冲区会循环使用,用户需要在BUFFERCHANGE 事件用DRV_FAITransfer及时将数据取走,以免被新到的数据覆盖。
可以放到用户缓冲区中,或者进行存到硬盘的其他数据操作。
用户缓冲区是用户自己用来存放数据的地方,例程中开辟的大小和内部缓冲区一致,这只是示例。
实际应用当中,用户可以根据需要开辟用户缓冲区的大小。
例如开辟一个较大的用户缓冲区,在循环采集中将每次采集的数据依次存放其中。
采集结束后统一处理。
在例程中该BUFFER指针一般用hUserBuf命名,这二者还有一个区别在于,内部缓冲区中存放的是Raw Data(原始数据),用户缓冲区中存放的可以是原始数据也可以是Float data电压值。
通过ptFAITransfer.DataType 参数来确定转换时是原始数据还是电压值。
关于原始数据和电压值的区别后面会有介绍。
中断触发方式的A/D转换中这三种缓冲区的使用如图3所示。
在使用DRV_FAIIntScanStart函数将采样值放到内部缓冲区有两种方式:有FIFO和无FIFO。
没有FIFO时,每完成一次A/D转换就产生一个中断,驱动程序响应中断将这个采样值传到内部缓冲区中。
有FIFO时,采样值先放在FIFO中,当FIFO半满或全满时,才产生一个中断,驱动程序响应中断将FIFO中的数据传送到内部缓冲区中,这是使用FIFO能提高采样频率的原因。
4.2 内部缓冲区的使用方式。
驱动程序在操作内部缓冲区时是将内部缓冲区分为上下两半缓冲区来分别操作。
通过这样来保证高速连续采集时,数据不会丢失。
在采集时驱动程序从板卡FIFO 或寄存器中将数据传输到内部缓冲区中,当内部缓冲区半满时驱动程序发出BufferChange事件。
用户通过执行DRV_FAICheck函数返回的HalfReady来判断是上半部分还是下半部分缓冲满了,然后执行DRV_FAITransfer来将相应的缓冲中的数据搬走。
在不了解数据采集的DMA触发方式时,很容易把中断触发方式下,调用DRV_FAIIntScanStart函数时同时使用FIFO和内部缓冲区的方式认为是双缓冲区工作方式,进而对PTFAICheck结构的ActiveBuf域产生误解。
实际上,双缓冲区是指同时使用A、B两个内部缓冲区。
这是PCL-1800卡在DMA触发方式下的特殊工作方式,由DRV_FAIDualDmaStart函数启动。
只有PCL-1800卡支持双缓冲方式。
在中断触发方式下不能同时使用双缓冲区的工作方式。
所以我们一般使用时PT_FAITransfer. ActiveBuf=0 即单缓冲模式。
4.3 循环(cycle0和非循环(no_cycle)循环和非循环是指内部缓冲区的使用方式。
非循环方式下,内部缓冲区作为一个整体使用。
在非循环方式下执行一次DRV_FAIIntScanStart/DRV_FAIIntStart 函数只能进行有限次(次数就是通过参数count 设定的采样个数)的A/D 转换,DRV_FAIIntScanStart 函数执行过程中将所有数据都放到内部缓冲区;A/D 转换结束后,在ADS_EVT_TERMINATED 事件的处理函数中再用DRV_FAITransfer 函数将数据传送到用户缓冲区中。
循环方式下,内部缓冲区分为两个半区使用。
执行一次DRV_的A/D 转换,直到放到内部缓冲区完4.4 Raw Data(原始数据)和voltage(电压值)所以它可以把采集的电压量程分放5. 动态采集程序涉及到驱动程序中一些参数的分析FIFO 缓冲区的情况下,FIFO 缓冲区和5.2 ADSEVTBUFCHANGE 事件的触发时机区间切换时。
5.3 增益列表起始地址在编写数据采集程序时,都要考虑多通道同时采集,而且都要考虑开始通道FAIIntScanStart/DRV_FAIIntStart 函数可以进行无限次调用DRV_FAI_Stop 函数。
这种方式下有限的内部缓冲区不可能容纳无限多的采集数据。
因此,将内部缓冲区分成前后对等的两个半区。
当前半区填满后产生一个ADS_EVT_BUFCHANGE 事件,采集程序中的事件检查循环捕获这个事件,调用DRV_FAI_Transfer 函数把数据传送到用户缓冲区;与此同时DRV_FAIIntScanStart/DRV_FAIIntStart 函数将新转换的数据的后半部分。
当后半区填满后再产生一个ADS_EVT_BUFCHANGE 事件,并用DRV_FAIIntScanStart/DRV_FAIIntStart 函数将新转换的数据放到数据传输毕的前半缓冲区,如此循环。
以PCL818为例,它的转换芯片是12位的,为4096段,这种方式称为量化,而Raw Data 就是将被采集量量化后的整数值。
驱动程序将量化值用3位十六进制数表示,所以Raw Data 的示数范围就是000-fff,在内部缓冲区中的数值就是这种量化的原始数据。
用户缓冲区中存Voltage(电压值),将Raw Data 转化为电压值由CRVFAITransfer 函数完成,当PTFAITransfer 的DataType=0时,不进行Raw Data 到电压值的转化,这时候在用户缓冲区中得到的就是量化的12位十六进制整数值。
5.1 PTFAICheck 结构的HalfReady 域该域说明哪半个缓冲区已满。
在使用内部数据缓冲区都有半满(halffull)的情况。
容易混淆此处的HalfReady 是指FIFO 缓冲区中的半区还是内部数据缓冲区的半区。
事实上,DRVFAICheck 都是返回的内部缓冲区的状态,不反映FIFO 缓冲区状态;所以此处是指的内部数据缓冲区的半区。
在内部数据缓冲区的上下两个半缓冲的任意性,所以通常的做个存储单元对应一个通道的增益值,但是要注意,在起始通道不为零时不能将这个存储区的起始地址直接赋给驱动函数的“增益列表起始地址”参数,如PTFAIIntScanStart 结构的GainList 域;因为驱动程序是直接从“增益列表起始地址”参数表示的起始地址去提取起始通道的增益值,而不会根据“起始通参数在增益列表中选取对应的增益值。
法是为增益列表开辟一块增益列表存储区,从0开始每道”5.4 CheckEvent 的检查周期CheckEvent 函数是在一个周期中检查是否事件发生,如果有就立即返回事个“check event error!”错误。
CheckEvent 函结束语本文着重分析了在使用研华32位dll 驱动程序编写动态数据采集程序时所参数。
通过本文读者可能加深对32位dll 驱动程序的认识,从而件的类型,如果没有就返回一数与DRV_FAICheck 函数不同,程序需要不的调用DRV_FAICheck 函数来检查硬件工作的最新情况。