A curated list of resources, tools, examples, and community content for IEC 61131-3 Structured Text (ST) programming.
Structured Text (ST) is a high-level, Pascal-like programming language defined in the IEC 61131-3 standard for PLCs, HMIs, and industrial control systems. Its text-based, Pascal-like syntax makes it the most accessible IEC 61131-3 language for software engineers transitioning to industrial automation.
- B&R Automation Studio - Development environment for B&R industrial controllers with full IEC 61131-3 support
- Beremiz - Open-source IEC 61131-3 IDE and runtime supporting all five PLC languages
- CODESYS - Manufacturer-independent IEC 61131-3 development platform
- Danfoss PLUS+1 GUIDE - Development environment for Danfoss mobile machine controllers with graphical and IEC 61131-3 Structured Text programming
- Omron Sysmac Studio - Integrated development environment for Omron NJ/NX/NY series machine controllers
- OpenPLC - Open-source PLC based on easy-to-use software
- Phoenix Contact PLCnext Engineer - Free IEC 61131-3 IDE for PLCnext Technology controllers
- Rockwell Studio 5000 Logix Designer - Design environment for Allen-Bradley ControlLogix and CompactLogix controllers
- Schneider Electric EcoStruxure Control Expert - Programming software for Schneider Electric Modicon controllers
- Siemens TIA Portal - Integrated automation engineering platform for Siemens S7 PLCs using SCL (Structured Control Language)
- TwinCAT by Beckhoff - Realtime PLC, NC, CNC, and robots control on almost any PC
- co-unit - Open-source unit testing framework for CODESYS
- TcUnit - TwinCAT unit testing framework
- UniTest - Platform-agnostic unit testing library for any IEC 61131-3 environment
- blark - Beckhoff TwinCAT Structured Text parser written in Python
- iec-checker - Static analysis tool for IEC 61131-3 programs
- matiec - Open-source IEC 61131-3 to C compiler used by Beremiz and OpenPLC
- RuSTy - Structured Text compiler written in Rust with LLVM backend
- OSCAT - Open-source function block library with building automation, network, and math blocks
- structured-text-utilities - Utility functions for arrays, numbers, strings, and date/time operations
- TcOpen - Application framework for TwinCAT 3 industrial automation
- STweep - Source code formatter for Structured Text with IDE plugins
- tree-sitter-structured-text - IEC 61131-3 Structured Text grammar for tree-sitter
- vscode-st - Structured Text language support for Visual Studio Code
- Twinpack - Package manager for TwinCAT libraries with Visual Studio integration
- zkbuild-action - GitHub Action for building and unit testing TwinCAT PLC projects
- IEC 61131-3 - Official international standard defining Structured Text and the other four PLC programming languages
- PLCopen - Vendor-independent organization maintaining technical standards and resources for IEC 61131-3
- awesome-industrial - Curated list of Industry 4.0 resources including open-source industrial software
- twincat-resources - A curated list of TwinCAT resources
- Object Oriented Industrial Programming (OOIP) using CODESYS by Gary Pratt - How to apply object oriented programming concepts in CODESYS (March 2021 CODESYS Tech Talk)
- Online PLC Support by Shane Welcher - YouTube channel with PLC programming tutorials including ST for Rockwell Automation
- PLC programming using TwinCAT 3 by Jakob Sagatowski - 18-part course covering various aspects of TwinCAT 3, geared toward software engineers
- Basics of Structured Text (ST) Programming by Realpars - ST syntax and examples
- Contact and Coil TwinCAT 3 Tutorial - Comprehensive guide covering ST syntax, data types, loops, and string handling
- Fernhill SCADA Structured Text Reference - Detailed ST language reference with syntax documentation and examples
- Stefan Henneken's IEC 61131-3 Blog - In-depth articles on OOP, design patterns, and the IEC 61131-3 standard
- Structured Text Programming: A Step by Step Guide by PLC Academy - Comprehensive tutorial covering ST syntax, data types, control structures, and practical examples
- Mastering PLC Programming by M. T. White - Hands-on guide covering IEC 61131-3 languages with CODESYS examples
- PLC Controls with Structured Text (ST), V3: IEC 61131-3 and best practice ST programming by Tom Mejer Antonsen - In-depth guide to IEC 61131-3 standard implementation with practical examples and industry best practices for ST programming
- ControlByte Academy - Video courses on CODESYS Structured Text programming with exercises and community support
- RealPars - Professional courses covering PLC programming across Siemens, CODESYS, and other platforms
- CODESYS Forge - Official CODESYS community with forums, libraries, and project sharing
- PLC Talk Forum - Q&A platform for automation professionals
- r/PLC on Reddit - Active community with 100k+ members
Contributions welcome! Read the contribution guidelines first.