10-31-2013 05:30 PM
Hi,
I'm working with 2 USB X series DAQs (USB 6356). I am acquiring analog voltage data from all 8 channels on both DAQs (so 16 analog input channels total). I need the data acquisition to be synchronized and to trigger from an external digital source (a signal that I currently have wired into PFI0 of Dev A). I am using a sampling rate of 800 kHz, and a buffer size of 400 kS.
I have tried using one express vi for both devices; two separate express vis for each device; and recently changed to the DAQmx icons (as pictured in the attachment). Either way I get an error (error -201426: One or more devices do not support multidevice tasks.). It then references DevA and DevB as the devices that don't support the tasks. I was under the impression that multidevice tasks are okay with X series devices. I am using NI DAQmx 9.5.5.
In the attached picture, I have left out most of the while loop. The part of the diagram I left out is just for visualizing and saving the data, I have included the parts I felt necessary for describing my problem.
I would really appreciate any advice.
Thank you,
Leslie
Solved! Go to Solution.
10-31-2013 07:04 PM
The multiple device might not be compatible with USB devices. With PCI(e) you have the RTSI bus and with PXI(e) you have the PXI trigger/clock backplane. DAQmx autoconfigures to use those. I'm not sure it can do the same with USB. Hopefully somebody inside of NI will shine some light on this.
10-31-2013 11:37 PM - edited 10-31-2013 11:42 PM
I think crossrulz is right. No worries though, while they have to be in separate tasks your data will still be synchronized as you want. You will just have to do a couple things in software, because not all the data will be returned in the same array of waveforms. What you can do is create two tasks (one for each device), build an array of tasks, and when you do a read, just do it inside a for loop. Concatenate the waveforms from each read and you will have an array of waveforms with all your data just as if you read it from a single task. You will also need to configure your second task to trigger of DevB/PFI0 and split your trigger wire, wiring it to PFI0 on each device.
11-01-2013 03:25 PM
Thank you both, for shedding some light on my setup and this error. The information I was finding on the NI website did not seem to specify that USB Xseries devices were an exclusion to the statement made.
I have changed my program and built two separate tasks, which has eliminated the error 201426 message. I have attached a picture of my newest program. It is still not functioning, however no error messages are sent. for(imstuck), I'm not sure what you mean by "build an array of tasks" or read inside a for loop. We view the digitized signal from each channel (DevA ai0:7 and DevB ai0:7) separately anyway, so would concatenating the waveforms be necessary? When I run the program and "highlight execution" the program seems to get stuck on the DAQmx read tasks, no errors, it just doesn't proceed or send the waveform data. Am I missing something or is the for loop/concatenating the waveforms necessary?
Thanks again,
Leslie
11-02-2013 12:52 PM
@ldclaar wrote:
We view the digitized signal from each channel (DevA ai0:7 and DevB ai0:7) separately anyway, so would concatenating the waveforms be necessary? When I run the program and "highlight execution" the program seems to get stuck on the DAQmx read tasks, no errors, it just doesn't proceed or send the waveform data.
Thanks again,
Leslie
Nope, I just assumed since you were trying to read them all in one task that you wanted them grouped. Since your timeout is -1 and it's not returning, that implies that your start trigger isn't being seen by the devices. Are you sure you are getting a digital pulse on that line and that it's wired up correctly?
11-04-2013 11:53 AM
Thank you so much! You were right, my trigger signal was being degraded and contaminated due to splitting the signal. My program is up and running. Thanks again!
11-04-2013 02:35 PM
Glad you got it working.