08-08-2012 07:59 AM
Hello,
I'm using a 32 channel NI9205 analog input module, connected with a NI cDAQ-9174 chassis and LABVIEW 2011.
I have created a task in the Measurement and Automation Explorer which has 16 analog input virtual channels (each one with it's input configuration, scale, calibration, etc..). Inside LABVIEW I open this task to do some data acquisition, but I just want do read some of the 16 channels (user-defined), not all of them, so before the "DAQmx Timing" I put a "DAQmx read node" and I set the ChannelsToRead with the names of the channels I want to read. It seems to work, but when I set the acquisition rate it comes the error.
The acquisition module supports a 250kHz rate (divided by each channel). So, if I set 5 channels to read, for example, it should work with a rate until 50kHz. But everytime I try to use a acquisition rate higher than 15,625kHz (which is 250kHz/16) I get an error which says that the maximum rate is 15,625kHz. Like if I were using the 16 channels of the task, but I'm not..
Below there is the screenshot of the channels to read and timing configuration.
Thanks
Alexandre
Solved! Go to Solution.
08-08-2012 09:49 AM
You created a tak in MAX with 16 channels, and I am assuming that you are using that same task to start your daqmx, so you are preallocating channels and hence already divided the data rate 250/16 per channel. Try either creating new task with only 4 channels or just locally choose channels from your daqmx create task, and you should be able to reach max rate per chanel.
08-08-2012 10:51 AM
Hello Alexandre and welcome to the forums,
As odessy27 said you are not achieving the correct sampling rate as the task is being set-up to read 16 channels; despite you later specifying which channels to actually read.
To keep the configuration settings from your created task in Measurement and Automation Explorer (MAX) I recommend creating Global channels from these. A Global Channel will store your configuration for each physical channel and can be accessed from multiple tasks
Create a Global Channel by right clicking the physical channels in your task in MAX then selecting Create Global Channel. .
You can drag these across to your block diagram and wire into the task/channels in terminal of a DAQ-mx function as shown in the image below.
If you change this to a control by right-clicking>>Change To Control then the channels can be set by the user and the maximum acquisition rate will adjust as expected.
Regards
Jamie
08-08-2012 12:02 PM
Thanks Jamie and Odessy.
I've searched a little more and I found these global channels.. I changed my program to use them so now everything is OK.
Best Regards
Alexandre