您好,欢迎来到硕远科技网站!

技术文章

当前位置:网站首页 > 技术文章 > 正文

In_【流程管理】研华采集卡驱动程序工作原理及流程说明

blog 2020-04-30 28 0

  In_【流程管理】研华采集卡驱动程序工作原理及流程说明_计算机硬件及网络_IT/计算机_专业资料。1. 引言 研华公司是台湾和中国大陆工业电脑产品最大的供应厂商,其 PC&Web-based 数据采集和控制产品更是以优良的性价比获得了众多的客户的青 睐。32 位 DLL 驱动程序是研华为诸如 VC

  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 所示。 FIFO DRV_FAIIntStart DRV_FAIDmaExStart DRV_FAIDmaStart 内 用 部 户 缓 DRV_FAITransfer 缓 冲 ptFAITransfer.Data 冲 区 Type=0 raw data 区 1 float data 在使用 DRV_FAIIntScanStart 函数将采样值放到内部缓冲区有两种方式:有 FIFO 和无 FIFO。没有 FIFO 时,每完成一次 A/D 转换就产生一个中断,驱动程序 响应中断将这个采样值传到内部缓冲区中。有 FIFO 时,采样值先放在 FI

In_【流程管理】研华采集卡驱动程序工作原理及流程说明

相关推荐

  • 研华数据采集卡产品概述

    研华数据采集卡产品概述

      为了满足IBM-PC机及其兼容机用于数据采集与控制的需要,国内外许多厂商生产了各种各样的(或I/O板卡)。这类板卡均参照IBM-PC机的总线技术标准设计和生产,用户只要把这类板卡插入IBM-PC机主板上相应的I/O扩展槽中,...

    2020-04-30 32 0

  • 研华数据采集卡的选用及应用pdf

    研华数据采集卡的选用及应用pdf

      1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。  装备制造业与信息化高层论坛研华数据采集卡的选用及应用。刘成芳高长水+(南京航空航天大学机电学院南京...

    2020-04-30 31 0

  • 关于研华数据采集卡的使用问题

    关于研华数据采集卡的使用问题

      本来现在刚开始学习,使用研华的数据采集卡PCI-1710L的电压值,现在使用波形发生器发出正弦波连接在导轨接线端上面,然后再Labview进行波形的显示,以下是程序框图  以上两组波形是当设置波形发生器中...

    2020-04-30 31 0

  • 研华数据采集卡 性能及技术指标

    研华数据采集卡 性能及技术指标

      研祥工控机IPC-810,研华工控机代理,深圳研祥工控机,深圳研华610L610H原装工控机,研华数据采集卡原理。深圳研祥工控机代理华南区总代理,深圳研华工控机代理华南区总代理  模拟通道输入数:16路单...

    2020-04-30 30 0

  • 数据采集卡原理

    数据采集卡原理

      研祥工控机IPC-810,研华工控机代理,深圳研祥工控机,深圳研华610L610H原装工控机,深圳研祥工控机代理华南区总代理,深圳研华工控机代理华南区总代理  数据采集(DAQ),是指从传感器和其它待测设...

    2020-04-30 30 0

  • 研华数据采集卡pci-1710

    研华数据采集卡pci-1710

      计算机测控系统——数据采集卡李江全石河子大学机电学院电气工程系2009年11月数据采集卡概述数据采集卡的产生为了满足IBM-PC机及其兼容机用于数据采集与控制的需要,国内外许多厂商生产了各种各样的数据采集板卡(或I...

    2020-04-30 28 0

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论: