Skip to content

Troubleshooting Ladder Logic ​

Last updated

License feature: Ladder Logic

First checks ​

  1. Is the task Running? (Card badge or status bar.)
  2. Is the routine the program's Main, or called by a JSR whose rung is true?
  3. Is the program scheduled (no (off) next to it) and the rung enabled (not grayed)?
  4. Switch to Monitor and follow the rung left to right to the first element that isn't green.
  5. Look at the status bar for a red fault message.
SymptomCauseFix
Ladder Logic isn't in the sidebar, or the page is refusedThe Ladder Logic license feature is not enabledUpdate the license
Task was running, stopped after a restartEnabled is off in Task SettingsTick Enabled and Save
Add SFC Chart is missingNo Sequential Function Charts featureUpdate the license
Palette entries are grayed outNo rung selectedClick a rung first
New element appears at the end of the rungThat's where the palette adds themDrag it into position
Can't find Branch Start / Branch EndBranches aren't palette itemsSelect an instruction and click its branch button — see The Ladder Editor
Rung shows Branches overlapping another group are ignoredA branch partly overlaps another groupWiden or shrink it to match the other group exactly, or to sit beside it
After Save, a different routine is shownThe editor reloads the first program's Main routineClick your routine again
Edits vanished after adding or renaming a routineThe editor reloaded without savingSave before changing routines or programs
Delete of a task, program or routine failsDelete is admin-onlyAsk an administrator
A dashboard button to start/stop a task shows an error for operatorsOperators can run this is off for that taskTick it in Task Settings, or start the task from a schedule or workflow
Coil shows on in Monitor but the PLC output doesn't changeTag Write Access is off for the device, the device is offline, or the driver refused the writeOpen the task log: a write_error entry names the tag, the device and the reason
PLC output keeps switching backSomething else (another HMI, the PLC program) writes it tooLadder re-sends its value every 2 s while they disagree — decide which one owns the output
Contact never goes true on a PLC bitThe tag holds text such as ON, or the device is offline and the last value was 0Check the value on the Tags page; contacts accept true/false/1/0 or numbers
Internal tag always 0Address doesn't start with B, N, F or ST (e.g. Count)Rename it N_Count
T4:0/DN or C5:0.ACC always 0No timer or counter has that address, or it is a Task Tag on one side and a Program Tag on the otherSet the same Address type and value on the timer/counter
Compare with EQU never true on a floatExact equalityUse GEQ/LEQ
CPT result always 0 or wrongThe tag in {id:path} isn't used by any other element, the device id is wrong, or the expression contains a function nameUse the tag in another element, check Device # in the tag browser, or use math blocks
CTU stays done and keeps countingNothing resets itGive it an address and add a rung with RES
RTO stays doneNothing resets itGive it an address and reset it with RES
TON finishes immediately after a JSR starts calling its routine againThe timer counted the time the routine wasn't calledPut the TON in a routine scanned every scan, or reset it by removing power first
FOR loop runs once, or not at allNo NXT after it (the element panel says so), or Initial is already past TerminalAdd the NXT rung; check Initial, Terminal and the sign of Step
Status bar: FOR loop in "…" ran more than 10000 times in one scanTerminal unreachable with that Step, or the loop body changes the indexFix Step/Terminal; don't write the Index Tag inside the loop
COP/FLL copies only one valueLength is 1Set Length in the element panel
Status bar: Call stack overflow (max 32)Routines calling each other in a loopRemove the recursive JSR
Status bar: SFC routine "…" has no initial stepChart with no initial stepSelect a step and Make initial step
Task shows Running but no outputs change, with a fault shownA fault every scan blocks all output writesFix the fault. A critical alarm named after the task fires while this is happening, so it's also visible on the Alarms page, not just the editor or task log
Task stopped itself with the driver service is not runningThe task uses tags on a real device, and the driver service is downCheck Driver Health; start the task again once the drivers are back
Task faulted with Watchdog: the scan was still running after 1000 msA JMP to an earlier rung that never goes false, or a very heavy continuous taskFix or simplify the loop, then start the task again — the watchdog already stopped it, no restart needed
High CPU, slow pagesContinuous scan mode, or many Local Tags outputs per scan, or history on ladder-written tagsPeriodic 100–500 ms; internal tags for internal logic; see The Scan Cycle
Motor still on after StopThe task leaves outputs as they areSet When the task is stopped to Switch outputs off in Task Settings, if that is safe
Chart doesn't moveTransition condition empty or false, or nothing runs the chartCheck the issue bar and the Monitor banner; click the amber transition
Chart stuck with no active stepThe active step was deletedReset chart
Dashboard lost the SFC step tagStep, chart, program or task was renamedRebind to the new path

See also ​

Scada.Ink Help Center