数据采集卡AC6111

更新时间:2024-06-30 12:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1

AC6111

使 用 手 册

wwlab 2008年2月

AC6644

在开始使用前请仔细阅读下面说明

检查

打开包装请查验如下: ? ? ? 安装

关掉PC机电源,将AC6111插入主机的任何一个PCI插槽中并将外部的输入、输出线连好。如果主机有AC6111采集模块。 手册及光盘。

DB25(针)、壳,20芯扁平电缆、DB25缆,AC146端子板各一。

多套AC系列PCI插卡,请每次只安装一个插卡。软件驱动安装请查看第3章说明。 保修

本产品自售出之日起一年内,用户遵守储存、运输和使用要求,而产品质量不合要求,凭保修单免费维修。因违反操作规定和要求而造成损坏的,需缴纳器件费和维修费及相应的运输费用,如果板卡有明显烧毁、烧糊情况原则上不予维修。如果板卡开箱测试有问题,可以免费维修(限购买板卡10天内)。

1 ww.wwlab.com.cn

AC6644

目录

一、AC6111说明 .............................................................................. 4

1.1 AC6111板简介 ........................................................................ 4

功能概述 ............................................................................. 4 应用范围 ............................................................................. 5 配套端子板 ........................................................................... 5 1.2 性能参数 ............................................................................. 5

AD性能 .............................................................................. 5 DA性能 .............................................................................. 6 开关量性能 ........................................................................... 6 计数器性能 ........................................................................... 6 系统 ................................................................................. 7

二、硬件原理说明 ............................................................................. 8

2.1 AD转换部分的原理 ................................................................... 8 2.2 DA部分的原理 ...................................................................... 11 2.3 开关量部分的原理 ................................................................... 11 2.4 计数器的原理 ....................................................................... 11 三、硬件设置与连接 .......................................................................... 13

3.1安装 ................................................................................ 13 3.2 输入输出插座定义 .................................................................... 14

输入差分选择 ........................................................................ 14 连接器P1:模拟输入插座定义 ......................................................... 14 P2:数字输出连接器 .................................................................. 15 3.3 配套端子板 .......................................................................... 15 四、AC6111的编程 ........................................................................... 17

4.1软件安装与说明 ...................................................................... 17

软件说明 ............................................................................ 17 驱动安装 ............................................................................ 18 4.2接口函数说明 ........................................................................ 18

设备函数 ............................................................................ 19 AD操作函数 ......................................................................... 19 开关量函数 .......................................................................... 20 DA函数 ............................................................................. 20 计数器操作函数 ...................................................................... 21 4.3 VC程序编程说明 ..................................................................... 21 4.4 VB程序编程说明 ..................................................................... 22

2 ww.wwlab.com.cn

AC6644

4.5 LabVIEW程序编程说明 ................................................................ 23 五、附录 .................................................................................... 24

3 ww.wwlab.com.cn

AC6644说明

一、AC6111说明

1.1 AC6111板简介

AC6111是一款中速度通用A/D板,采用PCI总线支持即插即用。属于“JP FREE”(注)系列,无需任何跳线、开关设置,方便应用。

AC6111具有16路模拟输入、2路12位D/A输出、16路可编程开关量、一路16位计数器、采集转换支持多种触发形式。AC6111采用大规模可编程门阵列设计,提高可靠性。

功能概述

?

? ?

AD部分介绍

采用DB25接头。

16路输入,支持通道扫描及伪同时采样(同步采保)扫描模式。(注:伪同步模式:既模拟同步采样模式,采样被定时器或外部时钟启动后,6111以400KHz的最大速度对用户设置的一组通道采样,结束后等待下一次启动,如此循环采样),新卡支持16路单端/8路差分输入(连接与定义见附录最后)。

? ? ? ? ? ?

12位400KHz A/D转换器。多通道采集速度可以达到最大采样速度。 模拟输入通道支持自动扫描模式,可以设置任意起始、截止通道。 输入量程程控,范围:5伏、10伏、?5伏、?10伏。

输入通道模式:SH/NORMAL,既:伪同步/等时间间距通道扫描模式。 AD启动模式:软件、外部硬件触发。触发可以选择上升、下降边沿有效。

