S7-1200 to SINAMICS G120 PROFINET Communication Setup Guide

David Krause15 min read
S7-1200SiemensTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

1. Overview

This guide describes how to establish PROFINET communication between a SIMATIC S7-1200 controller and a SINAMICS G120 frequency inverter (Control Unit CU240E-2 PN) inside TIA Portal V13 SP1. The configuration uses the PROFINET standard with PROFIdrive application telegrams, a Startdrive-integrated device proxy, and a SIMATIC S7-1200 Motion Control technology object (TO) that maps directly to the drive.

PROFINET is the open Industrial Ethernet standard from PROFIBUS Nutzerorganisation (PNO), and PROFIdrive is the drive profile on top of PROFINET defined in IEC 61800-7. Together they replace the old point-to-point wiring of control words, status words, and setpoint words with cyclic, real-time I/O data exchanged through configurable standard telegrams.

Reference material:

2. Prerequisites

Item Detail
Engineering TIA Portal V13 SP1 Professional, Update 9 or later recommended
Drive integration Startdrive V13 SP1 (installed on top of TIA Portal)
Hardware support HSP for SINAMICS G120 firmware V4.7 (for G120 with FW 4.7) or matching HSP for the actual CU240E-2 PN firmware level
PLC CPU SIMATIC S7-1200, any CPU with PROFINET interface (CPU 1211C, 1212C, 1214C, 1215C, 1217C). The S7-1200 DC/DC/DC variant was specified in the original requirement.
Drive SINAMICS G120 with Control Unit CU240E-2 PN (or CU240E-2 PN-F for fail-safe). The bare CU240E-2 has PROFIBUS only - confirm PN suffix on the label before commissioning.
Power Module PM240-2 (or PM240 / PM250 / PM260 with the corresponding CU)
Firmware CU240E-2 PN V4.7 (latest supported by HSP V13 SP1 is typically V4.7 SP10)
Network PROFINET switch (managed or unmanaged) with at least two copper ports free; CAT5e or higher cabling
Hardware check: Open the G120 control unit door. The label lists the exact article number (e.g. 6SL3244-0BB13-1FA0 = CU240E-2 PN, 6SL3244-0BB13-1PA0 = CU240E-2 PN-F). PROFIBUS variants end in -1BA0 and have no PROFINET ports. Do not proceed with PN configuration on a PROFIBUS-only CU.

3. Architecture and Communication Model

The S7-1200 acts as the PROFINET IO Controller, the G120 as the PROFINET IO Device. Cyclic data is exchanged through PROFIdrive standard telegrams - predefined slot assignments that the controller writes (setpoints) and reads (actual values) every PROFINET cycle. Non-cyclic acyclic communication is used for parameter read/write through the PROFINET record-data channel (used by STARTER/SINAMICS Startdrive commissioning tools).

For G120 with firmware V4.7 the available PROFIdrive telegrams are:

Telegram Direction Word layout (PZD) Typical use
1 PLC -> Drive / Drive -> PLC STW1 / NSOLL_A / ZSW1 / NIST_A Speed control with one setpoint and one actual
2 PLC -> Drive / Drive -> PLC STW1 / NSOLL_A / ZSW1 Speed control, no actual value returned
3 PLC -> Drive / Drive -> PLC STW1 / ZSW1 / NIST_A Diagnostics, no setpoint from PLC
4 PLC -> Drive / Drive -> PLC STW1 / NSOLL_A / ZSW1 / NIST_A Two setpoint words (reserved in V4.7)
20 PLC -> Drive / Drive -> PLC STW1 / NSOLL_A / ZSW1 / NIST_A / KPC / r61 Siemens standard, recommended for most S7-1200 speed-axis applications
350/352 Bidirectional Vendor-specific Reserved for safety / free blocks

STW1 = Control Word 1 (bit-coded drive commands: OFF1, OFF2, OFF3, Enable, Enable Ramp Generator, Enable Setpoint, Fault Acknowledge, Jog 1/2, etc.). ZSW1 = Status Word 1. NSOLL_A = Speed setpoint (16-bit, signed, normalized to 4000 hex = 100% of p2000). NIST_A = Speed actual (16-bit, normalized the same way). KPC and r61 are optional position-related values for later expansions.

