A Good Alarm Should Tell You Where to Start

Rate this post

An alarm can be technically correct and still be almost useless to the person troubleshooting the machine.

I have a confession.

Over the years, I have written some machine alarms that probably made perfect sense to me while I was programming the machine—and weren’t nearly as useful to the person who eventually had to troubleshoot it.

It is an easy problem to create.

The PLC or controller knows that a bit went false, an interlock dropped, a device stopped responding, or a sequence timed out. So we create an alarm that describes exactly what happened inside the control program.

Technically, the alarm is correct.

But that doesn’t necessarily make it useful.

A good machine alarm should do more than tell someone that something went wrong.

It should tell them where to start.


Think About the Person Reading the Alarm

Consider the difference between:

Machine Fault 37

and:

Laser Chiller — Low Flow — Check Chiller Status and Cooling Circuit

Neither message magically repairs the machine.

But the second message gives the technician a place to start.

A practical alarm format I like is:

[Equipment] — [Condition] — [Where to Start]

For example:

Cutting Gas — Pressure Not Reached — Check Supply Pressure and Gas Regulator

or:

X Axis — Following Error — Check Axis for Obstruction or Servo Fault

The alarm does not need to diagnose every possible failure.

In fact, it shouldn’t pretend to know something the control system cannot actually determine.

If the controller only knows that flow is low, it should not tell the technician that the pump has failed unless it actually has enough information to know that.

But the alarm should communicate what the machine does know in language that connects the software to the physical machine.

That small difference can save a surprising amount of troubleshooting time.


Not Every Abnormal Bit Deserves an Alarm

Another common problem is turning every abnormal PLC condition into an HMI alarm.

Controls engineers naturally see a lot of conditions inside the machine:

Interlocks.

Permissives.

Device-ready bits.

Communication states.

Sequence flags.

Sensor states.

Timeouts.

That does not mean every one of them needs to create a red alarm banner for the operator.

A useful test is:

What do I expect the operator or technician to do when this message appears?

If there is a required response, it is probably an alarm.

If there is no immediate action required, it may be better treated as a status indication, diagnostic condition, warning, or event.

That distinction matters.

When everything becomes an alarm, the important alarms become harder to find.

An HMI containing 150 active alarm messages isn’t necessarily providing more information. Sometimes it is providing less.


Show What Happened First

Alarm cascades are another troubleshooting problem.

One device fails.

That causes an interlock to drop.

The dropped interlock stops another subsystem.

That subsystem reports that it is no longer ready.

The machine sequence times out waiting for something that can no longer happen.

A few seconds later, the HMI may contain six red messages.

Now the technician has to determine which one actually started the event.

This is where good alarm history and accurate timestamps become extremely valuable.

Whenever practical, the control system should preserve enough information to distinguish between the original failure and the conditions that occurred because of it.

The first event may have been:

Laser Chiller — Low Flow

Everything after that might simply be a consequence.

If the alarm system presents six messages with no useful timing or priority information, the technician has to reconstruct the sequence manually.

That is avoidable.


Give the Technician Some Context

Alarm history becomes much more useful when it includes machine context.

Knowing that an alarm occurred at 10:42:17 is helpful.

Knowing what the machine was doing at 10:42:17 is much better.

Useful context might include the machine mode, active sequence step, axis or subsystem operating at the time, part or recipe being processed, and what significant state change occurred immediately before the fault.

You don’t necessarily need to record every PLC bit at millisecond resolution.

You need enough information that someone looking at the machine tomorrow—or six months from now—has a reasonable chance of reconstructing what happened.

This becomes particularly important for intermittent problems.

If a machine fails once every three weeks, the person who eventually investigates the problem may never be standing beside it when the failure occurs.

The alarm and event history may be the only witness they have.


The Alarm Should Connect Software to the Physical Machine

Controls programmers naturally think in software terms.

The technician standing in front of the machine usually does not.

The PLC may know:

GasPressureOK = FALSE

The technician needs to know:

Cutting Gas — Pressure Below Setpoint

And ideally:

Check gas supply, regulator, valve, and pressure feedback.

That translation is part of good machine software.

The operator should not need a copy of the PLC project to understand what an alarm means.

A useful alarm helps bridge the gap between what the software detected and where that condition exists on the physical machine.


Standardize the Alarms

For larger or more complicated machines, an Alarm Master List can be surprisingly valuable.

It gives the controls team a common definition of what an alarm is supposed to contain and prevents alarm quality from depending entirely on whichever programmer happened to add the message.

At a minimum, I would want an alarm definition to identify the alarm name, the equipment or subsystem involved, the triggering condition, priority, likely causes, the expected operator or technician response, and any related documentation.

It also helps when multiple programmers work on the same project.

Instead of one programmer creating:

Axis Fault

another creating:

Servo 2 Not OK

and another creating:

MTRERR_04

the machine can use a consistent naming philosophy.

That consistency becomes even more valuable across a family of machines.


This Is Easy to Skip During Commissioning

Good alarms are one of those things everyone agrees are important—until the machine is almost ready to ship.

The machine runs.

Production needs it.

The customer is waiting.

Another startup is already scheduled.

The controls engineer probably knows some of the alarms could be better.

But there is always something more urgent.

So the machine ships.

Years later, someone is trying to troubleshoot it at 2:00 in the morning and staring at:

Machine Fault 37

This is one way industrial software technical debt accumulates.

Improving an alarm may take a programmer a few minutes.

A poor alarm may cost maintenance hours repeatedly over the life of the machine.

Good diagnostics are not simply a commissioning convenience.

They are part of designing a maintainable machine.


Better Alarms Can Reduce Dependence on the Original Programmer

One of the tests I like for machine software is simple:

Could someone who didn’t write this program reasonably troubleshoot the machine?

Eventually, that person will exist.

The original controls engineer may leave the company.

The machine may be moved.

A service technician may be supporting it years later.

A customer maintenance engineer may be trying to solve a problem without calling the OEM.

Good alarms help transfer some of the original programmer’s understanding into the machine itself.

Instead of the technician calling and asking:

“What does Fault 37 mean?”

the HMI may already tell them:

Laser Chiller — Low Flow — Check Chiller Status and Cooling Circuit

That is a much better starting point for everyone.


And This Will Matter Even More With AI

Another reason I think alarm quality will become increasingly important is this.

AI-assisted maintenance tools need the same thing technicians need:

context.

An AI system isn’t going to get much useful information from:

Alarm_37 = TRUE

It can do much more with:

Laser Chiller — Low Flow

combined with information about the machine state, active sequence, previous events, device documentation, and troubleshooting procedures.

Well-structured alarm information gives future diagnostic systems something meaningful to work with.

A vague alarm is vague to both a technician and an AI system.

A structured alarm tells us what equipment is involved, what condition was detected, and where troubleshooting should begin.

That makes the information generated by the machine considerably more valuable.


The Takeaway

When writing an alarm, imagine that the person reading it knows how to work on industrial equipment but has never seen your PLC or controller program.

Then ask:

Does this alarm tell them what happened and where to start looking?

If the answer is no, there may still be some work to do.

Because the goal of an alarm isn’t simply to prove that the control system noticed something went wrong.

The goal is to help someone get the machine running again.

And a good alarm should tell them where to start. (LinkedIn)


Manufacturing With Light — Automation Notes

Practical thoughts on controls, motion, machine software, troubleshooting, and automation for laser manufacturing and advanced manufacturing systems.

Leave a Comment