Watchdog Timer Does Not Work Properly Primary Software: LabVIEW Development Systems>>Professional Development SystemPrimary Software Version: 7.1 Primary Software Fixed Version: N/A Secondary Software: N/A Hardware: Digital I/O (DIO)>>Static>>PCI-6509, Digital I/O (DIO)>>Isolated>>PCI-6514, Digital I/O (DIO)>>Isolated>>PXI-6515, Digital I/O (DIO)>>Isolated>>PXI-6528, Digital I/O (DIO)>>Isolated>>PCI-6515, Digital I/O (DIO)>>Isolated>>PXI-6514
Problem: I am using the Watchdog Timer feature for the PCI-6515 Industrial DIO card so that the digital outputs of my system are set to safe-state levels in the event of a software failure. However, the outputs are not set to safe-states when the program is stopped, aborted, or closed, or the LabVIEW appliation is exited. The Watchdog feature only works if the program is paused or the computer crashes. Isn't the Watchdog Timer supposed to set the outputs to safe-states when the program is stopped, aborted, or closed or the LabVIEW application is exited? Solution: The Watchdog feature enables the digital board to constantly receive confirmation that the computer is still functioning properly. The main part of a watchdog timer is a software command to generate a delayed TTL pulse or toggle. The software is required to regularly reset the watchdog timer. If the pulse is not reset, due to a software failure, the delay expires and the TTL signal is generated, and the outputs are set to safe-states. Refer to the Developer Zone documents linked below for more information. You can implement the Watchdog Timer to set the outputs to safe-states when the program is stopped by wiring a boolean False to the auto cleanup input of the Create Watchdog Timer Task VI. Auto cleanup specifies if LabVIEW automatically destroys the task when the application completes execution. If auto cleanup is FALSE, LabVIEW does not automatically destroy the task, and safe-states are assigned after the programmed timeout. The task is destroyed when LabVIEW is exited. When the program is aborted, closed, or LabVIEW is exited, the Watchdog timer task is automatically destroyed as a safety precaution to avoid active tasks in memory. This could create unwanted circumstances such as a memory leak if the task is never destroyed. The Watchdog Timer is not meant to be used to set the outputs to safe-states when the program is aborted or closed, or the LabVIEW application is exited. As a workaround, change the properties of the VI so the user can't abort or close the program using the menu buttons. Navigate to File -> VI Properties. Choose Window Appearance from the Category pull down menu. Select the radio button labeled Custom and click the Customize button. Inside the dialog box titled Custom Window Appearance, uncheck the options to Show Abort Button and Allow User to Close Window. Related Links: Developer Zone Tutorial: Watchdog Timers Developer Zone Example: Using a Watchdog Timer to Disable Critical Systems During a Software Failure Attachments:
Report Date: 09/24/2004 Last Updated: 07/24/2007 Document ID: 3DN9FNLE |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
