Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

with one VI open, others do not function

I have a VI that reads voltage from a Baratron gauge, and saves that and the time into a text file for spreadsheet use. If this VI is running then all other VI's either don't run or don't update. For instance, another VI runs 4 different mass flow controllers (MFCoperations.vi)- if I change the setting on any of the MFC's the flowrates don't change until I stop my "baratron.vi." More importantly, I can't seem to figure out why the most important vi I have won't work with baratron.vi running- this one is called "valve_ops_vcr.vi." I've attached all three.
What gives?
Download All
0 Kudos
Message 1 of 2
(2,343 Views)
Hello Jeff,

For starters, your baratron VI has a while loop with no timing. That means as soon as it takes a reading, it turns around and takes another. It looks to me like it is hogging your processor. Also, when one data acquisition process is running, another cannot run at the same time. It looks like your acquisition runs for 1 second and then immediately runs again.

Suggestions:
1. Can you get by with less than 100,000 averaged points? If so, you could acquire for a shorter time, then put a wait in the loop to let other processes run.
2. Can you get by with fewer logged averaged values? If so, you could acquire your 100,000 points, then wait for a second to free up the processor.

General Suggestions:
1. Any time you can, use loop timing.
Loops that run wild should be short lived.
2. I noticed several write to digital lines. You could do one single port write instead.
3. If these processes all need to run simultaneously, and share hardware resources, you might want to look into some type of architecture to control these as subVIs rather than running them all independently.

Best regards,

Doug Norman
0 Kudos
Message 2 of 2
(2,343 Views)