CmpSupervisor (LIB)

Version

3.5.17.0

Author

3S - Smart Software Solutions GmbH

Placeholder

CmpSupervisor

Description 1

This interface provides a generic and easy to handle supervisor for all vital operations in the runtime system.
This interface can be used for example to retrigger a hardware watchdog to detect a failure in such a vital operation (in case of a software error).
Interface can be used to:
  • Register/unregister a vital operation for supervision

  • Retrigger a vital operation to be alive

  • There is an explicit dead signal for desperate situations such as memory overwrite, etc. For these operations stTimeoutUs should be set to 0 to disable time check

  • Interfaces to read the global state of all vital operations and to interate over all vital operations

Use case: Use supervisor to support a hardware watchdog:
A cyclic task checks SupervisorOperationGetState() periodically and retriggers the hardware watchdog. In case the nNumOfFailedOperations is greater than 0 the cyclic task can
  • just prevent the retriggering of the hardware watchdog so that it expires or

  • check the causing operation and in the case it is not that important, give a second chance by reactivating its supervision. This is done by iterating through all operations by SupervisorOperationGetFirst(), SupervisorOperationGetNext(), and SupervisorOperationGetEntry() to find the causing operation and then by calling SupervisorOperationDisable() followed by SupervisorOperationEnable() to reactivate the supervision of the operation.

Contents:

Indices and tables

1
Based on CmpSupervisor.library, last modified 20.04.2021, 15:56:21. LibDoc 3.5.16.40
The content file CmpSupervisor.library.json was generated with CODESYS V3.5 SP16 Patch 3 on 20.04.2021, 15:56:21.