01-12-2012 02:58 PM
Hi!
I'm working on a project with 62 analog input channels, spread across three devices: one PCI-6033E and two PCIe-6343.
This is for a monitoring program, so acquisition is continuous and I will need to perform calculations, as well as create output files at specific time intervals and events (1-ms record rate).
I already installed an RTSI cable, added it in MAX, and defined the devices that are on it
All of the channels are wired as differential and will utilize the same sampling conditions, except for twelve that need to be at a higher rate (plus they're RSE) and one that is being used for a thermocouple.
The smallest number of tasks that I can group these into is five.
Here are my questions / issues:
1) How exactly do I synchronize and start my tasks? Some things I read make me think that MAX takes care of most of this, but I'm not sure if I still need to explicitly export a timebase from a Master task. I've read that when using E and X-series devices, the E-series should be the master - is this correct?
2) How will the start trigger work? Do I need to wire in a triggering VI to each task? The trigger comes from the Master, correct?? Do I need to use a sequence structure to start the acquisition? If so, do I start every Slave task at the same time and then the Master or do they need to be in some order?
3) I need to perform calculations on the measurements based on groups - each test part has five channels associated with it, with two channels common to all. Can I use a subVI for the acquisition and grouping of the data for analysis or is it better to control this within the main VI? I realize this might not be the correct form for this question, but at the moment I'm thinking about modularity (as well as trying to keep from creating one big mess in a single VI) and if doing something like this will take too many resources. How do most people deal with high channel counts and multiple devices?
Please keep in mind that I've never synchronized tasks before, plus I'm still somewhat new to LabVIEW.
Any help would be greatly appreciated!
Thanks,
Shaun
01-13-2012
01:29 PM
- last edited on
11-12-2024
12:52 PM
by
Content Cleaner
Hello Shaun,
1) You're going to want to synchronize a start trigger and the timebases. The master device will provide the trigger and time base to the slave devices. You need to make sure you start the slave devices before the master device. This will ensure that the slave devices are ready to receive the start trigger when the master device sends it. As long as none of the slave devices are exporting signals to each other, it doesn't matter when they start relative to each other.
Yes, you should use the E-series device as the master device.
2) Answered in 1), but yes, you do need to share a start trigger. As explained in the video, the master device will export a signal to the slave device.
3) You will probably want all the of the DAQ tasks to be in the same VI, since they have so many inputs that interact with each other. Depending on what you're doing in the main VI, you may want to keep your data acquisition there, since the DAQmx reads will be running in a while loop (assuming you're doing continuous acquisition). As far as analysis goes, it's fine to use a subVI there, but you may want to do a producer consumer architecture so that the data analysis does not slow down the data acquisition. The producer-consumer architecture is described here: