CtrlLensCtrlLens
Git-native version control for Studio 5000 PLC projects

Bring Git, code review, and AI to your PLC projects

Visual diff. Fearless merge. AI that knows your project.

Treat your Studio 5000 code like real code — commit it, review it rung by rung, and merge it without breaking the project. Then let AI extend it with full context. Works offline, with any Git host.

Free, no signup required. Works offline. We never see your factory data.

Sound familiar?

Still versioning with “Save As”?

LineA_Project
  • LineA_Project_20250520.ACD
  • LineA_Project_20250521.ACD
  • LineA_Project_20250522_fix.ACD
  • LineA_Project_20250522_fix2.ACD
  • LineA_Project_FINAL.ACD
  • LineA_Project_FINAL_use_this_one.ACD

A folder full of date-stamped .ACD files isn't version control. You can't tell what changed, who changed it, or why — and a week later, neither can anyone else.

CtrlLens gives your Studio 5000 projects a real version history — every change visible, reviewable, and reversible.

Why CtrlLens

Make Git work for PLC code

Git was built for text files. PLC projects are binary blobs and dense XML. CtrlLens closes that gap on three fronts.

Visual

See every change the way you read logic — ladder rungs, FBD blocks, and SFC steps on a real canvas. Added in green, deleted in red. No raw XML hunks, ever.

Powerful

Branch, tag, and merge per routine like any modern codebase. Resolve conflicts rung-by-rung with one-click accept — no hand-edited XML, no broken downloads.

AI-assisted

Your AI assistant works from ground truth — auto-generated project context with every tag, UDT, and instruction signature, so it extends your logic instead of guessing at it.

Team workflow

One repo. Every role. Any OS.

Two PLC engineers author in Studio 5000 and version their work with CtrlLens; a senior engineer reviews and merges from any OS. Each step below is tagged with the tool that runs it.

Tool per step: CtrlLens Studio 5000
Shared Git Repo

Exploded L5X · feature branches · pull requests

push → review → Merge / Rebase → pull

every role pushes & pulls against the same repo

Developer A

PLC Engineer

Studio 5000 + CtrlLens · Windows

  1. 1Author logic (RLL / FBD / ST)Studio 5000
  2. 2Save the ACD projectStudio 5000
  3. 3Sync ACD → L5X (explode to Git)CtrlLens
  4. 4Commit & push a feature branchCtrlLens
  5. 5Open a Pull Request for reviewCtrlLens
  6. 6Pull merged main, Restore to ACDCtrlLens
  7. 7Reopen the ACD to keep buildingStudio 5000
  8. 8Onsite CommissioningStudio 5000

Developer B

PLC Engineer

Studio 5000 + CtrlLens · Windows

  1. 1Author logic (RLL / FBD / ST)Studio 5000
  2. 2Save the ACD projectStudio 5000
  3. 3Sync ACD → L5X (explode to Git)CtrlLens
  4. 4Commit & push a feature branchCtrlLens
  5. 5Open a Pull Request for reviewCtrlLens
  6. 6Pull merged main, Restore to ACDCtrlLens
  7. 7Reopen the ACD to keep buildingStudio 5000
  8. 8Onsite CommissioningStudio 5000

Senior Engineer

Code Reviewer

CtrlLens only · any OS

  1. 1Pull the Pull Request branchCtrlLens
  2. 2Visual diff: RLL / FBD / SFC / STCtrlLens
  3. 3Comment & request changesCtrlLens
  4. 4Resolve merge conflicts visuallyCtrlLens
  5. 5Approve & merge to mainCtrlLens

Run PLC code review, version control, and merges anytime, on any OS — even on a machine that doesn't have Windows or Studio 5000 installed.

Visual Diff · Pro

Read every change rung by rung

Git's text diff turns a one-rung change into an unreadable wall of XML. CtrlLens renders ladder, FBD, SFC, and Structured Text side-by-side on a real canvas — added rungs in green, deleted in red, modified in yellow, with a change navigator that jumps you straight to what moved. Code review for PLC logic, finally readable.

Canvas, not XML hunks

Ladder, FBD, and SFC rendered the way you author them, not as raw L5X markup.

Color-coded changes

Added green, deleted red, modified yellow — spot the change at a glance, no line-by-line hunting.

Change navigator

Jump rung-to-rung between every difference; nothing slips through a review.

Every language

RLL, FBD, SFC, and ST all diff visually — including SFC action/transition bodies as ST.

Visual Merge · Pro

Merge ladder logic with foresight, not fear

A Git merge conflict in a routine used to mean hand-editing conflicted L5X and praying the project still downloads. CtrlLens shows Ours vs. Theirs side-by-side on the canvas and resolves them rung by rung — so a merge is a review, not a recovery.

See conflicts clearly

The moment you merge, see exactly which rungs collide — on the canvas, while you still have context.

Resolve rung-by-rung

Ours vs. Theirs side-by-side with one-click Accept and batch resolve. You review logic, not XML markup.

AI-assisted resolution

Hand the conflict to your AI agent with full project context; it proposes a resolution with a plain-language explanation you review and accept. CtrlLens prepares the context — your agent does the reasoning.

No silently broken L5X

Every resolved merge is re-validated against operands, tag scope, and instruction signatures before commit — no corrupted project, no broken controller.

No more "who touched MainRoutine?" on a Friday.
Branch per feature, merge per routine, ship with confidence.
CI/CD for industrial automation

Version control built for PLC code

As DevOps reaches the OT world, PLC projects face the same needs as any codebase — traceability, regression prevention, and parallel development across a team. CtrlLens adds the software-engineering layer industrial automation has been missing.

What CtrlLens brings your team

  • Version control — commit, branch, tag, full history
  • Code review — RLL / FBD / ST / SFC diff
  • Multi-developer collaboration — merge conflict resolution
  • CI/CD pipelines — plain-text Git artifacts, quality gates
  • Cross-platform — Windows / macOS / Linux
  • AI context — your assistant works from ground truth

Code review on any OS

A reviewer on macOS, Linux, or Windows opens ladder logic visually, comments rung by rung, and merges the pull request — the whole review loop lives in VS Code or Cursor. Pull requests aren't tied to one workstation, so senior engineers can review from anywhere.

Pipelines that gate quality

Exploded L5X is plain text — every routine is a diffable file in standard Git, so branches, pull requests, and history work on any host. The Verify gate statically checks operands, tag scope, and instruction signatures at commit time, so regressions are blocked before they ever reach a controller. Every commit is a traceable artifact — not an opaque binary blob.

The proprietary .ACD becomes a reviewable, automatable pipeline.
ACD ↔ L5X sync (free) explodes the binary into a per-routine Git tree. Every change is traceable; every branch is a real branch.
AI Agent Ready · MCP built in

Stop briefing the AI. It already knows your project.

AI coding tools fail on PLC projects for two reasons: you spend half an hour explaining the controller before every task, and the AI model then guesses at tags it has never seen. CtrlLens removes both — engineered across four layers.

Prompt engineering

Stop re-explaining your project

No more pasting tag lists and controller layout into every chat. Your prompt shrinks to the task — "add a 5 s startup delay to Motor_1" — because the project briefing is already on disk and always current.

Context engineering

The AI works from ground truth

CtrlLens auto-generates PROJECT.md (every tag, UDT, AOI, scope rule, naming convention) plus a full instruction index marking what your project already uses, with exact operand signatures on demand. The AI model reasons from your schema, not from training-data guesses.

Harness engineering

Mistakes caught in the loop, not in the field

The AI writes XML; a file watcher re-renders the canvas in under 300 ms; any tag that does not exist turns red across every view; the pre-commit gate blocks invalid operands. A tight feedback loop reins in disorderly agent edits.

Tool engineering

MCP tools with a verify gate

A built-in MCP server hands your agent seven tools: search the full instruction catalog, pull exact operand specs, load a routine's tag & AOI context in one call, preview ladder structure, verify generated logic before it touches disk — and, on Pro, apply a verified rung through the editor's own save pipeline and review commits or uncommitted changes as a structured semantic diff anchored to rungs and elements. Safety programs are always refused.

The three files that make it work

PROJECT.md

Auto-regenerated on every sync, save, and tag change. Controller metadata, full tag tables, UDT/AOI signatures, scope rules, live example tag XML, and mandatory safety constraints the AI must follow.

AGENTS.md & CLAUDE.md

Your project policies — naming conventions, HMI rules, safety-review requirements. AGENTS.md is the vendor-neutral standard (Cursor / Copilot / Codex); CLAUDE.md is a thin file that imports it. Written by you, read by the agent before any generic schema rule. One-time stub on first sync, then yours to own.

InstructionIndex.md

The full Logix instruction catalog — every mnemonic and alias, with a ✓ on what your project already uses — so the AI can confirm an instruction exists before writing it. Mnemonics borrowed from other PLC families are hallucination bait; this is the deterministic net that catches them.

Works with any file-aware agent, and any MCP client: GitHub Copilot agent mode discovers the built-in MCP server automatically, and a single command sets up Claude Code / Cursor. We don't wrap any LLM. CtrlLens never calls an AI API itself; it only provides the context and tools the agent uses. Our focus is connecting you faster to whichever AI Model you already trust, so it can help you build PLC programs from ground truth instead of guesses. The MCP ground & verify tools are free; AI Context, rung apply, and commit review are Pro.

Your repo, your rules

Works with any Git host — no vendor lock-in

Some industrial version-control tools force you into a specific cloud platform. CtrlLens uses standard Git and standard L5X. Push to wherever your company already hosts code.

GitHub

Public or private repos, GitHub Actions CI

Azure DevOps

Azure Repos, Pipelines, enterprise SSO

GitLab

Self-hosted or gitlab.com, built-in CI/CD

Your own server

Bare Git, Gitea, Bitbucket — anything that speaks git push

Already using a vendor-locked PLC versioning tool?
CtrlLens exports to standard L5X + Git. Migration is a one-time ACD → L5X explode. After that, every commit is portable.

Everything else you'd expect from a modern dev tool

Full L5X rendering

Ladder (RLL), Function Block Diagram (FBD), Sequential Function Chart (SFC), and Structured Text — all rendered inline on a zoom/pan canvas, with PM007-conformant ST syntax highlighting.

Live operand validation & Verify

Every operand is checked against the full Rockwell instruction catalog and controller scope rules. Wrong type, invalid enum, or missing tag flags red instantly; issues land in the Problems panel with one-click navigation.

Live tag values & power-flow

RLL blocks display the live numeric value of each operand inline. BOOL operands light up green when energised; contact and coil wires highlight when current flows.

Rich tag tooltips

Hover any tag in RLL, FBD, SFC, or ST for Tag · Type · Scope · Usage · Value · Description. Member access (MyTimer.PRE, Servo.Ctrl.PV) resolves to the underlying member value.

Interactive RLL & FBD editor

Drag-drop instructions, edit operands and mnemonics inline, branch editing, multi-select, copy/cut/paste, full undo/redo — then commit like any other code change.

SFC bodies as first-class ST

Double-click an Action body or Transition condition to open it as a virtual .st file with full syntax highlighting. AI tools can read and write it directly, then it round-trips back into the SFC.

Cam Editor

A focused modal for CAM / CAM_EXTENDED operands — Position/Velocity/Acceleration/Jerk curves via natural cubic spline, an editable point table, written back to the tag XML.

ACD ↔ L5X sync (free)

Optional Rockwell integration. Convert ACD to L5X for Git versioning and push edits back to ACD. Free for everyone; needs Logix Designer SDK on Windows-only.

Offline-first

