LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

"How do I monitor the health of my remote systems and the validity of the data.

I have two remote RTOS systems feeding my Windoze Host a pile of data. I am trying to figure out how to monitor the health of these systems. I have found that if I stop the VI running on one of the remotes that the "Network Published Shared Variable" retains its' last value. This then displays meaningless data, which of course still looks valid, (sans update). I attempted to flush my array at the host and re-read the variable to re-populate the array. (That's how I figured out the the values are retained from the last read, even when the writing VI is stopped. The remote computer can even be shutdown, and the shared variable retains the last values!)
 
So now I think I need to monitor the "RUN" status of the remote VI's on both RTOS systems, and then somehow overwrite the values which are stuck in the dead shared variable, if the remote systems crash. I can probably kill all 3 systems on an error, but I would rather just display a message about which one has died. Data coming from the other one is still O.K. The best alternative would be to restart/reboot the system which has died.
 
I constructed an internetwork flip/flop to check that the VI's are running on all systems, but even that didn't quite work because the VI can crash at the wrong time during the toggle. Then I get an indication that they are running but indeed they are not. It would have been so much better for me if the variable would flush itself when the VI was not running.
 
Any Ideas?
0 Kudos
Message 1 of 3
(2,626 Views)
How about just adding a timestamp to your shared data?  When the supervisory
computer sees that the latest data is greater than n seconds old it knows it has
stale data and can respond accordingly.

Matt
0 Kudos
Message 2 of 3
(2,621 Views)

Thanks Matt, that was an angle I had missed. I'll give it a try.

 

Technomage

0 Kudos
Message 3 of 3
(2,605 Views)