The internal relay
What you'll learn
Seal one memory bit and fan it out to every output — including a stopped light that inverts it with a single contact.
One start button. Three things that must respond to it: the motor, a "running" light on the panel, and a "stopped" light that shows the exact opposite. You could wire the seal-in three times — or you could do what the real print does: seal one internal relay and let everything read it.
The pattern
An internal relay (a CR, for control relay) is a coil with no wire leaving the PLC. It's pure memory — a bit. The relay print seals one in and then fans it out:
Enable Start
──────[ ]──┬────[ ]────┬──────( CR1 ) rung 0: seal the MEMORY
└────[CR1]──┘
──────[CR1]───────────────────( Motor ) rung 1: the machine follows it
──────[CR1]───────────────────( Run light )
──────[/CR1]──────────────────( Stopped light )
Rung 0 is the seal-in you already know — but the coil is CR1, not the
motor. Rungs 1–3 are trivially simple: each output just reads the relay.
Why not seal the motor directly?
Because the machine's state and the machine's outputs are different things, and the print separates them:
- One place to change the logic. Tomorrow the customer wants a horn before the motor engages, or a second light. You touch rungs below — rung 0, the actual decision, never changes.
- The inverted output comes free. The stopped light is one XIO contact of the relay. Try building "light ON when the motor is OFF" without a memory bit — you end up duplicating the whole start/stop condition, inverted, and keeping both copies in sync forever.
- It's how the prints you'll maintain are written. Real Logix programs
are full of internal bits with names like
START_BITorInternal_Output. Learn to read the pattern and half the program explains itself.
The stopped light is the interesting rung
Rung 3 reads /CR1 — examine-if-open. At rest, CR1 is OFF, the XIO
passes power, and the stopped light is ON before anyone touches
anything. That surprises people the first time: an output, energized, on
a machine that's doing nothing. It's correct — the lamp is reporting
rest, not causing it.
Run the real print
Load it in the ladder builder:
flip the enable, pulse Start, and watch one bit drive three outputs. Then
break it on purpose — delete the CR1 seal branch and see the whole
machine die the instant you release the button.
Check your understanding
Question 1 of 2
The internal-relay print seals CR1 instead of sealing the motor directly. The main win is: