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.

Now in open beta · v0.1 · VS Code & Cursor

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.

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 — scriptable CLI, 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

l5xplode / l5xgit are scriptable .NET CLIs for any CI runner. A pre-commit Verify gate statically checks operands, tag scope, and instruction signatures, so regressions are blocked before they ever reach a controller. Every commit is a traceable, automatable 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 Context Ready · Pro

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 three 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 project-filtered instruction reference with exact operand signatures. 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.

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.

InstructionReference.md

The instructions this project actually uses, drawn from a 346-mnemonic catalog with operand specs extracted from Rockwell help — so the AI emits valid signatures, not plausible-looking ones.

Works with any file-aware agent — Claude Code, GitHub Copilot, Cursor, or any MCP-compatible tool. We don't wrap any LLM. CtrlLens never calls an AI API itself; it only prepares the context the agent reads. 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. AI Context is a Pro feature.

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 a 346-mnemonic 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

Works on air-gapped OT networks. License verification runs offline after one-time activation, with offline Borrow/Return. 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, and AI context require Pro. 14-day trial, no credit card, then the early-bird price of $25/year — locked in for as long as you stay subscribed.

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. No crash reports. No usage tracking. License verification is offline after activation. 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. l5xplode / l5xgit are scriptable .NET CLI tools you can run on any CI runner for automated explode/implode and validation. A pre-commit Verify gate statically checks operands, tag scope, and instruction signatures before a change is committed.

Which AI tools does it work with?

Any AI coding assistant that reads files in your workspace: Claude Code, GitHub Copilot, Cursor, Cody, or any MCP-compatible agent. CtrlLens doesn't call any AI API itself — it generates the context files (PROJECT.md, CLAUDE.md, InstructionReference.md) that the AI reads.

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. After one-time activation the license verifies offline, with offline Borrow/Return for on-site work. We also support manual offline activation for fully isolated environments.

Do you track what I do in the extension?

No. We collect zero telemetry. The extension only contacts our servers for license activation and biweekly refresh. 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, locked in on renewal.