AD定时器模式:板上16位定时器(基准时钟4MHz)、外部同步时钟(OCLK)。OCLK可以选择时钟上升或下降边沿有效。时钟触发在“SH”模式,每个触发转换N个通道;“NORMAL”模式,每个时钟触发转换一个通道。

? ? ? ? ? ? ?

AD接口采用4K字FIFO,支持大容量数据采集。

采集数据支持:起始通道标志、触发标志。用户可以检测采集数据的连续性及支持预触发功能。

DA部分介绍

DB25插座。

二路D/A输出,分辨率12位。

模拟输出量程:10伏、?10伏,每路输出可以分别软件设置。 输出建立时间:小于50微秒(0.1%精度)

4 ww.wwlab.com.cn

AC6644说明

? ? ? ?

开关量部分介绍

20芯扁平电缆插座。

16位开关量的二个8位可以分别设置为输入、输出。

一路16位计数器(DB25插座输入)。内置16位定时器(基准时钟:1MHz),可以精确测量频率、脉冲宽度。定时器测量范围:1微秒-65毫秒。

应用范围

?

电力谐波、纪录测量,医疗仪器,震动信号采集,频谱分析。

配套端子板

AC6111模拟输入可以配接AC146端子板。开关量可以配接AC142或AC145端子板

1.2 性能参数

AD性能

? ?

A/D转换器: 400KHZ 12位A/D ADS7818, A/D内置采样保持器。

16路单端输入/8路差分, 输入阻抗:大于100MΩ, 最大输入电压:< +12V / -12V,瞬时输入耐压:-30V - +30V,差分输入共模抑制比大于80DB。DB25孔式输入连接器。

? 输入支持:SH、NORMAL二种通道模式(并行采样、扫描采样)。对应最小每通道采样时间: SH:N*2.5 (uS) 其中:N为设置的采样通道数量。 NORMAL:2.5uS

? 程控模拟输入范围,双极性输入幅度:? 5V、?10伏,单极性输入幅度:5V、10V输入,对应输入幅度及精度如下:

输入 0-5V 0-10V -5V-+5V -10V-+10V 精度 0.1% 0.1% 0.1% 0.1% 分辨率 ? 1LSB ? 1LSB ? 1LSB ? 1LSB 5 ww.wwlab.com.cn

AC6644说明

?

A/D最大通过率:400KHZ,输入通道建立时间<2uS。

AD工作模式、参数: ?

采集启动模式:软件、硬件触发(外触发)启动。外部触发的极性可以选择为“上升边沿“或“下降边沿“有效。 ? ? ? ?

触发输入:TTL电平(注1),内置10K上拉电阻,CMOS输入。输入带shmit触发器。 采样定时器模式:内部时钟、外部时钟。外部时钟支持上升、下降边沿选择。

板上时钟:16位定时器、基准时钟4MHz,设置范围:10-65535,对应采样速度:400KHz-16Hz。 外部时钟输入:TTL电平,输入特性同外部触发输入。时钟输入最小有效脉冲宽度:大于100nS。时钟频率必须小于对应采样模式的最大采样速度。 ?

AD与计算机采用FIFO接口,容量:4K字,提供:FIFO空、半满、溢出标志。半满标志支持中断。

DA性能

? 二路12位D/A,输出电压10V或?10V(程控)。 精度:10V: 0.1% , -10V - +10V: 0.2%。 分辨率:12位。

输出驱动能力:电流大于5毫安、电容驱动能力:100P。

开关量性能

? 16路开关量(2个8位定义为:PA、PB口),TTL电平(注1)。PA、PB可以分别程控为输入、输出。20脚扁平电缆插座输出、输出。开关量复位后为输入状态。 输出高电压 > 3V,低电压 < 0.4V

输出下拉电流 > 20mA/路,上拉>6mA

输入电流:<0.1mA 输入高电压门限:〉2.5V, 低电压:〈 0.8V, 最大输入耐压:-0.3V - +7V

计数器性能

? 16位计数器,计数范围1-65535,减法计数器。计数输入TTL电平(注1),上升边沿有效,内部结构同触发输入。最大计数频率:大于5MHz。具有计数溢出标志(计数到0时溢出)。

? 内置16位定时器,可以测量从计数器设置数值到溢出有效这一个时间段的时间。定时器输入时钟为1MHz(1uS周期),精度:?66纳秒。

6 ww.wwlab.com.cn

AC6644说明

?

计数器与定时器结合可以完成:计数、测频、测量脉冲宽度的功能。

注1:TTL电平:高电平大于2.3V,低电平小于:0.6V

系统

? ?

PCI总线,符合PCI V2.1标准,供电:+5伏。 AC6111占用64个I/O选通空间(自动分配)。

7 ww.wwlab.com.cn

AC6111 第一章、AC6111简介

二、硬件原理说明

AC6111采用PLX9052 PCI接口芯片及门阵列作为主控芯片。门阵列控制模拟输入、采样、模拟输出及开关量。如下图:

输出

输入量程选择

SW SH A/D 门阵列 D/A

XC95288

D/A

计数器

触发、时钟

16DIO

缓冲 PLX9052 PCI总线

16MHz 时钟

2.1 AD转换部分的原理

转换模式、通道控制

ac6111具有二种采样模式,SH:采保模式、NORMAL:普通扫描模式。

SH模式:模拟同步采样模式,适合应用在对一组输入通道采样的时差要求尽量小,但组之间的时间间隔较大的应用场合。当由定

时器脉冲或外部时钟有效边沿启动后,在板上逻辑的控制下以400KHz的速度,从第N通道开始顺序转换到第M通道结束,(N、M 分别为用户设置的起始与结束通道,N<=M)。同时转换数据顺序写入FIFO寄存器中,转换完后重新进入等待模式,等待下一个启动信号。

8 ww.wwlab.com.cn

AC6111 第一章、AC6111简介

NORMAL模式:普通模式指,当由定时器脉冲或外部时钟有效边沿启动后,AD开始转换当前通道,并通道在转换时自动设置为下

一个转换通道,等待下一个有效启动脉冲到来。通道转换顺序为:从第N通道开始顺序转换到第M通道结束,然后由重新从N到M通道,如此循环直到用户结束转换,(N、M定义同上)。转换数据顺序写入FIFO寄存器中。

因此,在不同模式下,启动时钟的最大频率不同。由于AD的转换速度是400KHz,各种模式下的最大转换速度如下:

SH模式:K个通道的最小转换时间 Tmin = 2.5*K (uS), K=(M-N+1)为一次转换的输入通道数量。等效每通道最大采样速度:1000/Tmin(KHz)。

NORMAL: 每通道最小转换时间:Tmin=2.5uS/通道,等效每通道最大转换速度:400/(转换通道个数) (KHz)。 AD转换启动控制

转换启动可以在触发选择中(TRSL)设置:由软件或外部硬件触发启动整个转换过程,除非用户终止转换,否测将一直转换下去。硬件触发可以在触发极性选择中(TRPOL)设置为“上升边沿”或“下降边沿”有效。

一旦启动转换,AD转换将在板上定时器或外部时钟驱动下按用户设置的起始(STCH)、终止通道(ENDCH)逐一通道顺序、循

环转换。时钟选择(CLKSL)可以软件设置。应用外部时钟时,可以在模式设置字的CLKPOL控制位,控制时钟为“上升边沿”或“下降边沿”有效或启动转换。

用户应该区分二种模式:SH、NORMAL模式的通道转换模式及最小转换时间(或最大转换速度)的要求。

小结:采样模式 1. 2. 3. 4. 5. 6. 板上转换定时器

AC6111的16位定时器为模拟转换提供精确的定时,误差小于?250纳秒。定时器输入基准时钟为4MHz,周期为250纳秒。定时器为减法计数器,当由用户设置数值tdata减到1时,发出启动脉冲并自动将定时器数据重新设置为tdata。

16位数据取值(tdata):1-65535,对应周期=0.25*N(uS),N:设置的16位定时器数据tdata。

在NORMAL模式下:最小转换周期为2.5uS(tdata=10),由此6111的转换周期为:2.5uS – 16385uS。 1.

在SH模式下,最小转换周期为2.5*Nch(uS),Nch:为采样通道的个数。由此转换周期的间隔范围为:2.5*Nch(uS) – 16385uS。 转换触发启动:软件/硬件 (trsl=0/1)。 硬件触发极性:上升/下降边沿 (trpol=0/1)。 转换控制时钟:内部/外部 (clksl=0/1)。 外部时钟极性: 上升/下降 (clkpol=0/1)。 模拟通道采样模式:SH/NORMAL (sammode=1/0)。 采样通道控制:起始通道/结束通道 (stch/endch)。

9 ww.wwlab.com.cn

AC6111 第一章、AC6111简介

相应启动频率为: F=1000/(0.25*N) (KHz) N:16位定时器数据。 FIFO数据、状态:

FIFO中的数据按从stch的采样数据到endch采样数据循环存放,如下: Stch, stch+1 ,…., endch…….stch,..,endch,……结束

6111的FIFO(先进先出寄存器)容量为4096字,具有空(EF)、半满(HF)、溢出(FF)标志,标志为“0”时有效。采样数据不断的写入FIFO中,用户检测到半满标志后,立即读入2048个数据,以保持FIFO中的数据不超过4096个,否则FIFO溢出,数据队列顺序会打乱(新进入的数据将冲掉最先写入的数据)。如果出现FIFO溢出,只能靠提高计算机速度或降低采样速度或扩大存储器容量来弥补。

数据格式:16位读出数据定义如下:

D15 AD11 D14 AD10 D13 AD9 D12 AD8 D11 AD7 D10 AD6 D9 AD5 D8 AD4

D7 AD3 D6 AD2 D5 AD1 D4 AD0 D3 IO1 D2 IO0 D1 trsign D0 chsign

D15-D0:16位数据的从高到低位。

AD11-AD0:12位采样数据,(MSB - LSB)。 IO1:开关量通道1状态。 IO0:开关量通道0状态。

Trsign:触发标志,=0:没有触发 / =1:触发有效

Chsign:通道标志,=0:数据为起始通道数据 / =1:其他通道的数据。 应用: 1.

采样时可以记录开关量通道的0、1号,IO0、IO1状态(必须设置为输入状态)。由此可以将二个输入作为数字波形纪录器使用,速度为AD采样速度。 2.

trsign:记录录外部触发状态,如果触发有效,trsign将从0变为1。检测这位可以在软件启动模式下检测外部触发的开始,用于实现预触发功能。 3.

chsign:用于通道检测校正。如果FIFO中的数据乱了,可以通过检测chsign是否为“0”重新获得数据的起始位置。因为通道按stch-endch顺序循环采样,由此chsign每隔采样通道数量的个数为“0”、或对起始通道(stch)采样时起始时为“0”,其余时间为“1”。 模拟输入量程选择控制 AC6111的AD输入有4档量程,为: 单极性:0-5伏、0-10伏

双极性:-5伏 - +5伏、-10伏 - +10伏

10 ww.wwlab.com.cn

AC6111 第一章、AC6111简介

由PS位设置。PS=0,1,2,3对应选择输入为:5、10、?5、?10伏。注意:不要在AD转换过程中设置通道stch、endch与PS。

2.2 DA部分的原理

AC6111提供二路12位D/A。输出可以分别由软件控制为:0-10伏或?10伏。控制寄存器为damode的低二位,如下:16位数据D15-D0的D1、D0控制模拟输出通道1、0号的输出范围,对应控制字定义为:damode0、damode1,分别控制DA输出通道0、1号。

Damode0或damode1 =0 :对应输出为0-10伏。 Damode0或damode1 =1 :对应输出为?10伏。

2.3 开关量部分的原理

16路开关量DIO15-DIO0分为二个8位,可以由iomode寄存器的iomode0、iomode1位控制为输入或输出,0号控制低8位PA:DIO7-DIO0、1号控制高8位PB: DIO15-DIO8。Iomode0、iomode1对应16位控制字D15-D0的D0、D1位。定义: IOMODEn=0:设置对应口为输入。 IOMODEn=1:设置对应口为输出。 注: n=0、1

16路数据通过16位I/O指令一次性读入或输出。如果对应口为输入,输出数据没有影响,但输入可以读入输出的状态。结构如下:

数据线D7-D0 PA 输出寄存器 PA输出容许 PB 数据线D15-D8 输出寄存器 PB输出容许 PA读入数据,D7-D0 PB读入数据,D15-D8

2.4 计数器的原理

AC6111提供一个16位多功能计数器cnt,可以完成:计数、测频、脉冲宽度测量等功能。计数器为16位减法计数器,设置数

11 ww.wwlab.com.cn

AC6111 第一章、AC6111简介

据范围1-65535,输入上升边沿脉冲有效(进行减1操作)。计数器减法计数到0时,自动将溢出标志cntov由0设置为1,并保持到重新设置计数器数值。Cntov可以由状态查询位读入。Cnt的数据可以通过cntw、cntr指令设置或随时读出,cntw指令清除计数器、定时器数据并重新开始计数、定时。

AC6111内置16位定时器tcnt,功能为:测量由开始计数的第一个上升边沿到计数器溢出(最后一个脉冲的上升边沿)间的时间周期。Tcnt的输入时钟为1微秒,测量时间为1-65535微秒,如果超过65535。微秒,读入数值恒定为65535微秒。如果读入数据为FFFFH(65535),用户应该认为定时器已经溢出、测量结果无效。定时器性能: 1. 2. 3. 应用:

?

计数器模式:用户初始化计数器数值,开始减法计数操作。可以随时读入计数器数值,计数的个数=初始化数值 - 读入16位定时器,定时范围:1-65535微秒,对应频率测量范围5000KHz-16Hz。 定时器为加法计数器,从0开始计数。

输入时钟:1微秒周期。时钟来自16兆时钟源4分频,并且分频器与定时器同时启动,保证?66纳秒的时钟精度。

数值。 ?

测量N个脉冲上升边沿间的时间:设置计数器数值为N,检测到计数器溢出标志后,读入tcnt数据,时间间隔为tcnt

(uS)。注意:N的最小数值为2,即测量一个波形周期(二个上升边沿间)的时间。

波形示意:

写入数据 N 开始计数

cntov

定时器

启动

计数器 数据 N-1 N-2 0

定时器

数据 0 1 M

注:

1.计数器初始化数据为N 2.定时器结束数值为M。

12 ww.wwlab.com.cn

AC6644硬件设置与连接

三、硬件设置与连接

3.1安装

关掉PC机电源,将AC6111插入主机的任何一个PCI插槽中并将外部的输入、输出线连好。如果主机有

多套AC系列PCI插卡,请注意并标记插槽的顺序与号码以方便连接与编程。

连接注意事项:

注:差分输入的开关选择与输入定义见附录: 模拟输入: 1. 2.

输入连接电缆必须用屏蔽电缆。

模拟信号的地线应该连接到前端的模拟输出的地线上,不能与数字地线混合。如果需要混合数字、模拟地线,可以将数字地线连接到前端的电源地线上。 3.

如果前端信号干扰较大,如电力信号采集应用时,最好将PC机的外壳与前端的地线单独连接。这样可以避免干扰、高压烧毁6111卡。

模拟输出: 1. 2.

输出不要对外部电源短路。

输出的电容负载能力有限,注意不能驱动大的电容负载,否则会引起输出不稳定。如果需要驱动电容、电感负载,应该在输出与被驱动设备间加入一个10-100欧姆的电阻。

开关量: 1. 2. 3.

开关量输入电平不能低于-0.3V 或高于+5V。 输出不要对地线、电源短路。

输出如果需要驱动大功率设备,为防止干扰应该选用AC145端子板,将输出与设备隔离。

13 ww.wwlab.com.cn

AC6644硬件设置与连接

3.2 输入输出插座定义

输入差分选择

6位拨码开关“SW1”选择模拟输入方式为差分或单端模式,如下: 1、2、3号ON,4、5、6号OFF选择输入为单端模式。 1、2、3号OFF,4、5、6号ON选择输入为差分模式。

连接器P1:模拟输入插座定义

P1:DB25芯D型插头,孔式,在输入的插头上标有对应的号码。定义如下:

输入定义: ? ? ? ? ? ? ? ?

AIN0-AIN15对应A/D单端输入通道:0-15。

差分模式:AIN0-AIN7对应差分“+”输入通道0-7、AIN8-AIN15:对应“-”输入通道0-7号。 AMPLOW:伪差分输入,6111不用。

DAOUT0、DAOUT1:对应D/A输出通道“0”、“1”。 9、22脚:模拟GND 13脚:数字地 CNT0:计数器输入 TRIG:触发输入

OCLKTRIGCNT0DAOUT1DAOUT0AMPLOWAIN15AIN7AIN14AIN6AIN13AIN5AIN12AIN4AIN11AIN3AIN10AIN2AIN9AIN1AIN8AIN013251224112310229218207196185174163152141P1DB2514 ww.wwlab.com.cn

