MpAlarmX with several X90 PLCs

Our machine has four X90 controllers which are connected via TCP/IP or OPCUA. Only the most important process variables are exchanged between the controllers via OPCUA.

image

The main visualization runs on a PLC. Process variables and error messages from all controllers are to be displayed from there.
I cannot access other controllers via MpAlarmX.

How did you solve the alarm management with multiple controls?

Thank you!

1 Like

There are many different ways to handle this, so I’m curious what other people come up with.

My first thought would be to create a common “Alarm Information” data structure that’s used across all of the controllers. This structure would contain information about any active alarms. Your main PLC would then read these variables (i.e. over OPC UA) and set alarms within its own MpAlarmX implementation accordingly.

What data you decide to transfer depends on how modular you want your alarm system to be. If you know all of your alarms ahead of time, you can implement every single one in the main MpAlarmX config file, including

  • Alarm Name
  • Message
  • Code
  • Severity
  • Applicable reactions

Then, your X90 controllers just have to tell the main PLC which alarms are active (by name only) and the main PLC has all of the other information to trigger the alarm and react to it within the program.

On the other end of the spectrum, you could make this system entirely modular. Your main MpAlarmXConfig file can have a few template alarms which make use of Alarm Text Snippets. Then, your X90 controllers tell the main controller what alarms are active and include snippet information that gets inserted into an alarm message. This would also require some sort of implementation between them so that the X90 controllers can tell the main PLC to do different things in the program to react to their alarms. But you wouldn’t have to make many edits to the MpAlarmX configuration as you add alarms to the system.

Either way, how you set the alarms on the X90 controllers is up to you. You could use MpAlarmX on these to monitor alarm conditions and react to them. This can be helpful for debugging (and it simplifies your programming a bit) even if you won’t use multiple visualizations in the finished product. However, MpAlarmX also adds some overhead, and you may not want that on your X90 CPUs.