Open Tools · Control, PLC-style programming
Seqchart: free online PLC-style logic simulator
Seqchart is an in-browser editor and simulator for PLC-style control logic beyond ladder diagrams. Draw a sequential function chart of steps and transitions, write the logic in Structured Text, and run both on a virtual scan cycle with switches, sensors and lamps.
Watch tables, a recorded timing chart and a single-scan stepper show exactly what the logic did and when. It is a teaching and prototyping tool, not for controlling real machinery, and the Guide states what it does not do.
What Seqchart can do
- Sequential function charts with steps, transitions, action qualifiers, and alternative and simultaneous branches
- A documented Structured Text subset with types, IF, CASE, FOR, WHILE, functions and function blocks
- Standard timer, counter, edge and latch blocks with documented behaviour
- A scan-cycle simulator with an I/O panel, watch table, forcing and a timing chart
- Step one scan at a time and read an event log of what fired and ran
- Example machine sequences, plus export of the project, source, chart, trace and report
How we verify Seqchart
Seqchart is checked against 168 independent reference cases. Where a reference answer exists you can run every check yourself on the Verify page, and the Seqchart user guide documents every feature and limitation.
Every behaviour in this Guide is covered by a case in one data module, used both by the automated test suite and by the Verify page, so what you can run is exactly what is tested. Today there are 168 cases, grouped as:
- Structured Text semantics: operator precedence, wrap-around, integer division and MOD signs, loops, CASE, arrays, enumerations, functions and blocks, with hand-derived expected values.
- Rejections: programs that must be refused, each with the exact diagnostic.
- Standard blocks: hand-traced scan sequences for every timer, counter, edge and latch block.
- Timing identities: closed-form checks such as "the first scan with Q TRUE is r + ceil(PT/dt)", across many scan periods and delays.
- Chart evolution and qualifiers: the rules above on small documented charts, with the active steps and the target values at chosen scans.
- Python reference: a separate interpreter written in Python 3 for the integer, loop and array subset; its results are recorded as literals and compared with this tool's.
- Validation against published examples: none are recorded yet. The two placeholders on the Verify page are marked pending source and carry no numbers.
Seqchart is part of Open Tools, the free engineering tools that run in your browser.
Professional use. Results are for education and preliminary design. They must be checked by a qualified professional, and they are not a substitute for code-compliant design or licensed engineering judgement.