Applies To:
  • CitectSCADA 5.50, 5.50 Service Pack A, 5.50 Service Pack B, 5.50 Service Pack C
  • CitectHMI 5.50, 5.50 Service Pack A, 5.50 Service Pack B, 5.50 Service Pack C

Alarm redundancy works in a "hot standby" manner for most tasks. I.e. both alarm servers scan all the alarms all the time, independently of one another. However for the purposes of logging alarm summary information to a log device (eg an external database) then there is the concept of an active alarm server. This is so that the logged information is not duplicated.

The active server can be determined with the use of the Cicode function


However there is a problem whereby the swap over from one to the other relies on the network session between the two servers to fail / timeout. This situation will only occur where one server has truly failed and not where it has simply been shutdown. This is because in a shutdown the network sessions are correctly closed.

In the case of a failure of the primary server, then due to the default settings of Windows for NetBIOS and TCP/IP this could take over one hour before the standby server takes over the task of logging the alarms.

Modify the following Registry Keys:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBt\Parameters\SessionKeepAlive: REG_DWord = 60000 (1 minute, default is 1 hour)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\KeepAliveTime: REG_DWord = 3000 (3 seconds, default is 2 hours)

Please reboot your PC after modifying any of these registry keys.

Testing after the above modifications: Pull the network cable out of the Standby server, and measure the time it takes to switch to "Primary":

The following switch over performance was obtained when using Netbios:
Standby Alarm Server switches to "Primary" in roughly 60 seconds.

The following switch over performance was obtained when using pure TCPIP (Netbios=0, TCPIP=1, ServerHeartBeat=1, and DNS section filled out):
Standby Alarm Server switched to "Primary" in 3 seconds reliably.

As you can see, there is a direct relation to the SessionKeepAlive for Netbios, and KeepAliveTime for TCPIP.

Note however that since the registry settings affect all network communications, the suggested settings may be considered to aggressive for general use.

Refer to the following KB articles for related information Q1195, Q1949, Q1884, Q1893 and Q2533 

Alarm Redundancy Logging