fbi304 发表于 2008-6-5 19:40:29

再求CPUBBS,数据采集问题

我昨天可能没描述明白我的问题.我的问题是这样的
1.有个 循环,每10ms循环一次,我在一次循环中要发2个模拟量出 去,采集4个模拟量进来
2.6个量要同时产生
3.我的程序如下:
DAQmxCreateTask ("", &gTaskHandle);//创建采样任务
   
    DAQmxCreateAIVoltageChan (gTaskHandle, "Dev1/ai0", "", DAQmx_Val_Cfg_Default, -10.0, 10.0, DAQmx_Val_Volts, NULL);//设置采样通道
   DAQmxCfgSampClkTiming(gTaskHandle,"",rate,DAQmx_Val_Rising,DAQmx_Val_ContSamps,sampsPerChan);//设置采样频率(我可能没设明白)
    DAQmxGetTaskAttribute(gTaskHandle,DAQmx_Task_NumChans,&gNumChannels);
   
    if( (gData=(float64*)malloc(sampsPerChan*gNumChannels*sizeof(float64)))==NULL ) {
            MessagePopup("Error","Not enough memory");
            }
   
       
    rk(n,h_step,0);
        i=0;
        ii=0;
    do
    {
                           for(j=0;j<100;j++){
                        PlotOut=y;
                        PlotOut=caijiin;
               
                }
      
                DAQmxReadAnalogScalarF64 (gTaskHandle, 10, caijiin, 0);//我采集的一个通道的数想放到caijiin数组中寸下来,也是在10ms的循环里
//                DAQmxReadAnalogF64(gTaskHandle,1,10.0,DAQmx_Val_GroupByScanNumber,gData,1*gNumChannels,&numRead,NULL);
                plotvalue=y;
//                plotvalueZ=caijiin;//

+
                rk(n,h_step,1);      
                plotx=y;
//                plottx=y;
//                plottz=y;
                ++i;
                NN=i;
                }

    }
    while(y<=y && y>0);
        CycCount=i;
       
        if (FileSelectPopup (proj_dir, "*.dat", "*.dat","Name of File to Save", VAL_OK_BUTTON, 0, 1, 1,0, file_name) > 0)
        {
        ArrayToFile(file_name,PlotOut, VAL_FLOAT,100*CycCount,100,VAL_DATA_MULTIPLEXED,
                VAL_GROUPS_AS_COLUMNS,VAL_SEP_BY_TAB,30,VAL_ASCII,VAL_TRUNCATE);
       
        }
       
        break;


但总采集不出数据,您帮我看看.我第一次用这语言做采集计算.不明白.感谢回答.
页: [1]
查看完整版本: 再求CPUBBS,数据采集问题