What you give us

Two inputs

Text spec
50–5000 chars, plain English describing the line / cell / use case
I/O list
xlsx file, columns: Tag · Address · DataType · Comment, ≤ 500 rows

Example: "Packing line PACK-01, 4 conveyors with start/stop interlock and jam detection, central E-stop".

What you get back

Two artefacts

.zap21
Native TIA archive (Openness Project.Archive()), ~500 KB
report.pdf
List of blocks created, compile result, open TODOs, naming convention

Open the .zap21 via TIA Portal V21 → File → Retrieve.

What gets generated

Default scaffold for a conveyor cell

FB_* Function blocks

One per logical actor (conveyor, sensor, motor). LGF-style I/O + static vars.

DB_*_Inst_N Instance DBs

One per FB call site. Auto-numbered (1, 2, 3, ...).

FC_* Functions

Stateless helpers — safety evaluation, coordination, lookup.

DB_* Global DBs

IO mirrors, configuration, shared state. Optimized layout by default.

Main [OB1] rewired

Calls each instance DB in scan order. Replaces empty seed OB.

Compile pass

0 errors target. Warnings logged to the report.

Known constraints — MVP1: CPU 1515-2 PN baseline, PLC blocks only (HMI screens land in MVP1.6), ASCII-only identifiers (no diacritics), 5 jobs / user / 24h quota.