Built for air-gapped OT networks. The offline and borrowed tiers verify locally with no connection — borrow for offline use (7 / 14 / 30 days) or do a full manual offline activation for isolated machines. Your PLC code never touches our servers.

How it works

1

Install & open your project

One click from the VS Code Marketplace — runs in VS Code and Cursor. Open an L5X file or an exploded RSLogix5000Content/ folder — routines, tags, and programs render in a navigable project tree. No account required.

2

Version it like real code

Commit, branch, and diff at the routine level. Review changes rung by rung. Resolve merge conflicts visually. AI context auto-generates on every save.

3

Upgrade when ready

Git, visual diff, interactive editing, merge, AI context, and MCP rung apply require Pro. 14-day trial, no credit card, then the early-bird price of $25/year — our launch price, going up later.

Cross-platform. Privacy-first.

Platforms: Runs in VS Code and Cursor. A single build runs on Windows, macOS, and Linux. Git, diff, the editor, AI assistance, and FBD/SFC rendering work everywhere. The only Windows-only feature is ACD sync (it needs the Logix Designer SDK) — and that feature is free for everyone.
Privacy: Zero telemetry. No analytics, crash reports, or usage tracking. The only network call is a license check — it sends just your license key, machine ID, and extension version, never your projects, tags, or logic (offline and borrowed tiers don't connect at all). Your PLC code never touches our servers.

Frequently asked questions

Why not just commit the .ACD file to Git?

ACD is a proprietary binary — Git sees it as one opaque blob, so you get no diff, no merge, no review. CtrlLens explodes ACD into L5X and then into a per-routine directory tree, so every commit shows exactly which rung or block changed.

Do I have to read XML diffs to review changes?

No. That's the point. Visual diff renders ladder, FBD, and SFC side-by-side on a canvas with added/deleted/modified rungs colour-coded and a change navigator. Merge conflicts are resolved rung-by-rung with Accept Ours / Accept Theirs buttons.

Can I run this in a CI/CD pipeline?

Yes. Your project is a standard Git repository of plain-text L5X, so it plugs into any CI/CD host — GitHub Actions, Azure Pipelines, GitLab CI, and the rest — for branch protection, pull-request review, and full history. The Verify gate statically checks operands, tag scope, and instruction signatures at commit time, blocking regressions before they reach a controller.

Which AI tools does it work with?

Any AI coding assistant that reads files in your workspace — Claude Code, GitHub Copilot, Cursor, Cody — plus any MCP-capable agent: CtrlLens ships a built-in MCP server whose tools let the agent search the instruction catalog, pull routine context, verify generated logic before it touches disk, and (Pro) apply a verified rung. CtrlLens doesn't call any AI API itself — it provides the context files and tools the agent uses.

What happens if the AI invents a tag that doesn't exist?

Every view (ladder, FBD, SFC) highlights non-existent tags in red the moment they render — before you ever compile. When the tag is created or fixed, the highlight clears automatically. The pre-commit gate also blocks invalid operands.

Can I use my company's existing Git server?

Yes. CtrlLens uses standard Git. Push to GitHub, Azure DevOps, GitLab (cloud or self-hosted), Bitbucket, Gitea, bare repos, or any server that speaks git push. No vendor lock-in.

Does it work on air-gapped OT networks?

Yes. Pick the offline or borrowed tier and the license verifies locally with no connection — borrow for 7 / 14 / 30 days of on-site work, or do a manual offline activation (export a request, sign it on a connected PC, import the file) for fully isolated machines. The default online tier does a lightweight license re-check (~ every 12 h) only when it has network.

Do you track what I do in the extension?

No — zero telemetry. The extension contacts our servers only to activate and to re-check the license (online Pro ~ every 12 h; offline and borrowed never connect), and that check sends only your license key, machine ID, and extension version. Your projects, tags, and logic stay on your machine.

Stop dreading the merge. Start shipping the change.

Read for free. Add Git, visual diff, merge, and AI context when you're ready — 14-day trial, no credit card, then the early-bird price of $25/year, before it goes up.