Ladder Logic Viewer

ACE Codex Online ยท ACE Systems, Whakatane

Ladder Logic Viewer

Ladder Logic Viewer

Read RLL routines as visual ladder diagrams rendered straight from your .L5X — contacts, coils, branches and instruction blocks, with tag descriptions.

A code reader that renders Relay Ladder Logic as proper ladder diagrams, drawn directly from the L5X. It shows contacts (XIC/XIO), coils (OTE/OTL/OTU), branches, and instruction boxes (timers, counters, math, MOV, AOIs, etc.), annotated with each operand's tag description.

Loading logic

  • From your uploaded project: the "Load from uploaded project" dropdown lists the controllers already loaded on the Home hub. It follows the shared controller selection, so it opens on whichever controller you last chose in PCS Data / the Asset Map — no re-uploading.
  • Ad-hoc file: drag-and-drop (or click to browse) any .L5X / .xml file that isn't part of the loaded project.

Reading the ladder

  • Logic is grouped by Program → Routine → Rung; click a program or routine header to expand / collapse it, or use Expand All / Collapse All.
  • Toggle Show descriptions and Full tag names, search rung text, and filter by program / routine.
  • ๐Ÿ–จ๏ธ Print produces a clean, diagram-only printout.

Controller Tag List

The ๐Ÿท๏ธ Tag List button opens a slide-over tag browser, like the RSLogix Controller Tags window:

  • Lists every tag with its Scope (Controller first, then per-program), Name, Data Type, Description, Initial Value (from the last L5X save — Decorated / L5K data; hover for a fuller detail string), and a Used count of references in the ladder.
  • Expand a base tag (โ–ธ) to see its members — UDT members are resolved from the L5X data types (nested and hidden-packing members handled), and TIMER / COUNTER / CONTROL / MESSAGE members are built in. Each member has its own usage count; expanded UDT members can show their initial values when present.
  • The filter searches members too: typing DN or Speed surfaces the parent tag with the matching sub-member auto-expanded.

Where Used & jump-to-rung

  1. Right-click (or click) any tag or sub-member and choose ๐Ÿ”Ž Where Used to list every rung that references it, as Program / Routine — Rung N with the rung text.
  2. Click a result to jump straight to that rung: its program and routine expand, it scrolls into view, and it stays highlighted in red so you can see exactly where you landed.
  3. If it's the wrong rung, use the floating โ—€ Results button (bottom-left) to reopen the Where-Used list — the rung you're on is marked "โ—€ here" — and pick another. Press Esc to close the panel or menu.

Bingo / Matrix arrays

Step-matrix arrays (Rockwell S88 phase logic: *MatrixA, *FaultMatrix, *FaultMons) render as bit-array tables the same way as the FD tool's Bingo section — one row per step, one column per bit, with the raw decimal value and step time on the right. DINT (32-bit), INT (16-bit) and SINT (8-bit) matrices are all recognised.

  • ๐ŸŽฏ Bingo in the top toolbar opens a slide-out panel with every matrix in the current controller. The Search tags… box highlights matching column labels; unrelated tables dim. When the term also appears in the ladder, a Find in code ↓ (N) button surfaces — click it to filter the ladder down to those rungs.
  • Each routine header that references at least one matrix gets a smaller ๐ŸŽฏ Bingo pill (with a count if more than one). Click it to open the drawer scrolled to just that routine's matrices — unrelated matrices dim automatically via the routine's common tag prefix (e.g. C1005).
  • Bit labels above each matrix are auto-derived from the code: the tool finds the MOV(…Matrix[i], DecodeWord) rungs, then scans every DecodeWord.N reference to guess a name for bit N. Blank columns aren't referenced anywhere in logic. Click any label to search that tag.
  • Step Time column pulls from the matching *StepTimes array if present — the timer preset is that value × 1000 ms.
  • The โœ• close button and clicking outside the panel both dismiss it. Press Esc as usual.