A comprehensive learning path for automation engineers transitioning from TIA Portal to SIMATIC AX with Structured Text (ST) programming.
This repository contains a complete training module designed to teach ST programming concepts and SIMATIC AX development practices. The training covers everything from basic program organization to advanced system functions and practical automation applications.
After completing this training, participants will be able to:
- Analyze: Compare ST program structure vs. TIA Portal approach (15 min)
- Create: Build CONFIGURATION with tasks, global variables, and I/O mapping (30 min)
- Implement: Write FUNCTION, FUNCTION_BLOCK, and PROGRAM units with proper interfaces (45 min)
- Organize: Structure code using namespaces and access modifiers (20 min)
- Design: Define custom data types, enumerations for type-safe programming (25 min)
- Apply: Build a complete tank control application with valve function blocks (60 min)
Total Duration: ~3 hours | Assessment: Hands-on tank application project
- Solid SCL programming knowledge in TIA Portal
- Function blocks, data types, program organization experience in Step 7
- SIMATIC AX basics: Basic understanding of SIMATIC AX development environment
- Development setup: SIMATIC AX installed and configured for development
- Background: Industrial automation, PLC programming, Siemens ecosystem
- Complete SIMATIC AX Getting Started tutorials
- Practice basic project creation and building
- Familiarize yourself with the development workflow
axlp_introduction_to_st/
βββ slides/ # Training presentation
β βββ slides.md # Main slide content
β βββ theme/ # Custom styling
β βββ simatic-ax.css # SIMATIC AX theme
β βββ siemens.svg # Siemens logo
βββ exercises/ # Hands-on exercises
β βββ 1_implement_valve/ # ST01: Basic valve function block
β βββ 2_implement_tank/ # ST02: Tank with valve integration
β βββ 3_extend_tank_functionality/ # ST03: Enhanced tank features
β βββ 4_timer_for_tank/ # ST04: Timer-based valve control
β βββ 5_solution_exercise_4/ # ST05: Complete solution
βββ src/ # Example implementations
β βββ configuration.st # Configuration examples
β βββ ExampleProgram.st # Program structure examples
β βββ TankFb.st # Tank function block
β βββ Valve.st # Valve function block
β βββ Namespace/ # Namespace examples
βββ .github/workflows/ # CI/CD automation
- ST Program Structure Overview
- Configuration & Tasks setup
- Global Variables & I/O Mapping
- Program Organization fundamentals
- FUNCTION vs FUNCTION_BLOCK comparison
- Function Block structure and encapsulation
- Access Modifiers (PRIVATE, PROTECTED, PUBLIC)
- Function Overloading techniques
- Namespace Declaration & Syntax
- USING Directives implementation
- Naming Conflict Resolution
- Hierarchical Organization patterns
- Data Type fundamentals
- Enumeration Declaration & Usage
- Named Value Types comparison
- Type Safety best practices
- System Function overview
- Library Installation & Management
- Timer Functions (OnDelay, OffDelay)
- Error State Management
Build a foundational tank control system with valve function blocks:
- ST01: Create Valve Function Block with proper interface
- ST02: Implement Tank Function Block with valve integration
- ST03: System integration and testing
Extend the application with advanced features:
- ST04: ValveWithClosedSensor using enumerations
- ST05: Enhanced Tank with new valve types
Professional-grade valve control:
- ST06: ValveClosedSensorMon with OnDelay timer functionality
- Error state management and diagnostics
You can view the interactive training presentation here:
The training includes a comprehensive assessment through:
- Practical Implementation: Complete tank control application
- Code Review: Professional code organization and structure
- Technical Discussion: Understanding of ST programming concepts
- Real-world Application: Industrial automation best practices
Upon completion, participants will have:
- Solid ST Programming Foundation: Ready for advanced SIMATIC AX development
- Professional Development Skills: Modern automation programming practices
- Practical Experience: Complete industrial automation application
- Advanced Concepts Ready: Prepared for OOP, design patterns, and architecture
This training material is designed for automation engineers. Contributions, feedback, and improvements are welcome:
- Fork the repository
- Create a feature branch
- Submit pull request with detailed description
Copyright Β© Siemens AG. All rights reserved.
For questions about this training material:
- Create an issue in this repository
- Contact your local SIMATIC AX training coordinator
- Visit the SIMATIC AX community forums
Ready to master ST programming with SIMATIC AX? Start with Chapter 1 and build your way to professional automation development! π