04-06-2018 02:19 PM
@Nemord wrote:
I have had trouble submitting the VI before but I will attach it below and please let me know if you can open it.
Thank you. I apologize for "yelling" about the PNG -- I didn't recognize it as a Snippet (which usually has the LabVIEW Version in the upper right corner, missing here). As it happens, I've been unable to safely install LabVIEW 2017 on my work and home PCs, but have managed to put it on a Test system that I can "borrow" using Remote Desktop, so I've been able to open your VI.
Here's what I think -- You need to Re-Design this Project with the idea of "Write (Some) Documentation First". I'll get you started:
I'm not sure I understand what your real needs are, as I don't have the answers to the questions I raised (above). But what I think you'll need to develop is a multi-looped Parallel Processing system (not that difficult to do with LabVIEW) that has the following sub-sections:
Notice we've got six parallel loops running -- a P/C (or QMH) pair for the UI, a pair for Station 1, and a pair for Station 2.
Now you need to learn how to "Encapsulate Function" and create lots (like at least 20-30) sub-VIs so that you can "hide the details" and have your Top-Level Code consist of little more than Structures (Loops, Case Statements), Queues (to tie loops together), Shift Registers (to hold variables needed for Loop "knowledge") and sub-VIs (that you write that "do the work").
Writing a sub-VI that has Error In, Error Out, up to 3 other inputs and up to 3 outputs (you can have more, but strive to K.I.S.S.) is much simpler, because you are taking known inputs, "doing something simple", and getting a (simple) output.
Whew! A lot to digest, right?
Bob Schor
04-09-2018 07:56 AM
Definitely a bit to digest but I'm sure will be very helpful to creating a better functioning VI. I wanted to try and answer some of the bullet points made while submitting a second VI of the two test stand VI.
I haven't been able to digest everything just yet haha I am sure that will take a little while. What I have done is split my giant case structure into two to see if I could run one stand independently and start the next stand later on. The first portion works but as soon as the second case statement is true I lose both signals. I'm pretty sure it is a rookie mistake but I'm in the process of trying to figure out how to create less. Any way my VI with two cases is attached below. It is still large to look at until I break down portion into Sub VI's.
04-09-2018 10:16 AM
Okay I have done a bit more experimenting and came up with a terrible fix... hopefully find out a better solution with help or just more research and looking at examples. Anyway I decided to use one daqmx create virtual channel, daqmx sample timer, and than created two daqmx reads set for analog 1D waveform Nchan Nsamp. Using a signal spliter I split the first daqmx read and leave the other signal split empty... than go to my other daqmx read and do the same. The daqmx read's are located in two seperate case structures like before but now no interference when I start the second test stand.