AC6644硬件设置与连接

?

OCLK:外部时钟输入

P2:数字输出连接器

I0-I15:开关量通道0-15。 脚:9,10,19,20:GND

IO0IO2IO4IO6IO8IO10IO12IO14P21357911131517192468101214161820IO1IO3IO5IO7IO9IO11IO13IO15HEADER 10X23.3 配套端子板

AC6111模拟输入可以配接AC146端子板。开关量可以配接AC142或AC145端子板 AC146:

提供:25端子到DB25插座的接线 AC142: 1. 2. AC145: 1. 2. 3.

16路隔离输入5-24伏,端子输入。

16路隔离输出,集电极开路(OC)输出,电流100毫安/路,耐压:大于30伏。端子输出。 I/O为40脚扁平电缆插座。 40路螺丝端子

DB37或40脚扁平电缆插座。

15 ww.wwlab.com.cn

AC6644硬件设置与连接

连接:

P1 P2 AC146 配接P6654或AC175 AC142 AC145

16 ww.wwlab.com.cn

AC6644编程

四、AC6111的编程

本章介绍驱动的安装、动态链接库函数使用方法以及针对AC6111的软件开发指导。请用户在编程前,仔细阅读本手册,了解相关信息。

4.1软件安装与说明

软件说明

AC6111附带光盘中,提供如下内容: 1. 2. 3. 4. ?

在光盘的\\PCI\\AC6111\\DRIVER目录中包含文件: ? ? ? ? ? ? ?

在光盘的\\PCI\\AC6111\\MFC目录中包含: ? ? ? ?

在光盘的\\PCI\\AC6111\\VB目录中包含: ? ?

VB的编程例子

VB编程需要的声明模块程序AC6111.bas。 MFC的编程例子

编程需要的include文件。

AC6111.h 应用显式调用DLL时的函数声明文件。 AC6111.inf 驱动安装文件。 AC6111.sys 驱动程序。 AC6111.dll 动态链接库。 AC6111.LIB VC的库文件。 AC6111.h VC调用函数的头文件 AC6111.BAS VB的函数声明模块。 说明书。

驱动程序,支持win98/win2000/winXP/Vista操作系统。 MFC、Visaul C++、Visaul Basic、Labview编程实例。 AC6111测试程序。

17 ww.wwlab.com.cn

AC6644编程

驱动安装

安装方法: 1.

关闭计算机电源,将AC6111插入一个PCI插槽。如果有多个AC6111插卡,请每一次安装一个AC6111插卡。插槽号码低的插卡的设备号为“0”,高一级槽号的插卡的设备号为“1”,依次类推。 2. 3. 4. 5. 6. 7. 8.

安装后,程序自动将AC6111.dll动态链接库程序拷贝到windows系统的system32目录中,用户用也可打开计算机电源,启动Windows

Windows将会显示找到新硬件,可按找到新硬件向导进行下一步 选择搜索适用我的设备的驱动程序,下一步;

选择驱动所在目录,进行安装。(目录:\\PCI\\AC6111\\ driver) 按找到新硬件向导的提示进行下一步;

Windows将显示完成添加/删除硬件向导,单击完成即可完成安装过程。

完成后如果安装第二个AC6111,请关闭计算机电源,插入第二块AC6111插卡,重复上述安装过程。

以自己将DLL拷贝到当前工作目录中。

驱动安装完毕后在\\控制面板\\系统\\设备管理中可以找到AC6111卡,察看属性-〉资源,如果出现AC6111的IO地址,表明驱动安装正确。 1.

安装完毕后将在设备管理器中出现一个其他设备(其他设备是问号,不表示设备有问题,只是表示系统不知道AC6111板卡是何种设备)。 2.

如果需要更新设备驱动,请在硬件设备管理目录下选择AC6111卡 -〉按鼠标右键选择属性 –〉选择驱动程序 –〉选择重新安装驱动程序。 3.

当Visaul C++/Visaul Basic例程从CD-ROM复制到硬盘时,属性仍将保持为只读属性 ,这将影响用户调试程序。请将属性改为文档属性,这样就可以进行正常的编译、调试工作了。

4.2接口函数说明

本卡以DLL-动态链接库的方式封装了用户在win98/win2000/winXP环境下编程需要的函数。动态链接库可以被windows环境下的多数编程语言调用,用户只要正确使用调用格式就能正确调用函数。本手册只提供了VC、VB的调用例子,有关其他语言调用的方法,用户可以参考其他书籍或直接在网上查找。

18 ww.wwlab.com.cn

AC6644编程

设备函数

? 打开一个AC6111设备

函数:HANDLE AC6111_CreateDevice(DWORD num,PDWORD err) 功能:打开一个AC6111设备返回操作句柄。 参数: ? ? ?

num:AC6111板卡的序号,如0、1、2 err:错误代码

返回值:成功后返回AC6111板卡驱动句柄。

? 关闭一个AC6111设备

函数:int AC6111_CloseDevice(HANDLE hDevice) 功能:关闭以hDevice打开的AC6111卡 参数: ?

hDevice:AC6111板卡驱动句柄。

AD操作函数

?

设置并启动AD

功能:设置并启动AD采样。

函数:int AC6111_AD(HANDLE hDevice,long stch,long endch,long gain,long trsl,long clksl,long

trpol,long clkpol,long sammode,long tdata)

参数: ? ? ? ? ? ? ? ? ? ? ?

读AD

功能:从中内核缓冲中读取数据。

函数:int AC6111_READ_KFIFO (HANDLE hDevice, unsigned long *uspData, int length)

hDevice:入口参数,卡的操作句柄。

stch:入口参数,=0-15设置采样的起始通道号码。 endch:入口参数,=0-15设置采样的停止通道号码。

gain:设置AD的输入量程。=0、1、2、3对应选择所有的输入范围为:0-5伏、0-10伏、-5伏 - +5伏、-10伏 - +10伏。

sammode:设置采样模式。具体解释见第二章说明。sammode:=0设置采样模式为normal普通扫描模式/=1:设置采样模式为SH模式,伪同步模式。

trsl:设置触发模式。=0设置软件启动一次采样过程/=1:设置外部触发启动一次采样过程。 trpol:设置触发输入极性。=0设置外部触发上升边沿有效/=1设置外部触发下降边沿有效。 clksl:设置时钟模式。=0设置AD启动利用内部时钟/=1:外部时钟。 clkpol:设置时钟输入极性。=0设置上升边沿有效/=1设置下降边沿有效。 tdata:设置采样频率(10~4095)。

19 ww.wwlab.com.cn

AC6644编程

参数: ? ? ? ? ? ? ? ?

停止采样

hDevice:入口参数,卡的操作句柄。 函数:int AC6111_STOP(HANDLE hDevice)

查询AD状态

hDevice:入口参数,卡的操作句柄。 返回值:小于0溢出,其他可读长度。 函数:int AC6111_ADState(HANDLE hDevice)

hDevice:驱动句柄

*uspData:指向采样数据的指针;

length:读取的长度。长度应小于缓冲中可以读取的数据长度(该长度由AC6111_STATE函数获得)。

开关量函数

? 设置开关量

功能:设置数字量模式控制字。

函数:int AC6111_IO_MODE (HANDLE hDevice, long iomode) 参数: ? ?

hDevice:驱动句柄

iomode:模式字, 0:高入,低入;1:高入,低出;2:高出,低入;3:高出,低出。 开关量输入

hDevice:驱动句柄;

*DIData:指向数字量输入数据的指针。

? ? ? ?

函数:int AC6111_DI (HANDLE hDevice, unsigned long *DIData)

开关量输出

函数:int AC6111_DO (HANDLE hDevice, unsigned short do_data) 参数: ? ?

hDevice:驱动句柄; do_data:数字量输出数据。

DA函数

?

设置DA电压输出模式字

函数:int AC6111_DA_MODE (HANDLE hDevice, ULONG mode)

20 ww.wwlab.com.cn

AC6644编程

参数: ? ?

hDevice:驱动句柄;

mode:DA模式字;0:0-10伏,1:-10伏-+10伏。

? ? ? ?

DA输出

hDevice:驱动句柄; ch:DA输出通道(0,1)。 da_dat:DA输出值(0-4095)。

函数:long AC6111_DA(HANDLE hHandle,long ch, ULONG da_data)

计数器操作函数

