Live · MVP1 Generate shipped 2026-05

TIA Portal V21 work, compressed to minutes.

PLCBrain runs TIA Portal in the cloud with Claude as the engineer. Generate projects from text. Audit existing ones for code quality and OT-security gaps. Diagnose why a line stopped — without the round-trip to site.

~5 minSpec to .zap21
0 errorsCompile-clean baseline
V21CPU 1515-2 PN today
Three pillars

One platform for the entire PLC workflow.

Built on the same private MCP server that drives Openness from natural language. Bread-and-butter automation work, fully cloud-native.

Generate Live

Text spec + Excel I/O list to compile-clean LGF-style PLC project. Function blocks, instance DBs, OB1 wiring — done in 5 minutes.

  • Native .zap21 archive
  • PascalCase block names
  • 4-tier validation
Open generator

Audit Beta

Upload an existing .ap21, get back a HTML/PDF report on code quality, OT-security, naming hygiene, and IEC-61131 compliance.

  • 40+ static rules
  • Per-block scoring
  • TUV-friendly format
Run audit

Diagnostics Soon

Why did the line stop? Snapshot a live PLC, get Claude's ranked diagnosis in plain language. Phantom-stop hunter for production floors.

  • Per-incident, per-machine, or per-plant tiers
  • Operator-friendly verdict
  • Multi-vendor on the roadmap
Preview UI
How Generate works

From plain-text brief to a real TIA project.

01

Describe

Free-form text: "Packing line PACK-01, 4 conveyors with start/stop and jam detection". Plus an Excel I/O list (Tag, Address, DataType, Comment).

02

Submit

Job lands in our queue. The orchestrator spins up TIA, copies a clean seed, hands the prompt to Claude.

03

Generate

Claude drives our MCP tool whitelist: tia_create_fb, tia_create_db, tia_create_instance_db, plus an OB1 rewrite to wire everything.

04

Verify & ship

tia_compile_plc for sanity, native Archive() to .zap21, then back to your browser. Open in your local V21, ship.

FB_Conveyor.scl
// FB_Conveyor — LGF-style scaffold
// generated by PLCBrain on 2026-05-26
VAR_INPUT
    start_btn  : Bool;
    stop_btn   : Bool;
    phc_a      : Bool;
    phc_b      : Bool;
    estop_ok   : Bool;
END_VAR

VAR_OUTPUT
    motor_cmd  : Bool;
    jam_alm    : Bool;
END_VAR

VAR
    running    : Bool;
END_VAR

// edge-triggered run latch
IF start_btn AND estop_ok AND NOT stop_btn THEN
    running := TRUE;
END_IF;

IF stop_btn OR NOT estop_ok THEN
    running := FALSE;
END_IF;

jam_alm   := phc_a AND phc_b;
motor_cmd := running AND NOT jam_alm;
Built for

System integrators who ship bread-and-butter automation.

Cuts the boring 80%

Block scaffolding, instance DBs, OB wiring, tag tables — the part that takes 4-8h per project becomes 5 minutes. You stay focused on the interesting logic.

Predictable output

PascalCase blocks. snake_case tags. LGF-style structure. Compile-clean before download. No diacritics. Same shape every time.

Real artefacts

Native .zap21 archive from Openness Archive(). Opens in your local TIA Portal V21 like any other project. No cloud lock-in.

5 SK/CZ system integrators wanted for closed beta.

Free during beta. Real feedback in exchange. No commitments. We're sending invites this week.

Request beta access