The Watchdog Process library uses the Software Watchdog library in conjunction with the RT hardware watchdog to make sure that all of the processes registered with it are still operating in a timely manner. This process is meant to be executed on a real-time target and will reboot the target if one of its registered processes does not respond as expected.
Examples
The Watchdog Process Library will run asynchronous to the rest of the application and make sure that all of the other processes continue to run.
Requirements
Software
Hardware
Support
Please post comments, feedback and questions in the comments below.
History
Version | Date | Description/Changes |
---|---|---|
1.0.0.24 | March 2016 | Initial Release |
Downloads
Use VI Package Manager (VIPM) to install these libraries.
Is this replacing the NI Software Watchdog library? It looks like most of the same VIs are used but this one is restructured and "cleaner".
This library is built on top of the NI Software Watchdog Library. You still need to add the Software Watchdog VIs to the other processes (While Loops) that you want to have this process monitor.
Okay, I'd love to be wrong about this so someone please tell me where I went wrong if so. It seems to be that there is a priority inversion problem on the "Close.vi" of this watchdog library. If the "Close.vi" happens to execute the "RemoveWatchdog.vi" at the same time the watchdog loop is running the "GetAllWatchdogs.vi" then they will lock and execution stops. The Close.vi is stuck because the Remove VI can't execute until the Close finishes and releases the Watchdog reference. The Watchdog reference however cannot release because the "GetAllWatchdogs.vi" already has the pound reference open.
I modified the example called "Getting Started_SW Watchdog.vi" to loop continuously . On my machine I usually only get about 0-5 executions before it locks and won't go on. I've got some thoughts on work arounds to this, just thought I'd bring it up since there may be others using this library and maybe someone can point out something I obviously missed?
P.S. I know I should probably post this somewhere else, but I couldn't find anyone talking about this toolkit anywhere else so I posted here.