When a server redundancy switchover occurs and the
primary server is in the "not responding"
state, some alarms that have already been acknowledged or are gone continue to be displayed
in the AML,
Cause:
Since spontaneous values and alarm inputs from standby are received in different telegrams, they may differ. If the main thread on the server is blocked for a longer time, the standby receives the spontaneous value, because the value distribution is done in a worker thread. However, it does not receive the corresponding alarm event because the alarming is done in the main thread. Therefore, at the standby the violated limit is already reset to 0, while the corresponding alarm event is lost. This leads to a mismatch between the current violated limit on standby (correct) and the alarm ring buffer on standby ( outdated).
Solution:
The alarm ring buffer is cleared after the standby server is switched. If a pending alarm is found for a variable for which there is no longer a limit violation, it is cleared. An entry is also created in the DiagnosisViewer.
Precondition: The main thread on the server has been blocked longer than NetworkTimeout/2 immediately before the switchover. Otherwise, alarms during the switchover are handled correctly with the standby buffer. However, the standby buffer buffers value changes only for the duration of 3/2*NetworkTimeout.
To benefit from this fix: