ABB PLC Lab Manual · Lab 13 of 20 · Ladder Programming for Machines

ABB PLC Alarm Logic: Fault Latching, Reset and HMI Alarm Word

Make faults impossible to miss and safe to reset. Write an alarm list, latch each fault with SET/RESET, detect a missing contactor feedback with a timer, capture the first-out alarm and pack everything into one word for the HMI.

2,500+ engineers trained 4.9/5 Google rating 21+ years, Chinchwad, Pune Real AC500-eco + ACS580 trainer kits
Lab 13 of 20 · 60 minutes · Level: Intermediate
Quick answer

Each alarm gets a bit (Alm_MPCB_Trip) that is SET when the fault condition is TRUE and RESET only when the operator presses Reset and the condition has cleared. Feedback faults use a timer, for example command ON but no contactor feedback for 2 s. Any active alarm stops the motor command, lights the reset lamp and is packed into an alarm word for the HMI.

  • Latch alarms: a fault that clears by itself must still be seen and reset
  • Reset only clears alarms whose condition has gone
  • Use delays for feedback faults to avoid nuisance trips
  • First-out tells you what tripped first when many alarms appear together
HardwareKit with MPCB and contactor feedback
SoftwareStructured project from Lab 12
Time60 minutes

Without latching, a loose wire that drops the motor for 50 ms leaves no trace. With latching, the machine stops, the reset lamp lights and the alarm text tells the operator exactly which device to check.

Step 1: Write the Alarm List

Alarm design 15 minutes
BitAlarm tagConditionDelayActionHMI text
0Alm_EStopNOT DI_EStop_OK0 sStop allEmergency stop pressed or safety relay off
1Alm_MPCB_TripNOT DI_MPCB_OK0 sStop motorConveyor motor MPCB tripped (Q1)
2Alm_Contactor_FBCmd_Motor_Run AND NOT DI_Contactor_FB2 sStop motorContactor K1 did not pull in
3Alm_Contactor_StuckNOT Cmd_Motor_Run AND DI_Contactor_FB2 sStop motorContactor K1 did not drop out
4Alm_SelectorAuto AND Manual, or neither0.5 sBlock startMode selector fault
5Alm_JamConveying > 10 s without exit sensor10 sStop sequencePart jam between entry and exit (Lab 17)
6Alm_VFD_FaultACS580 status word fault bit0 sStop motorACS580 drive fault (Lab 20)
7Alm_VFD_CommModbus error for > 1 s1 sStop motorDrive communication lost (Lab 20)

Step 2: Latch and Reset in Ladder

SET / RESET coils 15 minutes

Alarm latching simulator

Trip the MPCB and set it back: the alarm stays until Reset. Turn on the motor command with no contactor feedback and wait 2 s. Press E-stop and watch the first-out.

Inputs (click / hold)
Outputs
Alm_EStop (bit 0)
Alm_MPCB_Trip (bit 1)
Alm_Contactor_FB (bit 2)
%QX1.1 Reset lamp
HMI_Alarm_Word: 0First-out: 0T_FB.ET: 0
001 Latch MPCB alarmDI_MPCB_OK%IX1.4SAlm_MPCB_Trip002 Reset only when MPCB is healthy againDI_Reset_PB%IX0.3DI_MPCB_OK%IX1.4RAlm_MPCB_Trip003 Contactor feedback missing for 2 sCmd_Motor_RunDI_Contactor_FB%IX1.5TONINQPT T#2sT_FBSAlm_Contactor_FB004 Any alarm lights the reset lampAny_AlarmDO_Reset_Lamp%QX1.1

Green contact = passing power. Orange moving wire = rung is true and the output is energised.

The alarm bits are set in one network and reset in another. Because the reset network also requires the condition to be healthy, holding Reset while the MPCB is still tripped does nothing.

Step 3: First-out and the Alarm Word

ST in Alarms POU 15 minutes
ST
(* pack alarm bits into one word for the HMI *)
HMI_Alarm_Word.0 := Alm_EStop;
HMI_Alarm_Word.1 := Alm_MPCB_Trip;
HMI_Alarm_Word.2 := Alm_Contactor_FB;
HMI_Alarm_Word.3 := Alm_Contactor_Stuck;
Any_Alarm := HMI_Alarm_Word <> 0;

(* first-out: remember the first alarm bit that came on *)
IF NOT Any_Alarm THEN
    First_Out := 0;
ELSIF First_Out = 0 THEN
    IF Alm_EStop THEN First_Out := 1;
    ELSIF Alm_MPCB_Trip THEN First_Out := 2;
    ELSIF Alm_Contactor_FB THEN First_Out := 3;
    END_IF;
END_IF;
Alarm classes

Split alarms into faults (stop the machine, need reset) and warnings (inform only, clear by themselves). Use two words so the HMI can colour them differently.

Step 4: Connect Alarms to the Machine

Motor_Logic, Output_Mapping 15 minutes
  • In Motor_Logic, add NOT Any_Motor_Alarm in series with every motor command.
  • Reset lamp = Any_Alarm; flash it when a new alarm is unacknowledged (Lab 14).
  • Import HMI_Alarm_Word into the CP604 as a discrete alarm group with the texts from Step 1.
  • Log alarm time stamps in the HMI, not in the PLC.
0 of 5 checks recorded
IDCheckHow to checkPass criterionResult
Alarm tests
A-01MPCBTrip and reset the MPCBAlarm stays until Reset pressed
A-02Reset blockedHold Reset with MPCB still trippedAlarm stays
A-03Contactor FBRemove feedback wire with motor isolated, command ONAlarm after 2 s, motor command off
A-04First-outE-stop then MPCBFirst_Out = 1
A-05HMI wordMonitor HMI_Alarm_WordBits match active alarms

Practice Exercise

Exercise

Add Alm_Selector (bit 4) with a 0.5 s TON and make it block a start in both modes. Add the alarm text to your HMI alarm list.

Troubleshooting

SymptomLikely causeFix
Alarm resets by itselfCoil used instead of SETUse SET in one network and RESET in another
Reset does nothingCondition still active or reset rung orderCheck the healthy contact in the reset rung
Nuisance contactor alarmsDelay too shortUse 1–2 s depending on contactor size
HMI alarm shows wrong textBit numbering mismatchAlign HMI alarm bit numbers with the word map

Frequently asked questions

How do I latch an alarm in ABB PLC ladder logic?

Use a SET coil driven by the fault condition and a RESET coil driven by Reset AND the condition healthy, in separate networks.

What is a first-out alarm?

The first alarm that became active in a trip event. It is captured when no alarm was active, so the root cause is not hidden by the alarms that follow.

Why use a timer for feedback alarms?

A contactor takes tens of milliseconds to pull in. A short delay avoids false alarms while still detecting a real failure quickly.

How do I show PLC alarms on an ABB HMI?

Pack alarm bits into a word and configure the HMI alarm list on that word, one text per bit.

Reviewed by Bhawesh Kumar SinghIndustrial Automation Trainer and Industry 4.0 Consultant · Softwell Automation · 21+ years industry experience

Get the full ABB PLC syllabus + free demo class

Share your details. A Softwell training advisor will call you within 24 hours with batch dates, fees and AC500 hardware access options.

No spam. Used only to share course details for this enquiry.

Practise every lab on real ABB hardware

AC500-eco PLC, ACS580 drive and HMI trainer kits: live online, Pune classroom or corporate in-plant training.

Request Course Details
Verified learning pathway

Discuss This Technical Course

Explore practical curriculum, software, hardware and batch options for this technology.

Content reviewed: 14 October 2026

ABB PLC & Automation Builder Learning Path

Follow the full 20-lab ABB AC500-eco practical series in order, or start from the ABB PLC Lab Manual hub.

  1. Lab 1: Automation Builder Installation & AC500-eco Setup
  2. Lab 2: Connect AC500-eco PLC via Ethernet
  3. Lab 3: Create a New Automation Builder Project
  4. Lab 4: AC500-eco IO Configuration
  5. Lab 5: Digital Input Mapping
  6. Lab 6: Digital Output Mapping
  7. Lab 7: First Ladder Program: Start/Stop
  8. Lab 8: Download a Program to AC500-eco
  9. Lab 9: Upload a Program from AC500-eco
  10. Lab 10: Online Monitoring, Force & Write
  11. Lab 11: Timers & Counters in Ladder
  12. Lab 12: Network & Tag Mapping
  13. Lab 13: Alarm Mapping & Fault Latching
  14. Lab 14: Tower Lamp Logic
  15. Lab 15: Emergency Stop & Interlocks
  16. Lab 16: Manual Mode Logic
  17. Lab 17: Auto Mode Sequence Logic
  18. Lab 18: Structured Text (ST) Programming
  19. Lab 19: AC500-eco to ACS580 Modbus RTU Setup
  20. Lab 20: Control ACS580 via Modbus RTU
  21. ABB AC500 PLC Selection Guide
☎ Call WhatsApp ✉ Email Enquire Now