A seal-in rung, also called a self-holding or latching rung, is the ladder-logic pattern that keeps an output on after a momentary start button is released. It works by wiring the output's own contact in parallel with the start button, so once the output energizes it feeds power to itself and no longer needs the button held. A stop condition in series breaks that hold and drops the output. This start/stop seal-in is the single most common rung in industrial control, and it is the backbone of essentially every motor and pump start circuit ever written.
Seal-In / Latch Rung in one line: A seal-in rung keeps an output energized after a momentary start command by placing a normally-open contact of that same output in parallel with the start button, so the output holds itself in. A stop condition wired in series with the output breaks the seal and de-energizes it. The pattern turns a brief start pulse into a maintained run state.
Picture a rung with a normally-open start button and a normally-closed stop button in series, driving an output coil. Press start, the path completes, and the output energizes - but the instant you release the button, the path breaks and the output would drop again. The seal-in fixes this by adding a normally-open contact of the output itself, wired in parallel with the start button. As soon as the output energizes, that parallel contact closes, and now power reaches the coil through the output's own contact even after the button opens.
The result is a rung that latches. A momentary start command is enough to establish the run state, and the output then sustains itself through its own seal-in contact indefinitely. To stop, the normally-closed stop condition in series is opened - by a stop button, a fault, or a permissive being lost - which breaks the whole path, the output de-energizes, its seal-in contact opens, and the rung falls back to its resting state waiting for the next start. It is a purely combinational way to build memory into ladder logic.
This structure maps directly onto real hardware and onto how operators think about a machine: a push to start, a maintained run, and a push to stop. Because the seal-in is built from the same output the rung controls, it needs no special instruction and works identically across every PLC brand. That universality is a big part of why the pattern has endured from relay panels into modern controllers essentially unchanged.
Most platforms also offer dedicated latch and unlatch instructions - OTL and OTU in some dialects - that store a bit's state retentively. An OTL sets the bit true and it stays true, ignored by every other scan, until an OTU somewhere else clears it. This is a different mechanism from the seal-in: the latch coil holds its state in memory rather than through a feedback contact, and critically it does not require a continuous power path to stay set. The bit can even survive a power cycle if it lives in retentive memory.
That difference drives when to use which. The seal-in rung is the natural choice for motor and pump run logic because it is self-documenting - the run condition, the seal, and every stop and permissive all appear together on one rung, so anyone reading it sees exactly what starts, holds, and stops the machine. It also tends to fail safe: lose the whole rung's power path, and the output drops. A latch/unlatch pair scatters the set and reset across two locations, which can be harder to follow and easier to leave a machine energized after a fault if the unlatch conditions are incomplete.
Latch coils earn their place where retentive, deliberately held state is the goal - a fault that must stay latched across a power cycle until an operator acknowledges it, or a mode selection that should persist. For the everyday job of starting and holding a running device, though, the seal-in remains the idiom most engineers reach for, precisely because everything about that device's run condition is visible in one place and behaves predictably when power is lost.
The seal-in has real pitfalls, and the first is reset priority. If the same condition can appear on both the start and stop sides, the rung's structure decides which wins when both are asserted at once. A well-built start/stop rung is arranged so that stop wins - the normally-closed stop in series will break the path regardless of the start and seal-in state, meaning a stop command always overrides a simultaneous start. Getting this backwards, so that start can override an active stop, produces a machine that cannot be reliably shut down, which is unacceptable on real equipment.
Scan order is the second trap. Because a PLC solves rungs top to bottom and works on the input image, the timing of when the seal-in contact updates relative to the rest of the program can matter, especially if the same output or its conditions are used elsewhere. A one-scan glitch, a condition that is set and cleared in the wrong order across rungs, or an output examined before it is solved can all produce a rung that appears to latch inconsistently. Keeping the start, seal, and stop logic together and mindful of scan order avoids these subtle intermittent faults.
For field-critical starts, the seal-in is usually reinforced rather than trusted alone. A hardwired stop circuit and independent safety interlocks sit outside the PLC so that a controller fault or a logic error cannot defeat the ability to stop a motor or pump. In a monitored oil and gas installation, the run state produced by the seal-in is reported up to SCADA so operators can see what is running remotely, but the authority to safely stop the equipment does not depend solely on a software rung. The seal-in gives you clean, self-documenting run logic; layered stops and interlocks give you the confidence to run it unattended.
A seal-in contact is a normally-open contact of an output, wired in parallel with the start button on that output's rung. When the output energizes, this contact closes and provides a holding path so the output stays on after the momentary start button is released. It is what turns a brief start press into a maintained run state, which is why it is central to motor and pump start circuits.
A seal-in rung holds an output on through a feedback contact and a continuous power path, so it drops if that path is broken and everything about its behavior is visible on one rung. A latch coil, such as an OTL, sets a bit in memory that stays set regardless of power flow until a separate unlatch instruction clears it, and it can be retentive across a power cycle. Seal-ins suit run logic; latch coils suit deliberately held, retentive state.
Because you must always be able to shut a machine down, even if a start command is present at the same time. A properly built start/stop rung places the normally-closed stop condition in series so it breaks the entire path regardless of the start or seal-in state, guaranteeing stop wins. If start could override an active stop, the machine could not be reliably stopped, which is unsafe for real equipment.
Merobix reads your field devices into a cloud SCADA - the real thing behind these terms, live in days from any browser.