Diagnosis – Thresholds
In addition to the diagnosis values, CODESYS Safe Control Core provides some warnings which are issued when specific thresholds are exceeded.
Exceeding a threshold can lead to errors in the system, both as a consequence and if the situation deteriorates further.
The warnings are issued via the CODESYS logger.
CODESYS Safe Control Core provides the following warnings when thresholds are exceeded:
Execution time of the application
A warning is issued when the application time exceeds a percentual threshold of the cycle time. The percentual deviation (default value: 80%) can be changed as a setting in the CODESYSSafeControl.cfg file.
[CmpSIL3SL] ;; Application execution threshold ApplicationExecutionThreshold=80
The following warning is issued by the CODESYS logger:
Threshold exceeded: Application execution time exceeded configured threshold! Threshold (<configured threshold> percent of application cycle time): <maximum allowed threshold> µs, Execution time: <execution time of the application> µs
Jitter of the application
The jitter of the application execution is calculated by the CODESYS Safe Control Core. If the threshold of 5% is exceeded as compared to the last execution, then the following warning is issued by the CODESYS logger.
Threshold exceeded: Application jitter exceeded threshold! Threshold (5 percent of application cycle time): <maximum allowed jitter>, Jitter: <jitter of the application> µs
Deviation of remote timestamp and local timestamp in the Time Provider
The CODESYS Safe Control checks the difference between the two time intervals which have elapsed on the Time Provider and locally since the last Time Provider package was received.
If more than 5% has been exceeded, then the CODESYS Safe Control throws an exception error. In order to react early to problems when transmitting the Time Provider packages, the following warning is issued by the CODESYS logger as soon as the threshold is exceeded by 4%:
Threshold exceeded: Time Provider interval deviation exceeded threshold! Deviation: <deviation> µs, Tolerance: <maximum allowed threshold> µs
Execution of the communication task
The communication task is executed to receive and process services and to guarantee the CODESYS communication between the CODESYS IDE and the CODESYS Control.
If this task is not executed for a multiple time of the cycle time of the application, then the following warning is issued by the CODESYS logger:
Threshold exceeded: Communication task not executed in configured threshold! Threshold (Multiple of application cycle time): <maximum allowed threshold> µs, Deviation: <deviation> µs
Execution of the external timer task
The external timer task receives the packages from the Time Provider and prepares them for further processing in the CODESYS Safe Control.
If this task is not executed for a full cycle time of the application, then the following warning is issued by the CODESYS logger:
Threshold exceeded: External Timer task not executed for complete application cycle! Threshold : <maximum allowed threshold> µs, Deviation: <deviation> µs