收藏 收藏

凌华 数据采集卡PCI-9812在线问题

凌华 数据采集卡PCI-9812图片
目前该产品的统计信息
常见问题 在线问题 说明书 产品驱动
0条 2条 0条 0条
发布凌华 数据采集卡PCI-9812的技术问题 凌华 数据采集卡PCI-9812的常见问题
厂商服务热线:+86-10-5885-8666  厂商联系电话:+86-10-5885-8666

发表对Adlink/凌华厂商的评价
发表对该产品的评价

1行 当前 1/1 首页 1 尾页
使用双缓冲采集数据时出现问题

本人按照使用手册上的提示编写了一段程序,主要是希望能用20MHZ的采样速率连续采集5秒钟左右的数据(注意是连续的,中间不能由间断),所以采用了双缓冲,可是结果却并不是想象中的那样!我采用了两种方法编写,都不行,不知是不是采集卡出现问题?还是采集卡不支持高速连续采集过长时间? 第一种是由界面输入采样周期数,从而算出采样的总点数,再计算采集的次数,然后通过设定循环来办判断什么时候采集结束: cishu = cishu - 1 If cishu <= 0 Then clear_op = 1 End If ,但是出现的问题是,例如我想采集4秒钟的数据,所以采集的总点数是80M,按理来说整个采集过程应该持续4秒钟结束,然而现实情况是不到半秒钟缓冲器的数据就达到80M!!这是什么原因??现附主要程序如下: (1) result = AI_9812_Config(card, CLng(cobTrigMode.ListIndex), CLng (cobTrigSrc.ListIndex) * 8, CLng(cobTrigPol.ListIndex) * 64, P9812_AD2_GT_PCI Or (CLng(cobClkSrc.ListIndex) * 256), CLng(cobTrigLevel.Text), CInt(txtPostCount.Text)) Status = 0 result = AI_AsyncDblBufferMode(card, 1) result = AI_ContScanChannels(card, ch_cnt - 1, range, gnBuffer(0), dma_size, sample_rate, ASYNCH_OP) While clear_op = 0 While HalfReady = 0 result = AI_AsyncDblBufferHalfReady(card, HalfReady, Status) Wend result = AI_AsyncDblBufferTransfer(card, gnBuffer(j)) j1 = dma_size / 2 j = j + j1 cishu = cishu - 1 这一段主要判断采集次数是否 If cishu <= 0 Then clear_op = 1 End If Wend result = AI_AsyncClear(card, count1) 第二种情况是:设定时钟,让整个循环持续4秒,出现的问题是,在循环采集持续不到1秒钟的时间内就出现了错误,说是内存溢出,而且缓冲器中的数据已经超过100M!什么原因? result = AI_AsyncDblBufferMode(card, 1) bgtime = Timer result = AI_ContScanChannels(card, ch_cnt - 1, range, gnBuffer(0), dma_size, sample_rate, ASYNCH_OP) While clear_op = 0 While HalfReady = 0 result = AI_AsyncDblBufferHalfReady(card, HalfReady, Status) Wend result = AI_AsyncDblBufferTransfer(card, gnBuffer(j)) j1 = dma_size / 2 j = j + j1 If Timer - bgtime >= cjtime Then clear_op = 1 End If Wend 望尽快给出合理解释(比较急).谢谢! 我的邮箱是 : huangping@stu.xjtu.edu.cn

提问者: MyPrice网友 | 提问时间: 2007-10-31 10:18:48 | 回复(1)

我来回答
  1. 1.请致电厂家服务电话:010-58858666转采集卡客服,最好找张斌,是高手。
    回答者: guobaogk 2008-01-05

回复:使用双缓冲采集数据时出现问题

用户名:
* [回复]
* 回复:
* 验证码:

价格检索工控产品

工控产品月关注排行