S7-1200 Easy Book Scope and Document Access
The SIMATIC S7-1200 Easy Book (Siemens Industry Online Support entry ID 39710145) is the official introductory reference for engineers commissioning an S7-1200 compact PLC for the first time. It walks through the entire onboarding path: STEP 7 Basic (TIA Portal) project creation, hardware catalog selection, device and network configuration, LAD and FBD programming, the full data-type table, program organization blocks, online test and diagnosis, PROFINET and point-to-point communication, HMI basic panel visualization, USS drive handshaking with the SINAMICS G110 and MICROMASTER 4, and the LabVIEW data-exchange model.
The Easy Book is distributed as a free PDF and as an HTML help page from the Siemens Industry Online Support portal. The canonical download entry is support.industry.siemens.com - SIMATIC S7-1200 Easy Book (ID 39710145). Because the document has been reissued several times (most recently the 04/2012 edition, with online updates tied to TIA Portal V11/V12), always check the Edition field on the title page and cross-reference it against the firmware version of the CPU you are programming.
91658522) and the corresponding function manual for that firmware version.S7-1200 Hardware Components and CPU Selection
The Easy Book opens with the physical building blocks of an S7-1200 station. The chassis-less modular PLC is assembled from a CPU, optional signal boards (SB) plugged onto the CPU front, signal modules (SM) snapped to the right of the CPU, and communication modules (CM/CP) clipped to the left of the CPU. Power is fed either through the integrated 24 V DC terminal on the CPU or through a separate PM1207 power module.
| Module family | Order number prefix | Function |
|---|---|---|
| CPU 1211C | 6ES7211-1xx4x-xxxx | Entry CPU, 6 DI / 4 DO / 2 AI onboard, no expansion |
| CPU 1212C | 6ES7212-1xx4x-xxxx | 8 DI / 6 DO / 2 AI, 1 signal board + 1 signal module |
| CPU 1214C | 6ES7214-1xx4x-xxxx | 14 DI / 10 DO / 2 AI, 1 SB + 8 SM |
| CPU 1215C | 6ES7215-1xx4x-xxxx | 14 DI / 10 DO / 2 AI / 2 AO, 1 SB + 8 SM, 2 PROFINET ports |
| CPU 1217C | 6ES7217-1xx4x-xxxx | High-speed variant, 6 high-speed counters, motion control axis support |
| SM 1221 DI | 6ES7221-1xx3x-xxxx | 8 or 16 digital inputs |
| SM 1222 DO | 6ES7222-1xx3x-xxxx | 8 or 16 digital outputs (relay or transistor) |
| SM 1223 DI/DO | 6ES7223-1xx3x-xxxx | 8 DI / 8 DO or 16 DI / 16 DO combo |
| SM 1231 AI | 6ES7231-4xx3x-xxxx | 4 or 8 analog inputs (voltage, current, RTD, TC) |
| SM 1232 AO | 6ES7232-4xx3x-xxxx | 2 or 4 analog outputs |
| SM 1234 AI/AO | 6ES7234-4xx3x-xxxx | 4 AI / 2 AO combo |
| SB 1221 / 1222 / 1223 / 1231 / 1232 | 6ES7221 / 222 / 223 / 231 / 232-xxx | 4-point signal boards installed inside the CPU front cover |
| CM 1241 RS232 / RS422 / RS485 | 6ES7241-1xx3x-xxxx | Point-to-point communication, ASCII / Modbus RTU / USS |
| CP 1243-1 | 6GK7243-1BX30-0XE0 | Industrial Ethernet / PROFINET / security router |
| CSM 1277 | 6GK7277-1AA10-0AA0 | 4-port unmanaged switch for PROFINET line |
The Easy Book explicitly maps each catalog article to its slot and address area. The S7-1200 address space is fixed and starts at I0.0 for digital inputs and Q0.0 for digital outputs on the CPU. Adding an SM1223 to the right of the CPU extends the digital area to I8.0 / Q8.0 and beyond; analog channels begin at IW64 / QW64 by default and are remappable from the device configuration.
STEP 7 Basic Project Handling
STEP 7 Basic is the engineering tool bundled with TIA Portal and is the only programming environment that targets the S7-1200 in the current Siemens portfolio (STEP 7 V5.5 and older do not support S7-1200). The Easy Book dedicates its opening chapter to the portal view, project tree, and the four working panes: Project Navigation, Device Configuration, Programming Editor, and Online & Diagnostics.
- Launch TIA Portal and select Create new project. The project name becomes the basis of the offline/online comparison path stored under
\Documents\Automation\Projects\<ProjectName>.ap<version>. - Insert a new device through Add new device > SIMATIC PLC > S7-1200 > CPU. Pick the exact order number (MLFB) and firmware version of the physical CPU - mismatched firmware is the single most common cause of a download failure.
- Add a programming block: Program blocks > Add new block > OB1 (Main). The Easy Book uses OB1 as the default cyclic organization block and recommends leaving its priority at 1.
- Add an HMI device: Add new device > SIMATIC HMI > KTP400 / KTP700 / KTP900 / KTP1200 Basic. HMI basic panels use WinCC Basic, which is included in STEP 7 Basic at no extra cost.
- Add a PC station for WinCC Runtime or for a LabVIEW TCP target if needed.
- Save and compile the project. The compiler produces a consistent system data snapshot used by all online operations.
The Easy Book emphasizes one discipline repeatedly: the device configuration is the single source of truth for I/O addresses, slot rules, and PROFINET device names. A ladder network that references an address that is not configured in the device will compile but will fail to bind during download, surfacing as Download to device - error 33:0x0119 inconsistent system data in the diagnostics buffer.
Device Configuration and Network Planning
The Device View is the graphical representation of the station rail. Drag a CPU from the catalog to slot 0, an SB into the SB slot inside the CPU front cover, SMs to slots 1-8 to the right, and CMs/CPs to slots 101-103 to the left. PROFINET IO devices attach to the CPU PROFINET port (or to the CP 1243-1) and occupy sub-slots in the device view rather than physical slots.
| PROFINET device | Typical catalog position | Default IP | Device name pattern |
|---|---|---|---|
| ET 200SP IM 155-6 PN | Head module in distributed I/O subrack | Assigned by CPU | et200sp-1 |
| ET 200S IM 151-3 PN | Head module in distributed I/O subrack | Assigned by CPU | et200s-1 |
| SINAMICS G120 with CU240E-2 PN | Drive slot | Assigned by CPU | g120-1 |
| SINAMICS V20 PN | Drive slot | Assigned by CPU | v20-1 |
| KTP Basic panel | HMI in PROFINET line | Static IP from panel | ktp700-1 |
Network planning follows the standard PROFINET topology. The CPU acts as the IO Controller and assigns IP addresses and device names to the IO Devices at startup. The Easy Book recommends reserving a sub-net from a private range (e.g. 192.168.0.0/24) and disabling DHCP on every PROFINET node. Topology editor entries - port-to-port cabling - are optional but mandatory for the LLDP-based neighbor detection used by some PROFIenergy and diagnostics functions.
.nnn with no spaces. Without the correct name, the IO Device will flash its bus-fault LED and the CPU will report IO device failure (channel-level diagnostic, slot 0) in the diagnostics buffer. Use the Assign PROFINET device name wizard in Online & Diagnostics with the MAC address sticker from each device.LAD and FBD Programming Fundamentals
The Easy Book introduces the two editors used for S7-1200: Ladder Logic (LAD) and Function Block Diagram (FBD). Structured Text (SCL) and Graph are available in TIA Portal V13+ as paid add-ons, while the Easy Book era covers the free LAD/FBD subset. Both editors operate on the same compiled code; switching editors in the project tree is non-destructive.
Each network must terminate with a coil (LAD) or an assignment box (FBD). Unterminated networks fail to compile with the diagnostic Network N must contain a coil or assignment. The four key instruction families are:
-
Bit logic: normally-open (NO), normally-closed (NC), output coil, set/reset, SR/RS flip-flops, rising/falling edge detectors
PandN. - Timers: TP (pulse), TON (on-delay), TOF (off-delay), TONR (retentive on-delay). The Easy Book maps each timer to its IEC 61131-3 definition and warns that S7-200-style T32/T96 timer numbers do not exist on the S7-1200.
- Counters: CTU (count up), CTD (count down), CTUD (count up/down). All counter instances live in their own data block and survive a CPU restart only if the instance is set to Retain.
-
Comparators and math:
==, <>, >, >=, <, <=; integer and real arithmetic+, -, *, /, MOD;CALCULATEbox for inline expressions.
A canonical LAD example from the Easy Book - an automatic start/stop seal-in with overload interlock - looks as follows:
Network 1: Start seal-in
| Start_PB OL_OK Motor_Run |
|----| |--------|/|----------(S)---------------|
| |
| Stop_PB Motor_Run |
|----| |------------------------------------( )---|
Network 2: Output to contactor
| Motor_Run |
|----( )----------------------------------------( )Q0.0
The S7-1200 evaluates networks top to bottom in OB1; coil feedback to a contact in the same network is a closed loop in the PLC sense only if the contact is read at the start of the next scan. The Easy Book explicitly recommends the seal-in pattern shown rather than a single-line self-latching contact, because the S7-1200 optimizer in TIA Portal V14+ can otherwise detect a tautology and emit the warning Formal parameter access to a constant in a network.
Variables, Data Types, and Memory Layout
The PLC tag table replaces the S7-200/VB-style symbol table + absolute address split. Every variable used in a program is declared once in the PLC tag table or in a data block, and then addressed symbolically. The Easy Book distinguishes four scopes:
| Scope | Applies to | Retain attribute |
|---|---|---|
| Global tag (PLC tags) | Entire program in the CPU | Configurable per tag |
| Local tag (block interface) | One block only | Lost on block exit |
| Instance DB tag | One FB instance | Inherits from the FB instance properties |
| System constant | Read-only, generated by the CPU | n/a |
| Elementary data type | Size (bits) | Range | Default initial value |
|---|---|---|---|
| BOOL | 1 | 0 or 1 | FALSE |
| BYTE | 8 | 0..255 (16#00..16#FF) | 0 |
| WORD | 16 | 0..65 535 | 0 |
| DWORD | 32 | 0..4 294 967 295 | 0 |
| SINT | 8 | -128..127 | 0 |
| INT | 16 | -32 768..32 767 | 0 |
| DINT | 32 | -2 147 483 648..2 147 483 647 | 0 |
| USINT / UINT / UDINT | 8 / 16 / 32 | unsigned variants | 0 |
| REAL | 32 | IEEE 754 single | 0.0 |
| LREAL | 64 | IEEE 754 double | 0.0 |
| CHAR | 8 | ASCII | ' ' |
| WCHAR | 16 | UTF-16 code unit | W#16#0000 |
| TIME | 32 | T#-24d20h31m23s648ms..T#+24d20h31m23s647ms | T#0s |
| DTL | 96 | Date and time, 12-byte structure | DTL#1970-01-01-00:00:00.0 |
| STRING[n] | n*8 + 16 | ASCII string up to 254 chars + 2 byte header | '' |
Retain behavior is configured per tag, per FB instance, and per DB. The Easy Book recommends a maximum of 10 KB of retained data for CPU 1211C/1212C and up to 14 KB for 1214C/1215C; exceeding the retain budget causes a download with a diagnostic warning Retain memory overflow and forces non-retain behavior at runtime.
Program Blocks: OB, FB, FC, DB, and UDT
The Easy Book dedicates a chapter to the block architecture of the S7-1200, which mirrors the IEC 61131-3 model:
- OB (Organization Block): cyclically called entry points. OB1 is the main scan, OB35 the cyclic interrupt (default 100 ms, configurable down to 1 ms), OB82 the diagnostic interrupt, OB121 the programming error OB, OB122 the I/O access error OB.
- FB (Function Block): reusable code with its own static memory. Each call uses an instance DB; multi-instance capability was added in firmware V4.0.
- FC (Function): stateless code; variables passed by value through the input interface and returned through the output interface.
- DB (Data Block): typed or untyped storage. The Easy Book uses typed DBs exclusively for non-trivial data because the type information drives the HMI tag list and the OPC UA server exposed by the CPU.
- UDT (User-Defined Data Type): a struct-like template. Use it to define a motor, a recipe row, or a PID block once and instantiate it across multiple DBs.
FB invocation syntax in the Easy Book (FBD editor):
Motor_DB.Motor_Run // DB scope access
Instance_DB of FB "MotorControl"
EN: TRUE // Enable input
Start: Start_PB // Local tag binding
Stop: Stop_PB
OL: OL_OK // Overload feedback
Run: "Motor1_Run" // Output tag
Fault: "Motor1_Fault" // Static output retained in instance
Calling an FB without an instance is the second most common runtime error in the Easy Book and produces the diagnostic Instance DB missing - block cannot be called (SF LED on, BF off, MAINT blinking).
Online Operation, Watch Tables, and Diagnosis
Online operations require the IP route from the engineering PC to the S7-1200 PROFINET port. The Easy Book walks through the Go online wizard, which performs a three-step discovery: accessible nodes over Ethernet, accessible nodes over PROFIBUS, and finally the Online & Diagnostics view for the selected CPU.
| Online tool | Purpose | When to use |
|---|---|---|
| Watch table | Force / monitor / modify tags | Commissioning, I/O check, fault injection |
| Force table | Persistent output forcing | Hardware test without a live process |
| Online & Diagnostics | Diagnostic buffer, cycle time, memory | First stop for any SF / BF LED |
| Program status | Highlight active power flow and current value | Verifying a network behaves as designed |
| Trace | Time-stamped record of up to 8 tags | Motion control, PID tuning, fault replay |
The diagnostic buffer is the primary fault-triage surface. Each entry carries a timestamp (relative to the CPU's time-of-day clock), an event ID, and a description. Key events called out in the Easy Book include:
-
16#0301 (769):Diagnostics interrupt from an SM - read the channel-level diagnostic in the online view of the module. -
16#0131 (305):Programming error in the user program, with the OB and instruction address of the fault. -
16#0132 (306):I/O access error, typically a removed or unconfigured module. -
16#454B (17739):Time-of-day clock set successfully after STOP-to-RUN transition.
Forcing an output writes the value directly into the process image and bypasses the user program. The Easy Book warns that the FORCE LED is lit whenever any tag is forced, and that forcing a digital output on an SM that has been removed from the rack leaves the force table in an inconsistent state - clear all forces before a hot-swap of an SM.
PROFINET Communication
The CPU 1214C/1215C/1217C expose a two-port PROFINET switch on the bottom of the chassis (port 1 and port 2 in the device configuration). The Easy Book uses PROFINET for three classes of traffic: HMI, distributed I/O, and PUT/GET or S7 communication with another S7 controller.
Open user communication is configured with the TSEND_C and TRCV_C instruction pairs (since firmware V4.0). The Easy Book example for sending a 200-byte recipe to a partner PLC is:
"TSEND_C_DB" (TSEND_C)
REQ: Send_Trigger // Rising edge starts the send
CONT: TRUE // Keep the connection open
LEN: 200 // Fixed payload length
CONNECT: "Partner_Conn" // Connection description from device config
With a CP 1243-1, the Easy Book also documents the Webserver, FTP, and e-mail instructions. Security settings (user management, certificate handling) on the CP 1243-1 are independent of the CPU and are configured under Device configuration > Security.
Connection error 33:0x0130 at runtime and is the dominant cause of inter-PLC link failures on commissioning day.Point-to-Point and USS Drive Communication
For serial links the Easy Book covers the CM 1241 modules (RS232, RS422, RS485) and the SB 1231 (RS485). The CM 1241 is configured under Device configuration > RS232/RS422/RS485 interface with the protocol set to ASCII, Modbus RTU, or USS.
The USS protocol wraps a 14-byte telegram around a parameter / read-write word. The Easy Book example for starting a SINAMICS G110 and reading the actual speed uses USS_PORT, USS_DRIVE, and the standard telegram word mapping (control word 1, status word 1, main setpoint, main actual value).
// USS_DRIVE instance configuration
DRIVE: 1 // Drive address set on the G110 / MM440
LEN: 4 // 4 words of process data
PZD_LEN: 2 // PZD portion of the telegram
// Drive control
USS_DRIVE_1(REQ := Start_Req,
SPEED := Speed_SP, // Real, normalized to 1.0 = 50/60 Hz
ENABLE := TRUE,
FAULT => "Drive1_Fault",
RUNNING => "Drive1_Running",
ACT_SPEED => "Drive1_Actual");
The Easy Book explicitly maps the USS control word bits: bit 0 = ON/OFF1, bit 1 = OFF2 (coast stop), bit 2 = OFF3 (quick stop), bit 3 = enable/inhibit pulse, bit 4 = ramp enable, bit 5 = ramp enable freeze, bit 6 = setpoint enable, bit 10 = control from PLC. Status word mirroring lives in the same PZD. Forcing bits the user did not configure is the dominant cause of a drive starting in OFF2 state.
HMI Basic Panels and WinCC flexible Integration
KTP400 Basic, KTP700 Basic, KTP900 Basic, and KTP1200 Basic panels are configured inside the same TIA Portal project. The Easy Book shows the integration steps:
- Add the panel from the catalog: Add new device > SIMATIC HMI > Basic Panel.
- Drag tags from the PLC tag table to the HMI tag table. Connection "HMI_Connection_1" is created automatically.
- Place an I/O field on a screen, link it to a PLC tag, set the Display format and Limits.
- Configure the panel IP and the connection properties (HMI is the PROFINET IO Device, the PLC is the IO Controller).
- Compile and download the HMI runtime; the Easy Book recommends downloading HMI first, PLC second, to avoid temporary "variable not connected" alarms on the panel.
For projects built with WinCC flexible 2008 (the predecessor of WinCC Basic), the Easy Book documents a migration path: export the WinCC flexible project to a TIA Portal-compatible panel using the Migrate project tool. Pre-V11 WinCC flexible projects compile inside TIA Portal V11+ only after a one-way conversion; once migrated, they no longer open in WinCC flexible.
LabVIEW and Third-Party Integration
The Easy Book covers two paths for connecting an S7-1200 to a LabVIEW front end: OPC and TCP using the open S7 communication protocol. The OPC path uses the SIEMENS PC station with a Softnet S7 Lean / Professional license, and the LabVIEW DSC module acts as the OPC client. The TCP path uses a custom LabVIEW block set that talks to the open S7 protocol on TCP port 102 - the Easy Book shows the four byte TPKT/COTP headers and the S7 job/ack frame layout required to read a DB word.
Commissioning Checklist and Verification
The Easy Book closes with a commissioning sequence that an experienced automation engineer can use as a punch list. Run the steps in order, do not skip the Go-Online checksum comparison before powering the load.
- Verify the device configuration MLFBs and firmware versions match the physical hardware 1:1.
- Open Online & Diagnostics > Diagnostic buffer and confirm no entries since last STOP-RUN transition.
- Check the cycle time of OB1 under Online & Diagnostics > Cycle time. A healthy S7-1200 with a typical Easy Book program runs in 2-10 ms; over 50 ms indicates an unintended scan-time eater such as a blocking USS_PORT on a slow baud rate.
- Open each watch table for the section under test, click Monitor all, and verify the expected bits toggle with the field wiring.
- Force each output briefly to confirm end-to-end wiring and actuator response, then clear all forces.
- On PROFINET: confirm the IO Devices have OK status in Online & Diagnostics > PROFINET and that no Maintenance alarm is latched.
- On drives: read the drive's r0002 parameter (control word) and r0021 (actual speed) over the USS PZD, and confirm they track the PLC's setpoint.
- Save the final project to the SIMATIC Memory Card and label the card with the project name and the date.
Troubleshooting Matrix
| LED / symptom | Likely cause | First diagnostic step | Resolution |
|---|---|---|---|
| SF (red) solid, BF off | Programming or runtime error in OB1 | Open diagnostic buffer, look for 16#0131 / 16#0132 | Fix the faulted network, recompile, download |
| BF (red) flashing | PROFINET cable fault or wrong device name | Check the PROFINET port LED, online view of IO Devices | Re-assign the PROFINET device name with the wizard |
| MAINT (yellow) solid | PROFINET maintenance demanded | Open Online & Diagnostics > Maintenance | Acknowledge the alarm after correcting the field issue |
| RUN off, STOP solid | CPU entered STOP because of an OB | Read the last diagnostic buffer entry | Reset the CPU from Online & Diagnostics > Reset only after the cause is fixed |
| USS drive does not start | Control word bit 0 not latched or OFF2 active | Watch the drive's r0002 and r0052 status bits | Set all four ramp/enable bits in the USS control word per the PZD map |
| HMI shows Variable not connected | Tag renamed in PLC but not updated on HMI side | Right-click the HMI tag, choose Update connection | Re-link the I/O field to the new tag name and download both PLC and HMI |
| Watch table forces do not take effect | Force table not activated | Check for the FORCE LED on the CPU | Click Force all (effective immediately) in the Force table |
| Download rejected with error 33:0x0119 | Inconsistent system data between online and offline | Compile the project before downloading | Right-click the CPU, Compile > Hardware (rebuild all) |
Where can I download the official SIMATIC S7-1200 Easy Book?
From the Siemens Industry Online Support portal at support.industry.siemens.com entry 39710145. Use the entry's "Download" tab to obtain the latest PDF; the "Online version" link opens the same content as an HTML help page. Edition date is on the title page - check that the firmware V4.x features you need are documented in the edition you download.
Which TIA Portal version does the S7-1200 Easy Book target?
The Easy Book editions through 04/2012 target TIA Portal V11/V12. From firmware V4.0 of the S7-1200 CPU, you must use TIA Portal V13 SP1 or later. For OPC UA server configuration, use TIA Portal V14 or later. Always confirm compatibility under Help > Supported modules in the TIA Portal installation.
Can I use STEP 7 V5.5 to program the S7-1200?
No. The S7-1200 is supported only by STEP 7 Basic (TIA Portal) and by STEP 7 in TIA Portal. STEP 7 V5.5 cannot load S7-1200 stations, and the older S7-200 MicroWIN software targets a different CPU family. If you migrate an S7-200 project, do it through the S7-200 to S7-1200 conversion wizard inside TIA Portal.
How do I connect a SINAMICS G110 or MICROMASTER 4 drive to the S7-1200 over USS?
Install a CM 1241 RS485 module on the left of the CPU, set its protocol to USS in the device configuration, declare a USS_DRIVE instance for each drive address, and call USS_PORT in OB1 to drive the telegram traffic. The control word follows the PROFIdrive profile (bit 0 = ON/OFF1, bit 1 = OFF2, bit 2 = OFF3, bit 3 = enable pulse). Always set the four enable bits in the correct order before applying the speed setpoint.
Why does my HMI show "Variable not connected" after a PLC tag rename?
The HMI tag table holds an explicit reference to the old PLC tag name. Renaming the PLC tag breaks the link. Right-click the HMI tag, select Update connection, and confirm the new name. Recompile the HMI and download the runtime - the panel and the PLC must be re-downloaded in that order to clear the alarm.
What is the maximum amount of retain data on a CPU 1214C or 1215C?
Up to 14 KB of retain-tag memory, configurable per FB instance and per data block. The CPU 1211C/1212C is limited to 10 KB. Exceeding the limit triggers a download warning and silently disables retain behavior at runtime. Use the Memory view under Online & Diagnostics to see the actual retain consumption.
How do I migrate a WinCC flexible 2008 project to TIA Portal?
Open the WinCC flexible project, choose Project > Migrate to TIA Portal, and follow the wizard. TIA Portal V11 or later is required. The migration is one-way: the converted panel project can no longer be opened in WinCC flexible. The Easy Book notes that screen re-layout is sometimes necessary on the 4" KTP400 Basic because of its smaller display area.