PT-S959SDLX / PT-S959SDLXC Series User’s Manual
73
Watch-Dog-Timer
The watchdog timer serves as a safeguard against possible system lock-up in your industrial computer
system. In most industrial environments, there are heavy equipment, generators, high-voltage power
lines, or power drops that have adverse effects on your computer system. For instance, when a power
drop occurs, it could cause the CPU to come to a halt state or enter in to an infinite loop, resulting in a
system lock-up.
The application software created by user with the watchdog timer enabled, a RESET automatically
generated unless the software periodically triggers the timer within the setting time-out interval. That
is, while the system gets hung up, the running program can’t trigger the timer periodically. The timer
will generate a reset signal to reboot the system.
With this function, running programs can be restarted in the usual way even if an abnormal state
occurs.
The software can be configured using 255 levels (1 to 255 seconds) of timeout intervals for the
watchdog timer. There is also a 2-second tolerance for timeout intervals. To maintain normal system
operation, trigger the watchdog timer again using a user-written program with the tolerance in mind.
Ex.) If the time-out interval is set to 30 seconds, the user-created program must retrigger the
watchdog timer before 28 seconds will have elapsed in consideration of the tolerance. If the
program failed to retrigger the timer (if 28 - 32 seconds have elapsed), the system will
automatically reboot.
The I/O port is defined at address 2e/2fH. You can trigger/enable disable the timer by writing address
2e/2fH.
Here is an example for flow chart and programming how to use the watch-dog-timer.
(1)
Example flow chart
If [WDT Stop] is not performed within the limit
time set up by [WDT Start], system reset occurs.
When performing the re-start of WDT, it repeats [WDT Start] and [WDT Stop].
*
It is also possible not to perform [WDT Stop] instead of performing [WDT Stop] to [WDT Start], but to
perform [WDT Start] continuously at the time of a re-start.
(2)
Example programming
The following example is written in Intel8086 assembly language.
===============
WDT Initial
WDT Start
WDT Stop
START
Yes
WDT
Restart?
No
END
}