Creating MpAlarmX


is there a easier way to implement the error messages in MpAlarmXCore?
Now I have to write every message like the picture below.
Also must be a Set, Reset and Acknowledge module built of each alarm.
It’s a lot of work.

In visual components it’s much easier. It’s possible to create a few Alarmlists.
When the text is in that list, the message would be displayed when the alarm
happened. Picture below.

MpAlarmX has a lot of different types of Monitoring alarms, which automatically check different limit values and can have different texts assigned to them. These alarms do not need the MpAlarmXSet or MpAlarmXReset function calls separately if configured accordingly.

Automation Help: Alarm Monitoring

When i have to monitor or watch about alarms like temperature or pressure, then it’s really helpful.
My problem is that i have to watch about over 300 diffent alarms.
Therefore I have to create Set, Reset … or not?

i’d the same issues moving from VC4 to MpAlarmX, to get rid of creating each Set/Reset FUB Instance I put it into a custom Library FUB, so i “just” have to create an FUB-Instance for each alarm.

Interface is just
MpLink to AlarmX
sInAlarmName : Name of the Alarm
bInAlarmSignal: Signal that activates the Alarm.

The generated AlarmID is stored in the FUB Instance

Here is the q&d impementation

  //Simple Alarm with automatic Reset
  //Alarms to be defined with
  // Multinstance - FALSE
  // Acknowledge - Requiered
  // Autoreset - False
  IF bInAlarmSignal THEN
    IF (udAlId = 0) THEN
			udAlId := MpAlarmXSet (MpLink, sInAlName);
	ELSIF (udAlId > 0) THEN
		MpAlarmXResetID (MpLink, udAlId);
		udAlId := 0;

The Alarm is callled like here

  FUBs.Alarm_EStopPanel.MpLink := gMpAlarmXCore;
  FUBs.Alarm_EStopPanel.sInAlName := 'EStopPanel';
  FUBs.Alarm_EStopPanel.bInAlarmSignal := NOT gbSInStopButtonPanel
  FUBs.Alarm_EStopPanel ();

I hope this helps
regards Michi


Servus Michi :wave:

looking could. I will try…

this is cool idea, thanks for sharing :slight_smile:

1 Like