The data is exchanged cyclically by the PROFINET IRT/RT controller; the S7-1200 Motion Control technology object abstracts the STW1/ZSW1 bit manipulations and exposes high-level commands (MC_Power, MC_MoveVelocity, MC_Stop, MC_Reset).

4. Installing Startdrive and the G120 HSP

  1. Run the TIA Portal V13 SP1 installer and ensure Step 7 Professional is selected.
  2. Install Startdrive V13 SP1 - this is a separate setup that adds the SINAMICS G110M/G120/G120C/G120D/G120P/G130/G150/S120 device families to the TIA hardware catalog.
  3. Download the matching Hardware Support Package (HSP) for the G120 firmware level you are using. For FW V4.7 the corresponding HSP is shipped with Startdrive V13 SP1 Update 9 or higher. The HSP adds the exact MLFB / firmware combination to the catalog.
  4. Open TIA Portal, choose Options > Support Packages and install the downloaded HSP. Restart TIA Portal.
  5. Verify in the hardware catalog under Drives & Starter Kits > SINAMICS Drives > SINAMICS G120 that your CU240E-2 PN variant appears.
FW mismatch: A G120 with FW 4.7.10 (or any newer FW) needs a TIA Portal version that includes Startdrive V13 SP1 Update 9 or higher; otherwise the device will appear in the catalog but download attempts will fail with error "Firmware version not supported". For TIA V13, the maximum G120 firmware directly supported is 4.7.x; if your CU has a newer FW, upgrade to TIA V14 SP1 / V15 / V16.

5. Hardware Configuration in TIA Portal V13 SP1

  1. Create a new project, then Add new device > SIMATIC S7-1200 > CPU 1214C DC/DC/DC (or the exact CPU ordered).
  2. Open Device view of the CPU. Under Properties > PROFINET interface, set the IP address (default 192.168.0.1), subnet mask (255.255.255.0), and the device name of the CPU ("plc1200").
  3. From the hardware catalog, navigate to Drives > SINAMICS G120 > Control Units > CU240E-2 PN and drag the CU into the Network view. TIA auto-creates a PROFINET IO system and links the CPU PROFINET port to the G120 port 1.
  4. Assign the G120 an IP address (e.g. 192.168.0.20) and PROFINET device name ("g120drive") in the device properties of the CU.
  5. For multi-port S7-1200 CPUs, the second PROFINET port can be used directly. For single-port CPUs, connect both the CPU and the drive to a PROFINET switch; do not daisy-chain a single-port CPU to the drive.
  6. Insert a Power Module (PM240-2) into the same device view. The Power Module is selected from the catalog slot list and determines the inverter current rating. The PM selection feeds the drive parameters p305, p0201, r0200 and the bico interconnects.
  7. Insert an optional Operator Panel (BOP-2 or IOP-2) and/or an I/O Extension Module (e.g. for safety or extended digital I/O) if hardware is present.

6. Telegram Configuration on the G120

  1. Select the G120 in the network or device view. Open Properties > PROFINET interface > Telegram configuration.
  2. From the dropdown, add the desired standard telegram. For speed-axis motion control, choose Telegram 1 or Telegram 20 (Telegram 20 is the Siemens default and matches what the S7-1200 TO expects).
  3. The slot assignment becomes:
Slot Direction Length Signal Drive parameter
0 / 1 PLC -> Drive 1 word Control Word 1 (STW1) r2090.0 = STW1[0], p0840[0] = bit 0 (ON/OFF1), etc.
2 PLC -> Drive 1 word Speed setpoint (NSOLL_A) p1155[0]
0 / 1 Drive -> PLC 1 word Status Word 1 (ZSW1) p2051[0] = r2089[0]
2 Drive -> PLC 1 word Speed actual (NIST_A) p2051[1] = r0063 (smoothed speed actual)
  1. Save and compile the project. The G120's telegram mapping is downloaded with the rest of the project on the next "Download to device" operation.
Normalization: The 16-bit setpoint/actual value is interpreted as a normalized 0x4000 = 100% reference, where 100% equals the value in drive parameter p2000 (Reference speed, default 1500 rpm). If you command 2000 rpm, write 0x4000 * (2000/1500) = 0x5555 to NSOLL_A. The Motion Control TO handles the normalization automatically when the reference speed is configured correctly.

7. S7-1200 Technology Object (TO) - Speed Axis

  1. In the project tree, expand the S7-1200 CPU node. Add new object > Motion Control > Technology object > TO_SpeedAxis.
  2. Assign the TO to the G120 PROFINET telegram by selecting "Drive connected via PROFINET". Pick the G120 device and the configured telegram.
  3. Configure the axis parameters:
TO parameter Recommended value Meaning
Reference speed p2000 (e.g. 1500 rpm) 100% speed setpoint; the axis internally normalizes setpoints to this base
Max speed Application limit (e.g. 3000 rpm) Software velocity limit; must not exceed drive p1082 (max motor speed)
Acceleration / Deceleration 0.5 - 5.0 s Ramp time for MC_MoveVelocity; the S7-1200 TO generates ramp values that the drive then executes on top of its own ramps (p1120 / p1121)
Jerk limit Optional, default = off S-curve smoothing; set true for low-mechanical-stress applications
Drive enable output Optional tag (e.g. %Q0.0) Digital output wired to drive terminal 5 (DI 0). Acts as a hardware enable parallel to the PROFINET STW1 bit 0
Drive ready input Optional tag (e.g. %I0.0) Digital input from drive relay 1; used as a fallback status
  1. Compile and download the hardware configuration. The TO configuration is downloaded together with the S7-1200 program.

8. Motion Control Programming (Ladder)

The S7-1200 Motion Control instruction library is part of the standard TIA Portal install. You do not need a separate library; the blocks live in the Instructions > Motion Control palette. The same blocks can be dropped in Ladder, FBD, or SCL; Ladder is the most common for commissioning.

8.1 Block summary

Block Function Typical input
MC_Power Switches the drive to "Operation enable"; sets/clears STW1 bit 0 (ON/OFF1) and bit 3 (Enable Operation) Axis, Enable, StartMode, StopMode
MC_Reset Acknowledges drive faults; sets STW1 bit 7 (Fault Acknowledge) for one PROFINET cycle Axis, Execute, Restart
MC_Halt Stops the axis with configured deceleration; sets STW1 bit 0 = 0 Axis, Execute, Deceleration, Jerk
MC_Stop Emergency stop with fastest ramp; sets STW1 bit 2 (OFF3) for fast stop and bit 1 (OFF2) if configured Axis, Execute, Deceleration, Jerk
MC_MoveVelocity Starts continuous motion at a configurable velocity; positive = forward, negative = reverse Axis, Execute, Velocity, Acceleration, Jerk, Direction
MC_MoveAbsolute Moves to an absolute position (requires encoder or virtual position) Axis, Execute, Position, Velocity, Direction
MC_MoveRelative Moves an incremental distance Axis, Execute, Distance, Velocity

8.2 Minimal Ladder example

// Network 1: Power the drive
CAL "MC_Power_DB"(
  Axis       := "TO_SpeedAxis_1",
  Enable     := "tagEnable",
  StartMode  := 1,                // 1 = absolute, axis starts at current speed
  StopMode   := 0                 // 0 = ramp stop
);

// Network 2: Reset faults
CAL "MC_Reset_DB"(
  Axis    := "TO_SpeedAxis_1",
  Execute := "tagReset",
  Restart := FALSE
);

// Network 3: Forward run (positive velocity)
CAL "MC_MoveVelocity_DB"(
  Axis        := "TO_SpeedAxis_1",
  Execute     := "tagFwd",
  Velocity    := 1500.0,          // rpm, within p2000 reference
  Acceleration:= 100.0,           // rpm/s
  Jerk        := 0.0,             // 0 = no jerk limit
  Direction   := 1                // 1 = positive, 2 = negative, 3 = current
);

// Network 4: Reverse run (negative velocity)
CAL "MC_MoveVelocity_DB"(
  Axis        := "TO_SpeedAxis_1",
  Execute     := "tagRev",
  Velocity    := 1500.0,
  Acceleration:= 100.0,
  Jerk        := 0.0,
  Direction   := 2
);

// Network 5: Stop
CAL "MC_Halt_DB"(
  Axis        := "TO_SpeedAxis_1",
  Execute     := "tagStop",
  Deceleration:= 100.0,
  Jerk        := 0.0
);

Each MC_*_DB instance DB is created when the block is dropped onto a network. The TO generates these names automatically. Avoid writing to the <TO>.ControlBits or the underlying STW1/NSOLL_A tags directly - the TO owns those bits and writes to its <TO>.StatusBits flags (PowerOn, Error, ErrorStop, AxisHomed, etc.).

9. Alternative: DriveLib Function Blocks

If you need direct access to STW1/ZSW1 or want to read/write drive parameters acyclically without going through a TO, Siemens provides DriveLib - a free block library that mirrors the SINAMICS parameter model. DriveLib is shipped as a TIA Portal library (.zal13 for V13) and contains blocks such as:

  • SINA_SPEED - simple open-loop speed control using telegram 1 (writes STW1/NSOLL_A, reads ZSW1/NIST_A).
  • SINA_POS - positioner using telegram 111.
  • RDREC / WRREC - generic acyclic record read/write (PROFINET record channel to read/write any drive parameter).

DriveLib is documented in detail in the Siemens KB article 109475044. A worked example that combines S7-1200 and G120 with full project download is available in application example 70155469.

Use DriveLib when you need to:

  • Access the drive without a technology object (e.g. legacy CPU without motion control, or a fast retrofit).
  • Read/write individual drive parameters (e.g. ramp time p1120) at runtime without a TO.
  • Implement position control with telegram 111 directly.

Use the Motion Control TO when you want S7-1200-managed motion (jerk limiting, homing, absolute position, multiple coordinated axes). The two approaches are not mutually exclusive but should not run in parallel on the same telegram - they will fight each other on STW1 bit 0.

10. Commissioning and Verification

  1. Open Online & Diagnostics on the S7-1200. Confirm the PROFINET device "g120drive" shows Run = green and No fault.
  2. Open the TIA Portal Commissioning panel for the G120 (Startdrive > Commissioning). Verify that p0010 = 0 (ready), no active faults in r0947, and r0021 (current speed) = 0.
  3. Set the TO online and force "tagEnable". Watch the TO status bits: PowerOn should go TRUE; Error stays FALSE.
  4. Force "tagFwd" and verify the drive spins up to 1500 rpm, then check r0021 ≈ 1500. The PROFINET trace tool (Startdrive > Trace) lets you capture STW1/ZSW1/NSOLL_A/NIST_A on a time axis to confirm telegram timing.
  5. Force "tagRev". Verify the drive spins in the opposite direction at -1500 rpm.
  6. Force "tagStop". Verify the drive decelerates on the configured ramp to 0 rpm.
  7. Force a drive fault (e.g. set a low current limit and overload) and confirm MC_Reset clears it after the next Execute edge.
Watchdog / IO failure: If PROFINET communication is interrupted (cable break, CPU in stop), the drive will respond with F08501 (PROFINET communication fault) after the configured monitoring time (default 100 ms in CU240E-2 PN FW 4.7). Configure p2040 for the monitoring time and p2041 for the response (default: OFF2). The TO will report Error = TRUE and ErrorStop = TRUE.

11. Troubleshooting Matrix

Symptom Probable cause Check / fix
Drive not visible in hardware catalog Startdrive / HSP not installed Install Startdrive V13 SP1, then HSP for G120 FW 4.7 via Options > Support Packages
PROFINET device name does not match Name in project differs from name assigned to drive (e.g. via BOP-2) Use Topology editor or assign PROFINET name from TIA (Online > Accessible devices > Assign PROFINET device name)
MC_Power returns Error immediately No PROFINET name assigned; telegram mismatch; missing drive enable on terminal 5 Reassign PROFINET name, verify slot mapping, check p0840 (ON/OFF1) source, verify DI 0 = high (or wire to enable output of TO)
Drive spins in opposite direction Direction bit in STW1, or motor phase sequence Swap two motor phases OR change p1820 (direction of rotation) - do not swap at the controller level when a TO is in use
F08501 PROFINET communication fault Cable break, CPU in stop, PROFINET watchdog timeout Check p2040 (watchdog time), p884 (controller's slot assignment), cable integrity
F07802 feedforward / encoder missing Sensorless vector control configured but speed actual returns 0 Verify p1300 (open-loop / closed-loop); if sensorless, set p1300 = 20 (sensorless vector)
Axis jogs but does not reach setpoint p2000 mismatch with TO Reference speed Match TO Reference speed = p2000 (default 1500 rpm)
MC_Reset does not clear fault Fault is latched and requires power-cycle Check r0947 for fault code; some faults need p0971 = 1 (factory reset) or hardware power cycle
TIA Portal compile error: "Firmware of plugged device is older" CU has FW newer than TIA V13 SP1 supports Upgrade to TIA V14 SP1 or higher, or downgrade CU FW to V4.7.x with HSP for V13

12. Field-Proven Notes

  • Always wire a hardware enable (terminal 5 on CU240E-2) in addition to the PROFINET STW1 enable. Many safety circuits require a fallback hardwired enable that is independent of the bus.
  • Set p864 = 0 if you do not want the drive to start automatically on power-up. Default behavior depends on parameter set.
  • For multi-axis machines, give each drive a unique PROFINET name and a unique IP in the same subnet. The device name is required for PROFINET to resolve the device (LLDP), the IP is for TCP services like web server or PROFINET DCP.
  • The S7-1200 Motion Control library in TIA V13 supports up to 4 TOs per CPU (F-CPU variants up to 4 motion TOs; non-safety CPUs also limited). For more axes, move to S7-1500.
  • If you migrate from PROFIBUS (CU240E-2 non-PN) to PROFINET, the existing PROFIdrive telegram structure and most parameters (p0840, p1155, p2051) carry over - the difference is the physical medium and the device name/IP, not the drive logic.
  • Use BOP-2 menu item "Setup -> Commissioning -> Factory reset" only when an upload from a corrupted TIA project is no longer possible; it will erase all drive parameters including motor data.

What is the difference between CU240E-2 and CU240E-2 PN?

The CU240E-2 is the PROFIBUS-only Control Unit (article number ending in -1BA0). The CU240E-2 PN (-1FA0) adds a PROFINET interface. PROFINET configuration is only possible on the PN variant. Always verify the article number on the nameplate before starting the TIA configuration.

Which PROFIdrive telegram should I select for a simple S7-1200 speed axis?

For an S7-1200 Motion Control speed-axis technology object, use Telegram 1 or Telegram 20. Telegram 1 carries Control Word 1, Status Word 1, NSOLL_A and NIST_A (4 words, 8 bytes). Telegram 20 is the Siemens default with an additional word (KPC, ramp position) used by the TO. Either works; the S7-1200 TO detects the telegram automatically at startup.

Do I need Startdrive in addition to TIA Portal V13 SP1?

Yes. The SINAMICS G120 family is not in the stock TIA Portal V13 SP1 hardware catalog. Startdrive V13 SP1 is a separate install that adds the G110M/G120/G120C/G120D/G120P/G130/G150 device families and integrates the Startdrive commissioning tool. Without Startdrive, the G120 will not appear in the catalog and the project will not compile.

Why does MC_Power report Error even though the drive shows RUN on the BOP-2?

The TO is checking both the PROFINET health and the drive's own status bits. The most common causes are: (1) the PROFINET device name has not been assigned, (2) the configured telegram does not match what is loaded in the drive, (3) STW1 bit 0 (ON/OFF1) is held low by a hardwired enable that is missing, or (4) the drive is in a non-PROFIdrive state (e.g. p0010 <> 0 commissioning mode). Reassign the device name, recompile, and clear p0010.

How do I upgrade the G120 CU240E-2 PN firmware using TIA Portal V13 SP1?

Right-click the G120 in the project tree, choose "Online & Diagnostics" -> "Firmware update". Select the firmware file matching the HSP you installed. TIA Portal will reset the drive and upload the new firmware. After the upgrade, the drive power must be cycled, and the project reloaded to ensure telegram and parameter sets match the new firmware level.

Back to blog