LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Parallel loops subVI output

Solved!
Go to solution

I need to read data from a few devices that I have connected via ethernet, LAN. I have multiple parallel while loops, one per device, which call the same subVI to do so. The indicators show the correct data initially, but from time to time they flicker with other values, so I believe the data of the devices might be getting mixed up upon reading. Do I have to worry if the subVI is reentrant or non-reentrant? As of now, it is non-reentrant, would that affect the output data that I am reading? 

 

0 Kudos
Message 1 of 3
(1,098 Views)
Solution
Accepted by topic author alphanull

I would have to see code to give any real advice.  What exactly is this common subVI doing?  Generally, I prefer having communication VIs be reentrant.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 2 of 3
(1,075 Views)
Solution
Accepted by topic author alphanull

@alphanull wrote:

The indicators show the correct data initially, but from time to time they flicker with other values, so I believe the data of the devices might be getting mixed up upon reading.


 

Are you talking about indicators on the subVI or on the main program? (If on the subVI, why is the panel even open?)

What are "other values"? (Values from other calls? Zeroes? Random glitches?) Are they isolated to one device/indicator or random to all?

 

Does the subVI retain data between calls (feedback nodes, shift registers, etc.). What exactly does it do? How quickly does it finish?

 

As has been said, if multiple instances of the subVI should be able to execute in parallel, it needs to be reentrant.

 

We cannot help more unless we see some actual code (VIs, not pictures)

0 Kudos
Message 3 of 3
(1,070 Views)