State Coil/Fault Coil

One of the most common examples of a Ladder Logic Programming Pattern is the State Coil (sometimes called a Memory Coil). This pattern is an extension to the Sealed in Coil pattern. The pattern consists of a trigger condition, a coil, with a contact from the coil branching around the trigger condition to “seal itself in”, and then some other condition to “break the seal”:

State Coil

State Coil

Like the Sealed in Coil, the State Coil will always revert to a de-energized state if the PLC loses power or the program is reset. However, unlike the Sealed in Coil, the State Coil turns on and off during normal operation of the program. The purpose of this pattern is to remember a single true/false condition representing internal state of the machine. Here’s an example timing diagram:


You will commonly see the State Coil pattern to represent a “Fault” condition. Let’s say you have a “fault” with the machine (i.e. something that must cause the machine to stop, and the condition must be reported to the operator, and they must acknowledge it). In this example, the “fault condition” is the “Trigger” contact in the logic above. For example, it might be an over-temperature sensor on a motor. When the over-temperature sensor indicates a fault, it energizes the Fault (State Coil), and the Fault stays energized. A contact from this Fault coil is typically used to stop the machine (or at least the motor) to prevent damage to the machine. Another contact from this coil might be used to drive an alarm light, or a message on a screen to notify the operator of the problem. Finally, a “fault reset button” would act as the Break Condition to break the seal and reset the fault:

State Coil - Over-temperature Fault

Over-temperature Fault

Notice that if the fault condition is still “active” (i.e. the over-temperature switch is still indicating an over-temperature condition) then the Fault will stay sealed in. This is what someone means when they say that “a fault must be cleared before it can be reset.”

More Patterns of Ladder Logic Programming.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.