Hello experts,
I have been at this for almost a year, part time. I've rewritten it several times from the ground up as I learned. Small samples are
It seems like this should be a standard large project for LabView, but I am having trouble tying it all together. I have been able to take the device examples from one of the manufacturers and collect data for a few days, which is great. Now, how can more be added? I'm hoping there is a thread or example stash with all the answers.
The scenario is an electrical test setup for LED drivers, with four or more pieces of test equipment (up to 21) that need to scan (take samples) at the same rate and time. The minimum is an AC source, two power meters, and a DC electronic load. All need to save data to a file. The data will be voltage, current, power, and power factor. There need to be 3 to 12 tests that will need to be configured for: AC voltage and frequency changes, timing on each test from 30 seconds to 15 days, and the fewest number of files that contain all the data. I don't have NI hardware, so that limits the express VI's too. Later stages may need a Oscope or power analyzer to catch transients on RMS load, a DC power source, and thermocouples.
The project can be broken down into more manageable chunks. Is there an example that covers basic LED driver testing? Would the Core 3 training cover it all?
*) The configuration could be different based on the sample, so I started with a case structure for that. Inside that are the controls and initialization for each device.
*) What seems like should be next is a producer-consumer loop, with the measurements in the producer loop, and screen and file updates in the consumer loop. I've heard clusters may be unstable for what I need.
*) At the exit of the consumer loop is the device close and error recovery.
1) Looking for information, I can find example of how to set up one device, but not how to tie each stage to several devices at once. Is it better to have all the inputs loose just inside the config case? Or should they all be in a yet another while loop to be sure they sample at the same rate and time? Device selection and scan rate need to be common to all user visible panels. The rest need to be individual for each device controls. Is just inside the config case right for these to?
2) With more devices, each control and input is on the front panel, making it crowded. Ideally, each manual control should have matching a front panel control. Adding tab control helps to organize, but are sub-panels the best way to clean up the users view? Is there a better way?
3) What is the best point to get data for an input queue? What is the best format for the data to be in the producer and consumer loops? Should all the data be converted to dynamic and merged, or is it better to build a 1d array from each device, then build a bigger array with all the data from all the devices? All into a 1d array, or a bundle for each device? Or should each device have its own queue, to better support parallel processing?
4) When the data gets to the producer loop, should it be combined into (or stay) in the same merged/array for similar devices, or everything split to the different devices? This seems to be where an action engine would be used. The consumer loop would take the data and
5)On the output to a file, all the data can be connected from the display to be converted to dynamic and merged into a Write To Measurement.VI tdms file. Should this VI be inside the consumer loop or just inside the config case structure?
I could post what I have now, but I am not filled with confidence on what i have.
Thanks in advance,
John