Coils (output instruction)

OTE: Output Energize

Sets the bit to 1 while the rung has power, and back to 0 the instant it does not.

Also called: coil, output coil, -( )-.

OTE(coil)

What it does

OTE is the plain coil, and it is non-retentive: it follows the rung, every scan, with no memory of what it did last time. Power goes away, the bit goes to 0.

That behaviour is what makes a seal-in necessary. If a start button is the only thing driving an OTE, the motor runs for exactly as long as the finger is on the button. Adding a contact of the coil's own bit in parallel with the button gives the rung a second path to hold itself true, and that circuit, a start in parallel with the coil's own contact and a stop in series, is the first thing every PLC programmer learns and the pattern most real machines are still built from.

One bit should be driven by one OTE, in one place. Two rungs writing the same bit is not an error the compiler will stop, and the result is that the last rung in the scan wins and the first one appears to do nothing.

A rung you can run

The seal-in circuit, in full

[object Object]
[XIC(Start_PB),XIC(Motor_Run)]XIO(Stop_PB)OTE(Motor_Run)

Press Start and the rung goes true, so Motor_Run goes to 1. On the next scan the parallel XIC(Motor_Run) is also true, so the rung stays true after the button is released. Press Stop and the series XIO breaks the path, the coil drops out, and the seal-in path opens with it.

Run this rung in the simulator

What it is called on other controllers

PlatformEquivalent
Rockwell (Studio 5000)OTE
Siemens (TIA Portal)Coil, drawn -( )-
Mitsubishi (GX Works)OUT
CODESYS and IEC 61131-3Coil

Common mistakes

  • Driving the same bit from two OTE instructions. The second one silently overwrites the first every scan.
  • Expecting an OTE to remember its state through a power cycle or a program download. It will not. Use OTL, or a latch rung with a seal-in.
  • Forgetting the seal-in and then concluding the start button is faulty.

Practise it

Interactive exercises that use OTE. Each one checks your ladder against a real scan.

Related instructions

All ladder logic instructions