1. Overview
Siemens SIMATIC remains the dominant programmable logic controller (PLC) platform in factory automation, process control, and machinery. Engineers entering the ecosystem must navigate four distinct controller generations: the legacy S7-200, the discontinued S7-300/S7-400, and the active S7-1200 and S7-1500 product lines. Programming consolidates into the Totally Integrated Automation (TIA) Portal, which replaced STEP 7 V5.x, STEP 7 Micro/WIN, and WinCC flexible as the single engineering framework. This guide maps the hardware families, programming languages, communication protocols, official Siemens documentation, and supplementary technical literature required to build a working knowledge of the platform from a beginner level through competent project execution.
2. Siemens SIMATIC Controller Family Architecture
The SIMATIC S7 lineup is segmented by application scale and lifecycle status. Choosing the right platform is the first architectural decision for any new project.
| Series | Lifecycle | Software Environment | Typical Use Case |
|---|---|---|---|
| S7-200 | Discontinued (2008) | STEP 7 Micro/WIN V4.0 | Legacy micro-machine tasks, replaced by S7-200 SMART and S7-1200 |
| S7-200 SMART | Active (SR/ST series) | STEP 7 Micro/WIN SMART | Low-cost compact machines, Asia/Pacific market |
| S7-300 | Discontinued for new orders 2017 (extended spare-part coverage to 2023) | STEP 7 V5.6 / TIA Portal V16+ | Mid-size plant installations, migrations to S7-1500 |
| S7-400 | Discontinued for new orders 2017 | STEP 7 V5.6 / TIA Portal V16+ | High-availability process plants, migrations to S7-1500/AS 410 |
| S7-1200 | Active (1st gen 2009, 2nd gen 2023) | TIA Portal V11+ | Standalone machines, small systems, OEM products |
| S7-1500 | Active (1st gen 2013, 2nd gen 2018, ET 200SP 2024) | TIA Portal V12+ | Mid- to high-end discrete and process automation |
| ET 200SP / ET 200MP | Active | TIA Portal | Distributed I/O with S7-1500 or third-party head modules |
The practical advice for any new engineer: skip S7-200 and S7-300/400 unless tasked with maintaining legacy equipment. Begin with S7-1200 (entry point) and progress to S7-1500 (production standard). Both are programmed in the same TIA Portal instance, with shared tag and project structure conventions.
3. S7-1200 Hardware Reference
The S7-1200 is a compact, modular controller with the CPU, signal board (SB), signal module (SM), and communication module (CM) all installed on a single DIN rail segment. The 1st generation includes CPUs 1211C, 1212C, 1214C, 1215C, and 1217C, each differentiated by I/O count, work memory, and PROFINET port count. The 2nd generation (released 2023) introduces CPUs 1212C G2, 1214C G2, 1215C G2, and 1217C G2 with up to 250 KB work memory, 24 PROFINET device connections, and OPC UA server capability.
| CPU | Work Memory | Bit Memory (M) | Onboard DI/DO | Onboard AI | PN Ports |
|---|---|---|---|---|---|
| CPU 1211C | 30 KB code / 10 KB data | 4 KB | 6 DI / 4 DO | 2 AI | 1 |
| CPU 1212C | 50 KB code / 20 KB data | 8 KB | 8 DI / 6 DO | 2 AI | 1 |
| CPU 1214C | 75 KB code / 50 KB data | 16 KB | 14 DI / 10 DO | 2 AI | 1 |
| CPU 1215C | 100 KB code / 75 KB data | 32 KB | 14 DI / 10 DO | 2 AI / 2 AO | 2 (switch) |
| CPU 1217C | 125 KB code / 100 KB data | 32 KB | 14 DI / 10 DO | 2 AI / 2 AO | 2 (switch) |
Key technical points:
- Programming is exclusively in TIA Portal (STEP 7 Basic / STEP 7 Professional V18 or later for G2).
- Integrated PROFINET controller supports up to 16 PROFINET IO devices for CPU 1211C-1214C and 32 devices for CPU 1215C/1217C.
- Web server is enabled by default on firmware V4.0 and later; restrict access via the protection settings.
- Trace, PID_Compact, and motion control are integrated without additional licenses.
4. S7-1500 Hardware Reference
The S7-1500 is the production workhorse for new Siemens installations. It separates the CPU, display, and I/O across an ET 200MP backplane. The current lineup spans CPU 1510SP (with ET 200SP), CPU 1511-1 PN, CPU 1513-1 PN, CPU 1515-2 PN, CPU 1516-3 PN/DP, CPU 1517-3 PN/DP, CPU 1518-4 PN/DP, and the multi-functional platform CPU 1518-4 PN/DP MFP with C/C++ runtime.
| CPU | Bit Performance | Work Memory (Code + Data) | Display | OPC UA |
|---|---|---|---|---|
| CPU 1511-1 PN | 60 ns | 150 KB + 1 MB | Optional | Server |
| CPU 1513-1 PN | 40 ns | 300 KB + 1.5 MB | Optional | Server |
| CPU 1515-2 PN | 30 ns | 500 KB + 3 MB | Yes | Server/Client |
| CPU 1516-3 PN/DP | 10 ns | 1 MB + 5 MB | Yes | Server/Client |
| CPU 1517-3 PN/DP | 2 ns | 2 MB + 8 MB | Yes | Server/Client |
| CPU 1518-4 PN/DP | 1 ns | 3 MB + 10 MB | Yes | Server/Client |
| CPU 1518-4 PN/DP MFP | 1 ns | 3 MB + 10 MB (+ C/C++) | Yes | Server/Client |
Bit execution times shown in nanoseconds indicate instruction throughput. A 60 ns CPU handles roughly 16 million bit operations per second under ideal scan conditions. Real-world applications rarely exceed 20-30% of theoretical bit throughput. The 1518 series is reserved for high-speed packaging, motion, and C++ algorithmic extensions; the 1511-1 PN is the typical OEM starting point.
5. TIA Portal: The Engineering Environment
The Totally Integrated Automation Portal integrates STEP 7, WinCC, SINAMICS StartDrive, and Safety Integrated commissioning into a single tool. Engineers configure controllers, HMI panels, drives, and remote I/O in the same project tree, with shared tag databases and cross-references. Major release versions and their associated firmware compatibility:
| TIA Portal Version | Release | Supported Firmware | Windows |
|---|---|---|---|
| V16 | 2020 | S7-1200 V4.4, S7-1500 V2.6/2.7 | Win 10 |
| V17 | 2021 | S7-1200 V4.5, S7-1500 V2.9 | Win 10/11 |
| V18 | 2022 | S7-1200 V4.6, S7-1500 V3.0 | Win 10/11 |
| V19 | 2023 | S7-1200 G2, S7-1500 V3.1 | Win 10/11 |
| V20 | 2024 | S7-1500 V3.2, ET 200SP V4.x | Win 11 |
6. Programming Languages: LAD, FBD, STL, SCL, GRAPH
STEP 7 supports five IEC 61131-3 languages plus Siemens extensions. The choice of language affects diagnostics, motion integration, and code review.
| Language | IEC 61131-3 | Editor Type | Best For |
|---|---|---|---|
| LAD (Ladder) | Yes | Graphical | Discrete logic, diagnostics for electricians, OEM machinery |
| FBD (Function Block Diagram) | Yes | Graphical | Boolean logic, batch control, pharma / process |
| STL (Statement List) | Yes (legacy) | Textual | Bit-level optimization, legacy S7-300/400 migration |
| SCL (Structured Control Language) | Yes (subset of ST) | Textual (Pascal-like) | Loops, math, data structures, recipe handling |
| GRAPH | Siemens extension | State-machine | Sequential control, packaging, batching |
6.1 Ladder (LAD) Sample
LAD executes left-to-right and top-to-bottom. A simple start/stop seal-in circuit in LAD for a conveyor motor would appear as two parallel contacts feeding a single output coil, with the auxiliary contact of the output providing the latching path.
6.2 SCL Sample
FUNCTION_BLOCK "MotorControl"
VAR
bStart : BOOL;
bStop : BOOL;
bFault : BOOL;
bRun : BOOL;
END_VAR
BEGIN
IF bFault THEN
bRun := FALSE;
ELSIF bStop THEN
bRun := FALSE;
ELSIF bStart THEN
bRun := TRUE;
END_IF;
END_FUNCTION_BLOCK
6.3 STL Sample
A "Start_Button"
AN "Stop_Button"
AN "Fault"
= "Motor_Run"
STL is retained in TIA Portal for S7-1500 but flagged as "deemphasized." Use SCL for new development; use STL only when migrating STEP 7 V5.x projects or when bit-level optimization is critical.
7. Communication Protocols
Siemens controllers expose a defined set of protocols on their PROFINET and PROFIBUS interfaces. Mastering the protocol set is essential for HMI, drive, and SCADA integration.
| Protocol | Layer | Use Case | Library / Function Block |
|---|---|---|---|
| PROFINET IO (IRT/RT) | Ethernet | Real-time I/O to ET 200SP, drives, third-party stations | Built-in, configured in Device Configuration |
| PROFIBUS DP | RS-485 | Legacy field devices, ET 200S (replaced by PROFINET) | CM 1542-5, CM 1243-5 |
| S7 Communication (PUT/GET) | TCP/IP | Controller-to-controller data exchange | PUT, GET instructions |
| Modbus TCP | TCP/IP | Third-party instruments, inverters | MODBUS_PN block (in TIA Portal V17+) |
| OPC UA Server | TCP/IP | SCADA, historian, MES, cloud | Built-in for S7-1500, licensed for S7-1200 |
| SNMP | UDP/IP | Network management | Configuration via TIA Portal |
| MQTT | TCP/IP | IoT / cloud telemetry | Siemens IoT2050, MFP, or user library |
| EtherNet/IP | Ethernet | Rockwell integration | Third-party module, e.g. HMS Anybus |
8. Official Siemens Documentation
The primary documentation entry point is the Siemens Industry Online Support portal. Every CPU, module, and software function has a dedicated entry. Use the entry ID number when calling Siemens support or referencing an article.
| Document | Entry ID | Coverage |
|---|---|---|
| SIMATIC S7-1500 Automation System System Manual | 109759802 | Hardware, configuration, diagnostics, technical data |
| SIMATIC S7-1200 Programmable Controller System Manual | 109759806 | S7-1200 hardware, signal boards, modules, programming basics |
| TIA Portal Programming and Operating Manual | 109759801 | Project creation, online functions, blocks, libraries |
| STEP 7 Professional V19 System Manual | 109824790 | Software installation, project structure, version handling |
| S7-1500 Motion Control Function Manual | 109751325 | Telegram 3/5, TO Axis, cam, gearing |
| S7-1500 Diagnostics Function Manual | 109751702 | ProDiag, fault handling, runtime diagnostics |
9. TIA Portal Programming Style Guide
Siemens publishes an official programming style guide that codifies conventions for naming, code structure, error handling, and library use. The current revision is available in English, German, and several other languages.
TIA Portal Programming Style Guide (Entry 109773506)
Key principles from the guide:
- Use lowercase camelCase or UDT-based structured tags:
conveyorBeltSpeed, notCONV_BELT_SPD. - Reserve global DBs for shared data; use instance DBs (iDB) for block-local data.
- Every FB should declare explicit input, output, in/out, static, and temp sections in that order.
- Use the symbolic address
iMotor1.fbAxis.StatusWordinstead of absoluteDB32.DBX14.0. - Enclose all dangerous operations (motor start, valve open) in error-handling blocks with retentive flags.
- Define an organizational hierarchy: OB1 for main scan, OB82/83/85/86 for hardware interrupts, OB121/122 for syntax and I/O errors.
10. Recommended Technical Literature
Several reference books supplement the Siemens documentation. The "Automating with SIMATIC" series by Hans Berger (Publicis / Wiley) is widely used in industry and academic curricula.
| Title | Author | Coverage | ISBN |
|---|---|---|---|
| Automating with SIMATIC S7-1200 | Hans Berger | S7-1200 hardware, programming, communication | 978-3-89578-441-0 |
| Automating with SIMATIC S7-1500 | Hans Berger | S7-1500 hardware, programming, motion, safety | 978-3-89578-440-3 |
| Automating with SIMATIC S7-300 in TIA Portal | Hans Berger | Migration S7-300 to TIA Portal | 978-3-89578-484-7 |
| Automating with SIMATIC S7-400 in TIA Portal | Hans Berger | S7-400 in TIA Portal environment | 978-3-89578-485-4 |
| Automating with STEP 7 in LAD and FBD | Hans Berger | Graphical programming reference | 978-3-89578-301-7 |
| Automating with STEP 7 in STL and SCL | Hans Berger | Textual programming, algorithms, data structures | 978-3-89578-300-0 |
| Advanced PLC Programming | Majid Pakdel | Structured Text, cross-platform | 978-1-925823-79-2 |
For free, official introductory material, the PLC Handbook from AutomationDirect is a generic 80-page primer that establishes common PLC vocabulary and concepts before approaching the Siemens-specific toolchain.
11. Structured Learning Path
The following sequence progresses a beginner from zero to commissioning-ready in approximately 200-300 hours of focused study.
-
Weeks 1-2: Foundation
Read the PLC Handbook, the S7-1200 system manual chapters 1-3, and complete the Siemens Learning SITRAIN introductory module SITRAIN "SIMATIC S7-1200 Basic." -
Weeks 3-4: TIA Portal hands-on
Install TIA Portal V18 or V19 trial. Configure a CPU 1214C project, scan PROFINET, create a tag table, write a simple LAD seal-in routine, and download to a PLCSIM simulation. -
Weeks 5-6: Programming languages
Implement the same logic in LAD, FBD, SCL, and GRAPH. Compare diagnostic output, scan time, and code maintainability. -
Weeks 7-9: Communication
Connect an S7-1500 to an S7-1200 via PUT/GET, integrate a SINAMICS V90 drive via Telegram 3, and connect a third-party instrument using Modbus TCP. -
Weeks 10-12: HMI and diagnostics
Configure a KTP700 Basic HMI, build a recipe view, and implement ProDiag error handling for motor blocks. -
Weeks 13-16: Project capstone
Build a full conveyor-sorter application with 2D barcode reader, three PROFINET stations, OPC UA export, and WinCC Unified runtime.
12. Verification and Best Practices
Before considering a project production-ready, verify each layer against the following checklist.
| Layer | Verification | Acceptance |
|---|---|---|
| Hardware | DI/DO module status green, PROFINET diagnostics clean | No SF/BF, no wire break |
| Firmware | CPU firmware matches TIA version per compatibility matrix | Exact match in Online & Diagnostics > Diagnostics > General
|
| Code | Compile clean, no cross-references to deleted blocks | Zero warnings in compile log |
| Cycle time | Monitor OB1 execution time | < 50% of scan budget |
| Communication | Run PN diagnostics, check device replacement without PG | All replacement partners visible |
| Security | Disable PUT/GET, change default passwords, restrict web server | Per Siemens Security Wizard recommendations |
| Backup | Archive project to card with TIA Portal export, write to SD | Verify a card-format restore on identical hardware |
13. Troubleshooting Matrix
The following common error patterns surface during commissioning. Each entry maps an observable symptom to its probable cause and remediation.
| Symptom | Probable Cause | Remediation |
|---|---|---|
| CPU in STOP, SF LED solid | OB not loaded, or I/O access error | Download all OBs, check HW config for missing modules |
| PN device not reachable | Name assignment missing, IP out of subnet | Assign PROFINET device name via Topology Editor |
| Tag shows "Invalid value" | PLC in STOP, or DB not loaded with active values | Force a manual restart; check for retain mismatch |
| PUT/GET returns STATUS 0x80B1 | CPU partner not accessible; PUT/GET disabled | Enable "Permit access with PUT/GET" in CPU properties |
| Trace records show jitter | Trace cycle configured too high; CPU in priority class 16 | Reduce trace resolution, lower OB priority |
| OPC UA server not responding | Certificate not trusted, port 4840 blocked | Install runtime cert to trusted store, open firewall |
14. Frequently Asked Questions
Which Siemens PLC should a beginner learn first in 2025?
Start with the S7-1200 (CPU 1214C or 1215C) and TIA Portal V18+. The S7-1500 follows naturally because it shares the TIA Portal environment, tag system, and block structure. Skip S7-200 and S7-300/400 unless assigned to legacy maintenance.
What is the difference between S7-300 and S7-1500 for new projects?
S7-300 production ended in 2017, with extended spare-part coverage through 2023. S7-1500 is the current Siemens standard, with 1 ns bit execution on the 1518, integrated OPC UA, ProDiag diagnostics, and a backplane that accepts ET 200MP I/O. New projects should always use S7-1500.
Is STL still supported in TIA Portal V19?
STL is available for S7-1500 in TIA Portal V19 but is documented as "deemphasized." New code should be written in SCL or LAD. STL remains useful for migrating legacy STEP 7 V5.x code line by line.
What is the official Siemens programming style guide?
The TIA Portal Programming Style Guide (Siemens entry 109773506) defines naming conventions, block structure, error handling, and library use. Compliance is recommended for all production code, especially in multi-developer projects.
Are the Hans Berger "Automating with SIMATIC" books still relevant?
Yes. The S7-1200 and S7-1500 volumes cover CPU 1211C-1217C and CPU 1511-1518 with current examples. They are widely used in SITRAIN courses and university programs. Earlier editions of "Automating with STEP 7 in STL and SCL" are still the standard reference for textual programming in S7-300/400.