Create Ladder Diagrams Online: A Working Circuit in Your Browser in Two Minutes
Why ladder tooling has been desktop-and-licence-locked, what building a ladder diagram online actually changes, a two-minute walkthrough from an English sentence to a running circuit, and when a desktop IDE is still the right tool.
You want to sketch a rung. Maybe it is a seal-in for a pump, maybe it is an interlock you need to explain to a colleague, maybe you are a student and the lab PC with the licensed software is booked. Whatever the reason, the honest answer for most of the last thirty years has been "install the vendor IDE first", and that answer has cost an afternoon. Building a ladder diagram online changes the cost of that first sketch from an afternoon to a couple of minutes, and this post walks through exactly what that looks like, and where the browser still is not enough.
Why ladder tooling has been desktop-and-licence-locked
Ladder editors grew up inside vendor programming packages, and those packages have three jobs the browser was never asked to do. They talk to hardware over proprietary protocols, they hold a device catalogue that runs to gigabytes, and they compile for one family of controllers. The editor is a small part of a large install, and the licence covers the whole thing.
That model made sense when the only reason to draw a rung was to download it to a specific PLC. It makes less sense for everything that happens before that point: working out the logic, agreeing it with the person who has to maintain it, teaching it, and testing whether the idea holds up at all. None of those steps need a device catalogue. They need a rung on a screen and a way to poke it.
What a ladder diagram online actually changes
Drawing ladder online is not a new idea; a picture of a rung has been possible in a browser for years. What changes with a proper tool is three things, and none of them is "it looks nicer".
Nothing to install. A ladder diagram maker that runs in the browser works on the laptop you have, the one at the client site, and the one in the lecture room. Sign in and the workbench is there.
One copy, always current. Save a program and it is stored with your account, so the version you open tomorrow is the version you left, not an export that went stale. When you edit the structured text, the ladder is regenerated from it, so the diagram cannot lag behind the code.
The diagram runs. This is the one that matters. An online ladder diagram that is only a picture is a whiteboard with extra steps. Ours is drawn from a compiled model that also feeds a scan-cycle simulator, so every rung you see can be forced and watched. A ladder diagram simulator and a ladder diagram maker are the same tool when they share the same model.
Walkthrough: from a sentence to a running circuit
Here is the two-minute version, using the free workbench at PLC-Ladder. Timing yourself is optional.
Describe it. In the request box, type what the circuit should do in ordinary English:
Start the pump with the start button and stop it with the stop button. Turn on a run lamp two seconds after the pump starts.
Press Draft with AI. The assistant writes IEC 61131-3 structured text, the compiler checks it, and, if it does not compile, the errors go back to the assistant to fix before you see anything. What arrives is a program like this:
PROGRAM Main
VAR
StartButton : BOOL;
StopButton : BOOL;
Pump : BOOL;
RunLamp : BOOL;
LampDelay : TON;
END_VAR
// Assuming StopButton is TRUE while the stop button is pressed.
Pump := (StartButton OR Pump) AND NOT StopButton;
LampDelay(IN := Pump, PT := T#2s);
RunLamp := LampDelay.Q;
END_PROGRAM
The comment line is not decoration. The drafter states every assumption it made at the top of the program, and the rail lists them, so the first thing you review is the thing most likely to be wrong.
Get the diagram. Switch to the Ladder tab. Three networks: the seal-in for the pump, the on-delay timer driven by the pump, and the lamp driven by the timer's done bit. If you would rather write the structured text yourself, do that in the ST code tab; it compiles as you type and the ladder follows.
[SCREENSHOT: Ladder tab with the three networks, the Pump seal-in on top, the TON block in the second rung, RunLamp coil on the third]
Make it run. Press Run. The scan loop starts, and the rail on the right lists every input the program reads. Force StartButton on. The pump coil energises, and the pump contact in the parallel branch highlights: that is the seal-in taking over. Release StartButton and the pump stays on. Two seconds later the timer's Q pin goes true and the lamp lights. Force StopButton and everything drops in one scan.
[SCREENSHOT: the running simulation with StartButton released, Pump held by its own contact, and the RunLamp coil energised after the 2 s delay]
If you prefer to check the timing without watching, the Tests tab takes a CSV of inputs and expected outputs and runs the program against every row. That is a different post: testing PLC logic with CSV injection files.
That is the whole loop: a sentence, a diagram, a circuit you can operate. The AI drafted it, the compiler proved it well-formed and simulable, and you approved it by forcing the inputs and watching the coil. The parts of that loop the browser does not do are the interesting ones, so here they are.
When a desktop IDE is still the right tool
Be clear about what an online ladder editor is for. It is for the logic: writing it, reading it, agreeing it, testing whether it behaves. It is not a replacement for the vendor package, and we would rather say so than have you find out at the panel.
Downloading to hardware. Our workbench does not talk to a PLC. Getting logic onto a controller means the vendor's tool, and today that means re-entering the logic there. Export to vendor formats is on our roadmap and is not built yet, so plan for retyping.
Hardware configuration and I/O mapping. Which physical terminal is StartButton? Which rack, which slot, which card? That lives in the IDE, and it is where a large share of commissioning problems actually live. A ladder diagram that runs in a browser tells you nothing about a miswired input.
Vendor instructions. Move-with-mask, file arithmetic, motion instructions, safety-rated function blocks: these exist only in the package that supports them. The subset we compile is deliberately small and published, and anything outside it is rejected with a line number rather than approximated. If your logic depends on those instructions, the rung has to be built in the IDE.
Real timing. The simulator scans on its own clock, and the TON in the example measures real elapsed time in that loop, which is not your controller's scan time. The delay is right to the tick of the simulator, not to the millisecond of the hardware. For most logic that is fine; for anything that depends on scan time, prove it on the PLC.
None of that makes the online sketch less useful. It makes it the first step, done in minutes instead of an afternoon, with a diagram that has already been run once before anyone opens the expensive tool. If you are converting existing text rather than starting from English, how a structured text to ladder logic converter works covers what that conversion can and cannot prove.