STL/AWL Deprecation in S7-1500: Why You Must Convert to SCL
Why AWL/STL runs only in emulation mode on S7-1500, what that means for performance and maintainability, and how to convert your STL code to SCL. Includes conversion strategy and code examples.
STL/AWL Deprecation in S7-1500: Why You Must Convert to SCL
AWL (Anweisungsliste) / STL (Statement List) is not natively supported on S7-1500. It runs in an emulation layer that translates STL instructions to the S7-1500's internal instruction set at compile time. The code works, but with reduced performance, limited access to new S7-1500 features, and an uncertain long-term future. On S7-1200, AWL is not supported at all. This article explains what this means and how to convert.
What "Emulation Mode" Means in Practice
When you open an AWL/STL block in TIA Portal for an S7-1500, TIA Portal compiles it using a compatibility layer. The practical consequences:
Performance: AWL blocks on S7-1500 run approximately 10–30% slower than equivalent SCL code, depending on the instruction mix. The emulation layer adds overhead for accumulator-based operations that do not map directly to the S7-1500's register-based architecture.
Memory: AWL blocks in emulation mode consume more work memory than equivalent SCL blocks because the emulation layer requires additional runtime structures.
New features unavailable: AWL blocks cannot use S7-1500-specific features:
- No access to optimized data block elements
- No ARRAY operations with variable indices
- No STRING functions beyond basic operations
- No direct OPC UA integration
- No VARIANT or ANY pointer in modern syntax
Debugging limitations: Online monitoring of AWL blocks on S7-1500 is less capable than for SCL blocks. Breakpoints, watch tables, and trace functions have reduced functionality.
S7-1200: No support at all. If you ever need to deploy your program on S7-1200 (common for smaller machines), AWL blocks cannot be used. Period.
The Long-Term Risk
Siemens has not announced a specific date for removing AWL support from S7-1500. But the direction is clear:
- AWL was never "native" on S7-1500 — it was always an emulation
- The S7-1200 (released 2009) never supported AWL
- Every new Siemens documentation and training focuses exclusively on SCL, KOP, and FUP
- TIA Portal's AWL editor has not received significant updates in years
The practical risk: A future TIA Portal version or S7-1500 firmware could restrict or remove AWL support. Converting 200 AWL blocks under time pressure is significantly more expensive and risky than converting them systematically over 2–3 years.
When to Convert
Convert now if:
- You are doing a migration from S7-300/S7-400 anyway (combining efforts)
- The block is being modified for other reasons (add conversion to the change scope)
- The block uses accumulator-heavy operations that run slowly in emulation
Convert later if:
- The block is stable and never changes
- Time pressure is high and the system must go live immediately
- The block is scheduled for replacement with a completely new design
Never convert blindly. A working AWL block in emulation is better than a broken SCL block. Only convert code that you can test thoroughly.
Conversion Strategy: AWL → SCL
Step 1: Categorize Your Blocks
Go through every AWL block and classify it:
| Category | Conversion Difficulty | Example |
|---|---|---|
| Simple bit logic | Easy | U E 0.0 / O E 0.1 / = A 4.0 |
| Timer/Counter | Easy | SI/SE/SD/SA → TON/TOF/TP |
| Arithmetic | Easy | L MW 10 / +F / T MW 20 |
| Comparisons with jumps | Medium | L MW 10 / L MW 12 / >F / SPB M001 |
| Complex jump structures | Hard | Multiple SPB/SPBN/SPA forming IF/ELSE/CASE |
| Indirect addressing | Hard | L DBW [AR1, P#0.0] |
| Accumulator manipulation | Hard | TAK / ENT / Akku-Schieben |
| Byte/word manipulation | Hard | SLW / SRW / UW / OW |
Step 2: Convert Easy Blocks First
Simple bit logic converts almost 1:1:
AWL:
U E 0.0
U E 0.1
O E 0.2
= A 4.0
SCL:
A4_0 := (E0_0 AND E0_1) OR E0_2;
Step 3: Replace Jump Patterns with IF/CASE
The most common conversion: SPB/SPBN/SPA patterns become IF/THEN/ELSE:
AWL:
L MW 10
L 100
>F
SPB M001
L 0
T MW 20
SPA M002
M001: L 1
T MW 20
M002: NOP 0
SCL:
IF MW10 > 100 THEN
MW20 := 1;
ELSE
MW20 := 0;
END_IF;
Step 4: Handle Accumulator Operations
The S5/S7 accumulator model (ACCU1, ACCU2) has no direct SCL equivalent. Each accumulator operation must be understood in context and rewritten as explicit variable operations.
For the complete AWL→SCL conversion guide with all instruction mappings, see our AWL to SCL conversion guide.
PLCcheck Pro: Automated AWL Analysis
PLCcheck Pro analyzes your AWL code and:
- Identifies the conversion difficulty per block
- Highlights accumulator-heavy patterns that need careful manual conversion
- Generates SCL equivalents for simple and medium-complexity blocks
- Creates documentation for complex blocks to support manual conversion
Upload AWL code for analysis →
Frequently Asked Questions
Will Siemens remove AWL support from S7-1500?
No specific date has been announced. But AWL has always been emulated (not native) on S7-1500, receives no new development, and is not supported on S7-1200. The direction is clear — SCL is the future.
Is SCL harder to learn than AWL?
For experienced AWL programmers, SCL feels different but is not harder. SCL uses high-level constructs (IF/THEN, FOR, WHILE) instead of accumulator operations. Most engineers find SCL easier to read and maintain once they are familiar with it.
Can I mix AWL and SCL blocks in the same project?
Yes. Each block can use a different language. A common migration strategy: keep stable AWL blocks unchanged and write new blocks in SCL. Convert AWL blocks to SCL opportunistically during maintenance.
Maintained by PLCcheck.ai. Last update: March 2026. Not affiliated with Siemens AG.
Related Articles
S7-300 to S7-1500 Migration: Complete Guide
Step-by-step guide for migrating Siemens S7-300 PLC programs to S7-1500 using TIA Portal. Covers hardware mapping, software migration wizard, optimized data blocks, AWL→SCL conversion, and common pitfalls.
15 min read
migration-guideConverting S5 AWL to S7 SCL: Step-by-Step
Practical guide for converting Siemens S5 AWL (Instruction List) code to S7 SCL (Structured Text). Includes conversion tables, code examples for bit logic, timers, counters, jumps, and data blocks.
14 min read
migration-guideS5 to S7 Migration: The Complete Guide (2026)
Step-by-step guide for migrating Siemens S5 PLC programs to S7-1500. Covers AWL→SCL conversion, timer mapping, address translation, and hardware selection.
18 min read
Analyze your PLC code with AI
PLCcheck Pro explains, documents, optimizes, and migrates PLC code — automatically.
Try PLCcheck Pro →Not affiliated with Siemens AG. S5, S7, STEP 5, STEP 7, and TIA Portal are trademarks of Siemens AG.