LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to Read All Channels in one task in vc

I want to read 6 channals' datas in VC. Now I create 6 task, and read it sperately.

I know that it can read from one task, but how??

 

DAQmxCreateTask("",&task1);
DAQmxCreateTask("",&task2);
DAQmxCreateTask("",&task3);
DAQmxCreateTask("",&task4);
DAQmxCreateTask("",&task5);
DAQmxCreateTask("",&task6);

DAQmxCreateAIVoltageChan(task1,"Dev1/ai0","",DAQmx_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
DAQmxCreateAIVoltageChan(task2,"Dev1/ai1","",DAQmx_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
DAQmxCreateAIVoltageChan(task3,"Dev1/ai2","",DAQmx_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
DAQmxCreateAIVoltageChan(task4,"Dev1/ai3","",DAQmx_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
DAQmxCreateAIVoltageChan(task5,"Dev1/ai4","",DAQmx_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);
DAQmxCreateAIVoltageChan(task6,"Dev1/ai5","",DAQmx_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);

DAQmxCfgSampClkTiming(task1,"",1000.0,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,N);
DAQmxCfgSampClkTiming(task2,"",1000.0,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,N);
DAQmxCfgSampClkTiming(task3,"",1000.0,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,N);
DAQmxCfgSampClkTiming(task4,"",1000.0,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,N);
DAQmxCfgSampClkTiming(task5,"",1000.0,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,N);
DAQmxCfgSampClkTiming(task6,"",1000.0,DAQmx_Val_Rising,DAQmx_Val_FiniteSamps,N);

DAQmxStartTask(task1);
DAQmxStartTask(task2);
DAQmxStartTask(task3);
DAQmxStartTask(task4);
DAQmxStartTask(task5);
DAQmxStartTask(task6);

 

DAQmxReadAnalogF64(task1,-1,10.0,DAQmx_Val_GroupByChannel,OriginData1,N,&read1,NULL);
DAQmxReadAnalogF64(task2,-1,10.0,DAQmx_Val_GroupByChannel,OriginData2,N,&read2,NULL);
DAQmxReadAnalogF64(task3,-1,10.0,DAQmx_Val_GroupByChannel,OriginData3,N,&read3,NULL);
DAQmxReadAnalogF64(task4,-1,10.0,DAQmx_Val_GroupByChannel,OriginData4,N,&read4,NULL);
DAQmxReadAnalogF64(task5,-1,10.0,DAQmx_Val_GroupByChannel,OriginData5,N,&read5,NULL);
DAQmxReadAnalogF64(task6,-1,10.0,DAQmx_Val_GroupByChannel,OriginData6,N,&read6,NULL);

DAQmxStopTask(task1);
DAQmxStopTask(task2);
DAQmxStopTask(task3);
DAQmxStopTask(task4);
DAQmxStopTask(task5);
DAQmxStopTask(task6);

 

DAQmxClearTask(task1);
DAQmxClearTask(task2);
DAQmxClearTask(task3);
DAQmxClearTask(task4);
DAQmxClearTask(task5);
DAQmxClearTask(task6);

 

thank you!

0 Kudos
Message 1 of 3
(2,606 Views)

DAQmxCreateTask("",&task1);

DAQmxCreateAIVoltageChan(task1,"Dev1/ai0:ai5","",DAQmx_Val_Cfg_Default,-5.0,5.0,DAQmx_Val_Volts,NULL);

DAQmxStartTask(task1);

DAQmxReadAnalogNChanF64(task1,-1,10.0,DAQmx_Val_GroupByChannel,OriginData1,N,&read1,NULL);//This proto changes fo DAQmxNch1sample.... I do not have it in front of me

DAQmxStopTask(task1);

DAQmxClearTask(task1);

 

int32_t DAQReadNChan1Samp1DF64_130(uintptr_t taskID, double timeout, int32_t incomingStatus, Array1DDouble **data, LStrHandle extendedErrorInfo);// is the C version


"Should be" isn't "Is" -Jay
Message 2 of 3
(2,598 Views)

I am very thank you for your reply, and I'm happy to tell you that I make it. The code I use is appended below. But now, there are some new problems about simultaneity. I'm very thanks if you read the problem appended.

 

http://forums.ni.com/t5/LabVIEW/How-to-read-mutiple-channels-simultaneously-in-vc/m-p/2507216

0 Kudos
Message 3 of 3
(2,571 Views)