Docs / Siemens TIA Portal
Siemens TIA Portal audit guide
SCL / AWL / UDT text exports parse end-to-end. .ap14 – .ap18 binary projects extract every textual blob (SCL / AWL / UDT XML) from the SQLite container and route them through the same parser pipeline, with FB and DB merge so cross-block references resolve. HW Config and proprietary binary blocks stay on the partial-decode badge.
Supported formats
Structured Control Language
stable.scl
Statement List
stable.awl
User-Defined Type
stable.udt
TIA Portal project (V14-V18)
stable.ap14 – .ap18
Siemens TIA Portal-specific rules
These rules are vendor-gated and only fire on Siemens TIA Portal sources. Vendor-neutral rules (R001–R007, R014, R022, etc.) also apply.
Inline hex magic literal (W#16#...)
Inline binary magic literal (2#...)
Compound assignment (TIA V14+, portability)
Zero-duration TIME literal (also Mitsubishi)
Known limitations
• F-CPU safety-IO routing not yet rule-encoded.
• Multi-vendor symbol cross-references (HMI ↔ controller) not tracked.
• Siemens ODK external-binding calls (ODK_ExcS / ODK_Load / etc.) recognised as stdlib; no R035 fires.
Workflow
1. In TIA Portal: right-click the block → Generate source from blocks → save the .scl / .awl / .udt files.
2. For .ap14-.ap18 binary projects: upload the archive directly. Coverage badge will indicate partial-decode.
3. Findings include cross-FB references and call-graph cycles.