Reset Watchdog

I/O Block

Description

The Reset Watchdog block restores the controller to an operating condition from a latched Watchdog Has Tripped shutdown condition. If the conditions that caused the watchdog to trip are not remedied before Reset Watchdog is used then Reset Watchdog will escape. The Initialize procedure in the standard.inc library calls Reset Watchdog when the program first starts. There should only be a need to use this command if the EStop signal can be tripped during machine operation.

Escapes

If Reset Watchdog fails a Watchdog Failed To Reset Escape Code will be generated.

This indicates that either the EStop circuit is not satisfied or that a particular task is trying to do too much in a single sample period and overrunning the sample. This is very hard to do in blocks since the necessary yield command is internally provided.

Examples

This button click procedure produces a watchdog has tripped condition due to a software fault:

What makes the routine badly written is attempting to perform 10,000 floating point multiplies in single controller sample period. This routine has to be written on the Console side and made accessible to the Block side since it is not easy to make this kind of mistake on the Blocks side. This block list restores operaton:

However that Reset Watchdog block might fail if the problem is still present. It is best to use Reset Watchdog inside of a Try Recover block to trap the escape. This block list monitors and explains status and restores operation:

In this Try Recover case there is only one block inside the Try section. The cause of the escape can only be that the watchdog failed to reset. However a Reset Watchdog might be part of a larger project and it may be necessary to identify this particular escape condition. This type of check could be made to find out if the source of the error in a called procedure was Reset Watchdog:

Related Topics

Watchdog Has Tripped
User Has Disabled