← Back to Blog

Control Systems

17 articles

SIMATIC AX Tank Control Logic: From Empty Blocks to Tested Behavior

July 31, 2026 — Build readable SIMATIC AX tank control logic with analog scaling, protected Manual and Automatic modes, pump priming, fault recovery, and AxUnit tests.

SIMATIC AX Tank Demo: GitHub, TIA Selection Tool, and Hardware Configuration

July 10, 2026 — Follow a SIMATIC AX tank demo from GitHub and TIA Selection Tool to a compiling S7-1200 G2 hardware configuration and I/O mapping.

SIMATIC AX Tank Control Demo: Requirements and I/O Baseline

July 7, 2026 — Article 19 of the Studying SIMATIC AX series. A practical tank-control demo starts with a process diagram, requirements review, operating modes, and a first I/O baseline.

Function Block Encapsulation in TIA Portal - Clear Interfaces and Private State

July 2, 2026 — How to draw the boundary around a TIA Portal function block: visible Inputs, Outputs, InOut interfaces, private Static and Temp state, diagnostics, and safer changes.

Siemens AX Libraries: Timers Are Packages, Not Magic Blocks

June 24, 2026 — Article 18 of the Studying SIMATIC AX series. Timer libraries in SIMATIC AX explained from a TIA Portal engineer point of view: packages, namespaces, documented timer function blocks, and why elapsed timer behavior needs runtime proof.

How I Decide What Belongs in a TIA Portal UDT

June 22, 2026 — A practical way to decide what belongs in a TIA Portal UDT after the design starts changing: commands, status, hardware IO, child interfaces, communication data, private state, and structure-change risk.

Initialization Patterns - Startup Task and ProgramCycle in AX

June 17, 2026 — Article 17 of the Studying SIMATIC AX series. Startup, ProgramCycle, and first-cycle initialization patterns explained from a TIA Portal engineer studying AX, with clear boundaries between Siemens task-library documentation and local build/test evidence.

Data Types and UDTs - The Type System in TIA Portal

June 15, 2026 — Article 7 of the Studying TIA Portal series. Why data types in TIA Portal are part of the engineering contract: elementary types, STRUCT, ARRAY, UDTs, DB fields, FB interfaces, structured PLC tags, and external boundaries such as HMI and OPC UA.

PLC Tags and the Hardware Address Space

June 1, 2026 — Article 6 of the Studying TIA Portal series. Why PLC tags should be treated as a readable hardware vocabulary, not the whole software architecture: I/Q/M/DB spaces, IO mapping, symbolic names, and clean ownership boundaries.

Error Handling in SIMATIC AX - TRY/CATCH from a TIA Portal Lens

June 1, 2026 — Article 16 of the Studying SIMATIC AX series. The current tested SIMATIC AX ST compiler rejects general TRY/CATCH, so expected PLC fault conditions still need deterministic guard/report/recover logic, safe defaults, and alarm/status reporting.

Data Blocks — Why TIA Treats Data as First-Class Objects

June 1, 2026 — Article 5 of the Studying TIA Portal series. Why Data Blocks in TIA Portal are more than storage: global DBs, instance DBs, commissioning diagnostics, start values, retention, download discipline, and the ownership rules that keep shared data readable.

Configuration, Tasks, and Programs — The AX Scan Cycle

May 27, 2026 — Article 15 of the Studying SIMATIC AX series. The AX scan cycle explained from the configuration.st file — what CONFIGURATION, TASK, and PROGRAM actually mean, how task priorities and interruption work, the declarative TASK→PROGRAM binding pattern versus calling OBs from OB1, multi-task patterns including a measured struct atomicity test on PLCSIM Advanced V8.0, and the complete mapping back to TIA Portal architecture.

Function Blocks vs Functions — Code, State, and the Instance

May 25, 2026 — Article 4 of the Studying TIA Portal series. The structural difference between Function Blocks (FB) and Functions (FC) — code that remembers vs code that forgets — and how the instance data block model carries state across calls. Includes a cross-platform comparison of how Siemens TIA Portal, Beckhoff TwinCAT 3, Codesys, and SIMATIC AX implement the same IEC 61131-3 split, plus a worked example of multi-instance FB design and the two Siemens download-without-reinitialization mechanisms (per-DB memory reserve since V12, V21 "Keep actual values" for S7-1500).

The apax CLI — Every Command Worth Knowing

May 19, 2026 — Article 14 of the Studying SIMATIC AX series. A walk through every apax command worth knowing — create, install, build, test, dm, and the supporting commands around the edges. With honest notes on the rough edges of the Device Manager subsystem from hands-on use of apax CLI v4.3.0.

Organization Blocks — TIA Portal's Execution Model

May 18, 2026 — Article 3 of the Studying TIA Portal series. A working engineer's tour of TIA Portal's execution model through Organization Blocks — OB1, OB100, cyclic and hardware interrupts, diagnostic OBs — including a cross-platform comparison of how Siemens, Beckhoff, Codesys, Rockwell, and SIMATIC AX handle the main scan cycle.

The Map Before the Territory — What TIA Portal Programs Are Actually Made Of

May 7, 2026 — Article 2 of the Studying TIA Portal series. A working engineer's map of the building blocks of a TIA Portal program — OBs, FBs, FCs, DBs, instances, PLC tags, and types — and what makes TIA's design choices distinctive compared with other PLC platforms.

Why I'm Writing a Structured TIA Portal Series — And What You'll Get Out of It

May 4, 2026 — Series kickoff — why I am writing a structured TIA Portal series, the gap between Siemens manuals and engineering judgment, and the five movements that organize the series.