?

函数功能:读取计数器的数值;

函数:int AC6111_RCOUNTER (HANDLE hDevice, unsigned long* CounterData) 参数: ? ? ?

函数功能:设置计数器初值。

函数:int AC6111_WCOUNTER (HANDLE hDevice, USHORT counter_data) 参数: ? ?

hDevice:驱动句柄;

counter_data:计数器初值数据0-65535。 hDevice:驱动句柄;

* CounterData:指向计数器值的指针

4.3 VC程序编程说明

编程前,请将AC6111.lib及AC6111.h程序拷贝到用户当前目录中。(需要的文件在\\AC6111\\driver目录中)

VC编程的基本流程: 1.

利用显式调用加载函数。AC6111.lib、AC6111_lib.h文件必须在当前工作目录中。方法,程序的开始处加入如下语句:

#pragma comment(lib, \AC6111.lib\) #include\AC6111.h\

21 ww.wwlab.com.cn

AC6644编程

详细可以参考VC目录中的程序,AC6111.H文件包含了需要的函数的声明过程。 2. 3. 例:

//获得所有6111的操作函数

#pragma comment(lib,\#include\

HANDLE hDevice=INVALID_HANDLE_VALUE; //硬件操作句柄 DWORD Error; Main() {

//获得6111硬件操作句柄

hDevice= AC6111_CreateDevice(0, &Error); //创建设备驱动句柄,设备号为0

……………………… //用户程序

//退出

AC6111_CloseDevice (hDevice); //关闭操作句}

利用AC6111_OpenDevice函数获得板卡的操作句柄。

在退出程序时必须执行如下操作:利用AC6111_CloseDevice函数关闭句柄。

详细可以参考光盘上的AC6111的VC目录下的例子。

在编程时必须注意,硬件操作句柄HANDLE必须为全局变量或必须传递给有相应硬件操作的函数。硬件句柄只要在程序启动时打开一次即可,不需要每次打开或关闭。

4.4 VB程序编程说明

VB编程的基本流程: 1.

在工程菜单中选择添加模块,将AC6111.bas模块添加进来(该模块在光盘中\\pci\\AC6111\\vb目录中,应用时将文件拷贝到当前工作目录),此文件为所有函数的声明文件。 2.

在模块中定义一个硬件操作句柄,为一个long属性的全局变量,这样可以被用户程序中的所有form调用(例:AC6111.bas中声明的句柄hd6610)。 3.

在退出程序时必须执行如下操作: 利用AC6111_CloseDevice函数关闭句柄

注:AC6111.bas模块已经包含了所有必要的6610函数的声明语句。

利用AC6111_OpenDevice函数获得板卡的操作句柄。

22 ww.wwlab.com.cn

AC6644编程

例:

DIM hd6111 as long DIM ErrorOfDriver As Long Private Sub Form_Load() DIM I as long

Hd6644 = AC6111_CreateDevice(0, &ErrorOfDriver) ‘打开设备0号,获得驱动句柄 ………………….. ‘其他操作 End Sub

……………………………………….

Private Sub Form_Unload(Cancel As Integer) AC6111_CloseDevice hd6111 ‘关闭驱动 End Sub

有关用户其它方面的应用请参考光盘中的例程。

注:VB中如果设备操作句柄不等于&HFFFFFFFF为有效句柄。

4.5 LabVIEW程序编程说明

本公司生产的所有采集卡的相关接口函数,均以动态链接库的形式提供给用户。在使用LabVIEW对本公司采集卡进行开发时,只需通过LabVIEW中的Call Library Function Node节点来调用我们所提供的动态链接库函数即可对硬件进行相关操作。

目前,本公司已将客户在LabVIEW中通过Call Library Function Node节点调用DLL函数的过程全部编译为Sub VI的形式,用户只需在LabVIEW的Block Diagram中点击右键,选择ALL Functions->Select a VI,找到\\AC6111(Sub VI)目录,将所需Sub VI添加到LabVIEW的Block Diagram中,即可完成对DLL函数的调用。

详见光盘中的LabVIEW例程及《双诺公司采集卡LabVIEW开发手册》。

23 ww.wwlab.com.cn

AC6644附录

五、附录

24 ww.wwlab.com.cn

本文来源:https://www.bwwdw.com/article/a4u3.html

Top