Applies To:
  • CitectSCADA 3.xx, 4.xx, 5.xx

I have Primary and Standby Alarms Servers, and I want to log my Alarms to log devices. However, my log files only seem to get logged on the Primary Alarms Server. If the Primary gets shutdown, then they log on the Standby Alarms Server. Can I get them to log to both?

I also want each Citect PC to log its own hardware alarms. How do I configure this?


Citect's alarm system is designed to automatically log alarms only on the Primary Alarms server. If the Primary Alarms Server is shutdown, the Standby Alarms Server will begin logging to the alarm log and summary log devices. When the Primary is restarted, it will resume the logging of alarms and the standby will cease logging. Normally, you would have a local drive path specified for your log devices, and this will result in some log files residing on your Primary Alarms Server and some log files residing on your Standby. Currently there is no facility to automatically log alarms on both servers. If you do want to retain a backup copy of your alarm and summary information, you can use the file copy facilities to copy the files around. In order to have a single directory for all alarm files, regardless of which Alarms Server is logging, you could try using a common directory for the log files, e.g. on a file server. There may be some contentious issues here, especially if the files do not get closed properly due to an abnormal termination of Citect, for example. But the major disadvantage of not logging to a local drive is that it generates another possible failure point. For example, if the connection to your file server fails or the fileserver itself fails, then potentially no logs will be generated from either Alarms Server.

If you really want to log alarms on both Alarms Servers, you can achieve this through Cicode. Rather than using Citect's inbuilt alarm logging features, you can enable the alarm queue and process and log alarms by accessing the queue yourself via the Que functions. Only attempt this if you are experienced with Cicode. Note that logging alarms via this method will still not guarantee that your logs will be identical on both servers. This is mostly because both Alarms Servers are processing alarms independently, so there is no guarantee that they will request data from the I/O Server at exactly the same time. This means that fleeting alarms (unlatched) might be missed by one and seen by the other.

Hardware Alarm Logging is the only exception to the rule of alarm logging occurring on the Primary Alarms server. Hardware Alarms are specific to each PC and, therefore, are not processed by the Alarms Server. Hardware alarms are automatically assigned to alarm category 255. By default they are not logged to a device. To enable this, you will need to make a category 255 in your project. Alternatively, copy the one from the Include project into your project, and modify it to include an alarm log device. Next, create a device to log your alarms to. As category 255 alarms are processed locally, they can generate local alarm logs. That is, each Citect PC, (both servers and clients) can generate their own hardware alarm log. They will be unique to each PC. For example, each Citect PC may have its own HW_ALM.TXT log file.