Hi Guys,
i'm trying to set-up my software that acquiring data using a NI-6374.
I would like use 1 of 4 channel as direct acquiring process and other 3 channel as DMA mode.
I will be read channel number 2 always while DMA channel start acquiring will be done through counter channel of same NI-board that will be triggered througha digital output.
So i've create Task of Digital Output, Task Counter, and Task Analog Input as DMA, but in this last task i would have 1 channel nomral and 3 dma.
It's this possible?
DAQmxCreateDOChan(NITaskHandleDO,'Dev1/port0/line0',nil,DAQmx_Val_ChanForAllLines);
DAQmxStartTask(NITaskHandleDO);
NIDAQmxErrorDO := DAQmxStartTask(NITaskHandleDO);
DAQmxCreateCOPulseChanTime(NITaskHandleCO,'Dev1/ctr0',nil,DAQmx_Val_TimeUnits2_Seconds,DAQmx_Val_Low,0.02,0.02,0.1);
DAQmxCfgDigEdgeStartTrig(NITaskHandleCO,'PFI10',DAQmx_Val_Rising);
DAQmxSetStartTrigRetriggerable(NITaskHandleCO,true);
DAQmxStartTask(NITaskHandleCO);
DAQmxCreateAIVoltageChan(NITaskHandleDMA, 'Dev1/ai0' , nil, DAQmx_Val_InputTermCfg_Diff, 0.0, 10.0, DAQmx_Val_VoltageUnits2_Volts, nil);
DAQmxCreateAIVoltageChan(NITaskHandleDMA, 'Dev1/ai1' , nil, DAQmx_Val_InputTermCfg_Diff, 0.0, 10.0, DAQmx_Val_VoltageUnits2_Volts, nil);
DAQmxCreateAIVoltageChan(NITaskHandleDMA, 'Dev1/ai2' , nil, DAQmx_Val_InputTermCfg_Diff, 0.0, 10.0, DAQmx_Val_VoltageUnits2_Volts, nil);
DAQmxCreateAIVoltageChan(NITaskHandleDMA, 'Dev1/ai3' , nil, DAQmx_Val_InputTermCfg_Diff, 0.0, 5.0, DAQmx_Val_VoltageUnits2_Volts, nil);
DAQmxCfgSampClkTiming(NITaskHandleDMA, '' , CST_SAMPLE_RATE, DAQmx_Val_Rising,DAQmx_Val_AcquisitionType_ContSamps,CST_SAMPLE_PER_CHAN);
DAQmxCfgDigEdgeStartTrig(NITaskHandleDMA,'PFI12',DAQmx_Val_Rising);
DAQmxStartTask(NITaskHandleDMA);
i would have:
DAQmxCreateAIVoltageChan(NITaskHandleDMA, 'Dev1/ai0' , nil, DAQmx_Val_InputTermCfg_Diff, 0.0, 10.0, DAQmx_Val_VoltageUnits2_Volts, nil);
DAQmxCreateAIVoltageChan(NITaskHandleDMA, 'Dev1/ai1' , nil, DAQmx_Val_InputTermCfg_Diff, 0.0, 10.0, DAQmx_Val_VoltageUnits2_Volts, nil);
DAQmxCreateAIVoltageChan(NITaskHandleAI, 'Dev1/ai2' , nil, DAQmx_Val_InputTermCfg_Diff, 0.0, 10.0, DAQmx_Val_VoltageUnits2_Volts, nil);
DAQmxCreateAIVoltageChan(NITaskHandleDMA, 'Dev1/ai3' , nil, DAQmx_Val_InputTermCfg_Diff, 0.0, 5.0, DAQmx_Val_VoltageUnits2_Volts, nil);
DAQmxStartTask(NITaskHandleDMA);
DAQmxStartTask(NITaskHandleAI);