On a recent visit to a client site in Chile, the process control team expressed their dismay at the overwhelming number of alarms that the control room operators must acknowledge daily. This alarm volume led to the operators generally ignoring most alarms, and also led to the problem that import alarms were easily overlooked as they were buried in the long list of alarms from the plant. They had integrated their alarms with their data historian, and had an OPC alarms and events server, but had no good way to intelligently filter and classify alarms, and no way to escalate alarm notification or to pass alarms out of the control system. We talked about how nice it would be to have a tool as powerful as KSX to monitor, filter and classify alarms, and intelligently pass alarms on to different groups like instrumentation and maintenance via email or SMS texts.
I started thinking about how we could integrate this functionality into KSX in an elegant way to provide this functionality to one of our valued clients. After a couple of days of kicking around ideas, I put together what I feel is a great solution.
What I really wanted was an easy way to connect OPC events to KSX rule scripts. That is, when an OPC event is received, a rule script should be invoked with the event source, message, severity and time stamp as arguments. Then, I could use normal KSX rules to process the messages.
I added a tab in the Communication view to configure OPC Alarms and Events servers.
Then, in the rule script schedule view, I simply included the OPC Alarms and Events servers in the tree of available event sources, which previously only included attributes. So now, a rule script can be triggered off change events from attributes or from alarms and events from an OPC server. To set it up, just drag the OPC server from the event sources tree to the event triggers list in the rule script scheduler and you’re done.