Reference Design Content

cancel
Showing results for 
Search instead for 
Did you mean: 

Software Watchdog and Watchdog Process Libraries

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.

 

Watchdog.PNG

 

Requirements

 

Software

  • LabVIEW 2015
  • LabVIEW 2015 Real-Time Module

Hardware

  • LabVIEW Real-Time Target

 

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.

 

Comments
ba_0101
Member
Member
on

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".

Jack_A.
Active Participant
Active Participant
on

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.

Shane-C
Member
Member
on

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.

Contributors