Auto-Reset specific mappMotion axis errors

My customer wants to be able to jog off the limit switches when they hit them without acknowledging the error. They also want to auto-reset the “Enable input low” message that occurs when they Estop. Both of these situations error out MpAxisBasic, which prevents additional movements.

We were able to do this easily in ACP10 by watching “MpAxisBasic.Info.Diag.Internal.Code”, but in mappMotion that number is not nearly as specific. The only way to know what alarm is active is through MpAlarmX, and that would involve searching through the list with code and comparing strings because of the unhelpful “System” and “Operation” alarms that are also triggered.

I have a Reset All button on the HMI that also resets mpAxisBasic which clears everything and allows running, but I hesitate to use that from code because it might clear out important Alarms from other things.

I don’t want to disable any AlarmX alarms in the MpAxis configuration because that will hide problems from me and the operators, causing confusion when axes don’t work. Does anyone else have better methods for this?

You could use Automation Help: MpAlarmXCheckState() if you want to check for a specific alarms state and then use Automation Help: MpAlarmXReset() to reset it.

B&R has added a new FunctionBlock to read Errors in MappMotion 5.20. MC_BR_ReadErrorText
It might be helpfull to get an easyer access to the actual error.

As the Acknowledge of the Motion System error and AlarmX Errors are separated. It might be a solution to just auto Acknowlege all Errors at the Mapp-Functionblock. The Messages for the User in the HMI (AlarmX) will still be shown. For Diagnoses all Messages are in the logger and easily accessible.


MpAlarmXCheckState is exactly what I’m looking for, that slipped my mind for some reason.

And that’s a good reminder that the mappMotion logbook keeps all the messages for diagnostics.


1 Like