Practice Siemens STL and ladder logic in a browser. TIA Portal-style A / AN / O / ON / = instructions, %I0.0 / %Q0.0 addressing, timers and counters to spec. No Siemens license needed.
Siemens PLCs dominate European manufacturing, especially automotive, process, and packaging. If your target plant runs S7-1200, S7-1500, or legacy S7-300 / S7-400, the Siemens dialect is the one to practice. Allen-Bradley is the North-American default. IEC 61131-3 is the portable middle ground implemented by CoDeSys, OpenPLC, Beckhoff, and most of the non-AB / non-Siemens world.
Pick Siemens if: you are based in Europe, you are taking the Siemens SCE certification, you work in automotive or process industries, or your textbook uses STEP 7 / TIA Portal examples. The instruction set (A, AN, O, =) and addressing (%I0.0, %Q0.0) are the Siemens-specific details to internalise before anything else.
On this simulator you can work in Siemens dialect from day one. Every scenario accepts Siemens STL or ladder-style syntax and grades it against the same physics model that the IEC and AB dialects run against.
Statement List (STL) is Siemens\u2019 text-based representation of ladder logic, descended from the original Siemens AWL. It looks like assembly for a boolean accumulator. Each line is one instruction; the instructions operate on an implicit result register (the RLO — result of logic operation).
A — AND. ANDs the operand with the current RLO.AN — AND NOT. ANDs the inverted operand with the RLO.O — OR.ON — OR NOT.= — assign. Writes the current RLO to the operand (output coil).S — set. Latches the operand on when the RLO is true.R — reset. Clears the operand when the RLO is true.Addresses use the Siemens dotted format: %I0.0 is input byte 0 bit 0, %I0.7 is input byte 0 bit 7, %I1.0 is input byte 1 bit 0. Outputs use %Q. Internal memory bits use %M. Memory words (16-bit) use %MW. The simulator also accepts the IEC 61131-3 syntax of declaring a VAR block and mapping named tags to addresses with AT, which is how real TIA Portal programs are typically written.
Timers follow the TON / TOF / TP convention from IEC; the older Siemens SE / SD / SS / SA forms are accepted as aliases for backwards compatibility with STEP 7 v5 material. Counters similarly accept CTU / CTD / CTUD and the legacy CU / CD variants.
The canonical seal-in rung in Siemens STL. Network 1 latches the motor contactor on START_PB and breaks it on STOP_PB. Network 2 mirrors the contactor to a run lamp. Note the Siemens-specific convention of grouping a rung into a network and using dotted addressing.
// Classic Siemens STL motor start / stop with seal-in.
// START_PB is momentary; the coil latches via its own feedback contact
// and drops out on STOP_PB.
VAR
START_PB AT %I0.0 : BOOL;
STOP_PB AT %I0.1 : BOOL;
MOTOR_CONTACTOR AT %Q0.0 : BOOL;
RUN_LAMP AT %Q0.1 : BOOL;
END_VAR
// Network 1 — seal-in rung
A START_PB
O MOTOR_CONTACTOR
AN STOP_PB
= MOTOR_CONTACTOR
// Network 2 — run lamp mirrors the contactor
A MOTOR_CONTACTOR
= RUN_LAMPLoad the motor start-stop example in the editor and switch dialect to Siemens from the dialect toolbar. The sample above is the golden fixture for the Siemens dialect parser test.
Every scenario accepts Siemens syntax. These two are the most direct match for the instruction set covered in a typical Siemens SCE module.
Timer-driven state machine with a pedestrian walk input. Good first-Siemens scenario: small IO list, clean STL expression, fast feedback.
Traffic light example →Closed-loop temperature control — a near-perfect match for the Siemens PID block conventions. Practice setpoint tuning and sensor feedback in STL.
PID temperature control →No TIA Portal license. No PLCSIM setup. Two scenarios free, no credit card.
Related: Allen-Bradley simulator · ladder logic simulator · learn PLC programming.