ONS Instruction Not Energizing OTE in Studio 5000 Ladder Logic
ONS instruction fires but the OTE coil never latches in Studio 5000 because the one-shot is only true for one scan. Use OTL/OTU or seal-in logic instead.
Online monitors sometimes show an ONS storage bit transitioning while the intended OTE never appears to energize a pump starter or solenoid. In Studio 5000 Logix Designer this is usually not a failed output card. The ONS is a rising-edge detector that is true for one routine evaluation only. The OTE writes its rung condition every scan with no internal seal. Pair them directly and you create a one-scan pulse—often 5–20 ms—that contactors, VFDs, and even HMI animations effectively ignore, while the IDE’s slower display rate misses the pulse entirely.
Relay-logic intuition fails here: a 10 ms Logix write is not the same as a held auxiliary contact.
Scan physics
| Scan | Input edge | ONS out | OTE tag |
|---|---|---|---|
| n-1 | 0 | 0 | 0 |
| n | 0→1 | 1 | 1 (one scan) |
| n+1 | 1 | 0 | 0 |
| n+2 | 1 | 0 | 0 |
Real starters often need 50–100 ms of solid command. A solitary ONS→OTE path cannot provide that. Studio 5000’s watch windows sample far slower than the task period, so the probability of catching a 10 ms pulse is low—hence the myth that “the ONS never fired.”
Diagnostic stretches
- Parallel TOF (1–2 s preset) on the ONS event; watch .TT/.DN in the IDE
- ADD 1.0 to a REAL counter on each edge; trend the count
- Studio Trend at ~10 ms sample on the OTE tag to see the true duty cycle
Seal-in or OTL/OTU patterns convert a one-shot decision into a sustained run command.
Solution A — OTL / OTU
[Pump1_RunCmd_ONS] ----(OTL Pump1_RunCmd) [Pump1_Stop_PB] ----(OTU Pump1_RunCmd) [Pump1_Fault] ----(OTU Pump1_RunCmd)
Remember latches are retentive across power cycles by default. Add first-scan or maintenance resets for outputs that must not restart a motor after a reboot.
Solution B — seal-in around OTE
|--[Start_ONS]-+----------(OTE RunCmd)--| | | | |--[RunCmd]----+ | |--[Stop_PB]---/ |
This is the three-wire starter analogy endorsed throughout Logix programming practice: the ONS provides the start edge; the sealed RunCmd contact sustains the OTE until stop or interlock opens the path.
Solution C — state bit plus command OTE
For sequenced equipment, OTL a Selected step on the edge, drive a Start OTE while Selected and not Running feedback, then OTU Selected on feedback. The HMI still sees a real Start command while the latch owns the step.
Lead/lag context and pitfalls
Runtime-hour pump sequencers commonly misuse ONS on “this pump is now lead” compares. After fixing the edge-to-command structure, add minimum run timers (anti-short-cycle), alternate-lead rotation inhibits, and fault OTU paths. Cross-reference the OTE tag for duplicate coils later in the scan that silently overwrite a sealed 1 with 0. Prefer one coil owner per BOOL.
Also inspect branch topology: a parallel path that bypasses the ONS can leave the OTE false even when the storage bit flickers, and a second routine writing the same BOOL can undo a perfect seal-in one task later. When several consumers need the pulse, drive a single intermediate BOOL from the ONS once, then fan out sealed or latched logic from that bit.
// Temporary stretch — remove before final commissioning [Pump1_Start_ONS] ---(TOF Stretch_Timer, 2.0 s) [Stretch_Timer.TT] ---(OTE Diagnostic_Stretch_On)
With the stretch in place, Diagnostic_Stretch_On remains visible in the IDE and on an HMI flash indicator, proving edge rate before you trust production seal-in logic. Delete or inhibit the diagnostic path after FAT so operators do not chase a service lamp forever.
Adopt these ownership rules consistently across PLC and PAC platforms so night-shift edits do not reintroduce naked ONS→OTE rungs on the next package.
About the Author
Mark Townsend | Senior Automation Engineer – Allen-Bradley Systems
Mark Townsend is a senior automation engineer with more than 18 years on Allen-Bradley platforms spanning ControlLogix, CompactLogix, and legacy SLC-500. His day-to-day work is RSLogix / Studio 5000 logic and FactoryTalk View HMI bring-up on aging and mixed fleets.