So I'm working on a test system with three independent stations that all function the same way so I have a "Test Engine" re-entrant VI that runs on each of the stations. In this VI there are several loops which I need to pass data between. Just to give a brief idea of the structure, there are 4 loops, a User Event loop, Controller loop, Test Sequence loop, and Status loop.
The User Event loop no surprisingly handles user events for that station and passes messages to the control loop
The Control loop manages messages specific to the test station as well as messages from the main tester app such as "Stop All stations, etc"
The Test Sequence loop, waits fora "Test start/Stop" from the controller loop and then executes a series of test scripts sequentially
The status loop continuously monitors the station conditions and sets holding flags depending on the conditions to allow or prevent certain actions by the user
Normally, for a smaller, simpler VI, I would use queues or functional globals to do this, no sweat, but because this is a re-entrant VI, I can't go the functional global route and using queues would require a more complex design than your typical producer/consumerand which would require more work than the benefit it would provide. Right now, the best methodmyself and and the other guys I work with have come up with, is to use local variables and hide the FP controls. Anyone who has used LabVIEW for awhile knows the general issues withthis so I'm wondering if anyone has ever encountered a similar problem with passing data between loops in a re-entrant VI and how you might've solved it? Thanks,
- Will