用凌华PCI-9111数据采集为何运行出错 点击:812 | 回复:2



古玉

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2005年6月01日
发表于:2005-08-18 14:46:00
楼主
请教一个问题:在VC6.0中用一个DGraph控件显示由数据采集卡采集到的数据。采集部分的代码如下(基于对话框的程序): void CDlgTest::OnStartAI() { /*----变量定义-------*/ I16 err,card_num = 0; BOOLEAN halfready,fstop; U32 count = 0; channel = 0; samplerate = 2000; adrange = AD_U_10_V; readcount = 2048; char * filename = "9111d"; U32 pView; F64 voltagearray[2048]; /*--------注册卡------*/ if(card = Register_Card(PCI_9111DG,card_num)<0 ) { AfxMessageBox(_T("卡注册错误,请重新注册")); } /*-------配置卡---*/ err = AI_9111_Config (card,TRIG_INT_PACER, 0, 0 ); if(err!=0) { AfxMessageBox(_T("卡配置错误,请重新检查!")); } /*----设置双缓冲模式------*/ err = AI_AsyncDblBufferMode(card, 0); if(err !=0) { AfxMessageBox (_T("缓冲出错,请重新确认")); } /*--------------------------------*/ err = AI_GetView(card,&pView); if(err!=0) { AfxMessageBox(_T("获得模拟输入内存地址出错")); } /*----------连续通道读出-------------*/ err = AI_ContReadChannel(card,channel,adrange ,0,readcount, samplerate, SYNCH_OP); if(err!=0) { AfxMessageBox(_T("连续读出通道出错")); } /*--------------------------------*/ err = AI_ContVScale (card, adrange, (void *)pView, voltagearray,readcount); if (err!=0) { AfxMessageBox(_T("连续....出错")); } for (int k=0; k< readcount/80,k<10; k++) { for (int i = 0 + k * 80; i< 80 + k * 80; i ++ ) { data[i] = voltagearray[i]; } m_Graph1.SetPlotNum(1); m_Graph1.PlotGraphs(ArrayToVar(data,100),1,BoolToVar(false)); } Release_Card(card); } //上面部分变量参数在对话框的头文件中定义了。 问题: 1、AI_ContReadChannel()后面的代码是我从一个例程中直接拷上去的,不过我运行后发现从这个函数开始err的值为-7,然后就运行不下去了。 2、另外一种顺序是Register_Card()-->AI_Config()-->AI_AsyncDblBufferMode()-->AI_ContScanChannelsToFile()--> do { do { AI_AsyncDblBufferHalfReady(card, &halfReady, &fStop); } while (!halfReady); AI_AsyncDblBufferTransfer(card, NULL); ........ } while(!kbhit()); AI_AsyncClear(card, &count1); Release_Card(card); 请问这两种方式有什么不同呢。是不是第一种方式非双缓冲模式,第二种方法为双缓冲模式? 提问题没经验,可能比较乱,请大家多多帮忙!最好哪位能发个运行成功的例子(最好非控制台的例子)邮箱:bky_2004@163.com.QQ:63161497



古玉

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2005年6月01日
发表于:2005-08-19 09:43:00
1楼
高手帮帮忙啊!

古玉

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:15
  • 注册:2005年6月01日
发表于:2005-08-23 16:54:00
2楼
怎么没有高手愿意帮我一把呢!

热门招聘
相关主题

官方公众号

智造工程师