自动化首页
论坛首页
游客:
注册
|
登录
|
搜索
|
统计
|
帮助
自动化在线 Autooo.net
»
嵌入式系统论坛
» 请教PCI9114HG的连续采集问题
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
繁体版
|
打印
|
推荐
|
订阅
|
收藏
标题: 请教PCI9114HG的连续采集问题
play
游客
UID 14
精华 0
积分 4210
帖子 4210
威望 0
金钱 0
阅读权限 1
注册 2007-7-13
状态 离线
#1
使用道具
发表于 2007-7-13 17:55
资料
短消息
加为好友
请教PCI9114HG的连续采集问题
我用PCI9114HG采集卡编了一个采集数据、运算和显示的程序。我将采集放在了一个线程里,在采集线程里我又同时创建了运算线程,具体代码如下(Delphi6): procedure SampleThread.Execute; begin datasize:=1024*32; datasize:=datasize div 2; while (not Terminated) do begin n:=0; repeat begin repeat AI_AsyncDblBufferHalfReady(card,HalfReady,StopFlag);//判断缓冲区是否半满 until HalfReady=0; AI_AsyncDblBufferTra fer(card,aiBuffer[0]);//传递数据 for i:=0 to datasize*2-1 do begin aiasyn_Buffer
:=aiBuffer
and 65535; aidata_Buffer
:=aiasyn_Buffer
*10/32767.0-10.0; end; for i:=0 to 1023 do begin for j:=0 to 31 do begin SignalDomain[j,i 1024*n]:=aidata_Buffer[j 32*i]; end; end; inc(n); end; until n=SamplePoint div 1024; Calculatethread:=CJCalculateThread.Create(false);//创建运算线程并立即执行 Sleep(1000); end; end; 这段代码每次运行到Sleep前面的时候,数组里的数据还是有的(不全为0),但是每当回到判断While not Terminated do的时候,数据就莫名其妙地全为0 了,所以导致我的运算线程总是接受不到数据,请问这是什么问题呀,是不是我的函数运用不对呀?或者是采集参数错误了吗? 我的采集参数为: Number of Scan:1024 Buffer Allocated(KB):256
[广告]
投票
交易
悬赏
活动
自动化在线 Autooo.net
自动化在线
> PLC论坛
> 变频器
> 电工电气论坛
> 传感器与仪表
> 电机控制
> PC-Based论坛
> 嵌入式系统论坛
> DCS论坛
> 工业以太网
> 现场总线
> 通讯技术
> 自动化软件
> 人机界面
> 机械传动
> 流体控制
> 电器元件
> 资料交流
> 自由灌水
专业论坛
> 广告发布
> 西门子论坛
> 三菱论坛
> 单片机论坛
> 论坛事务
输入您的搜索字词
提交搜索表单
当前时区 GMT+8, 现在时间是 2008-12-4 06:56
粤ICP备07500170号
By
Discuz!
5.5.0
© 2007-2008
Processed in 0.048822 second(s), 6 queries , Gzip enabled
TOP
清除 Cookies
-
联系我们
-
Autooo! Inc.
-
Archiver
-
繁体中文