Configuring SINAMICS G120 with S7-1500 over PROFINET

David Krause15 min read
SiemensTIA PortalTutorial / 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

Configuring SINAMICS G120 with S7-1500 over PROFINET

This technical reference walks through the complete PROFINET integration of a SINAMICS G120 (PM-240 power module, CU240E-2PN control unit) controlled by a SIMATIC S7-1500 PLC inside TIA Portal. The workflow is built around Standard Telegram 1, the TO_AxisSpeed technology object, and the PLCopen-style motion control function blocks MC_Power and MC_MoveVelocity. The procedure also covers how to expose actual values (voltage, current, power, torque, speed) for an HMI/SCADA panel and how to extend the configuration with SINAMICS Starter or Scout when free PZD words are needed.

1. System Overview and Architecture

The SINAMICS G120 modular drive family consists of two main components: the Control Unit (CU) and the Power Module (PM). In the configuration described here, the Power Module is the PM-240 (blocksize, 0.37 kW to 250 kW), and the Control Unit is the CU240E-2PN, which provides a PROFINET IO interface with two RJ45 ports supporting line, ring, and star topologies.

From the PLC's point of view, every G120 is a PROFINET IO Device with an IP address, a device name, and one or more slots that map to drive objects (DO). The slots expose telegrams (process data) and parameters (record data). For cyclic speed control the minimum useful configuration is:

  • One PROFINET controller: SIMATIC S7-1500 (CPU 1511-1 PN, CPU 1513-1 PN, CPU 1515-2 PN, or higher).
  • One or more SINAMICS G120 drives: PM-240 + CU240E-2PN (Firmware V4.7 SP10 or higher recommended for TIA Portal V17/V18 compatibility; G120 with CU240E-2 PN-F supports Safety Integrated PROFIsafe).
  • Standard Telegram 1: 2/2 word cyclic payload (control word + speed setpoint in / status word + actual speed out).
  • Technology object: TO_AxisSpeed (speed-controlled axis with optional encoder).
  • PLCopen FBs: MC_Power, MC_MoveVelocity, MC_Halt, MC_Reset.
Topology note: The CU240E-2PN has an integrated 2-port switch. You can daisy-chain drives or use a managed switch. For deterministic motion, place the drives on the same PROFINET subnet as the CPU and avoid routing through Layer-3 gateways.

2. Hardware Prerequisites and Wiring

Item Specification Notes
S7-1500 CPU 1511-1 PN, 1513-1 PN, 1515-2 PN, 1516-3 PN/DP, 1517-3 PN/DP, 1518-4 PN/DP Firmware V2.5 or higher for full motion control
SINAMICS G120 PM-240 Blocksize, 1AC 230 V or 3AC 400 V Matched to motor rating
Control Unit CU240E-2 PN (6SL3244-0BB12-1BA1 or 1FA1) or CU240E-2 PN-F Firmware V4.7 SP10+ for TIA V17, V5.2 for TIA V18
PROFINET cable Cat 5e or higher, shielded, IE FC TP Standard Cable Max 100 m segment
GSD file GSDML-V2.x-Siemens-SINAMICS_G120_CU240E2-…xml Auto-installed from HSP in TIA V17/V18
STARTER V5.4 SP1 or Scout 5.4 SP1 Free download for advanced parameterization

2.1 Power and Motor Wiring

Wire the PM-240 according to the installation manual. Connect the motor to U2/V2/W2 of the PM-240, the line supply to U1/V1/W1 (3AC 400 V) or L1/N (1AC 230 V), and the protective earth to the marked PE terminal. The CU240E-2PN clips on top of the PM-240. Do not connect PROFINET until commissioning; the default IP of the CU is 0.0.0.0 and the device name is empty.

2.2 Encoder and STO Wiring (optional)

If the application requires closed-loop speed control (recommended for pump regulation under varying load), wire an HTL or TTL encoder to terminal X9 of the CU240E-2PN. For Safety Integrated STO, use terminals 16/17/18/19 on the CU or PROFIsafe over PROFINET when using the PN-F variant.

3. TIA Portal Project Setup and Device Configuration

  1. Create a new TIA Portal project and add the S7-1500 CPU. Specify the PROFINET interface X1 and assign an IP address, for example 192.168.0.1, subnet mask 255.255.255.0.
  2. Switch to the Network view.
  3. Open the Hardware catalog task card. Drill down to Other field devices > PROFINET IO > Drives > Siemens > SINAMICS.
  4. Select the G120 entry that matches the firmware version of your CU (TIA Portal filters compatible versions automatically when the HSP is installed).
  5. Drag the G120 into the network view. Connect its PROFINET port to the PLC's PROFINET port 1. TIA Portal automatically creates a PROFINET IO System.
  6. Assign each drive a unique IP address (e.g., 192.168.0.11, .12, .13) and a unique PROFINET device name (e.g., g120-pump1, g120-pump2, g120-pump3).

Refer to the official TIA Portal online help under Configuring SINAMICS G120 for the canonical procedure.

4. Telegram and Drive Object Configuration

PROFINET telegram selection is performed inside the device view of the G120. Each slot in the slot list corresponds to a drive object (DO). On a G120 with a CU240E-2PN, DO1 is the closed-loop speed control, and DO2 (if enabled) is the basic positioner or other function.

4.1 Standard Telegram 1

For basic ON/OFF and speed setpoint control, use Standard Telegram 1. The mapping is:

Direction Word Signal Source / Sink
PLC → Drive PZD1 (Word 0) Control word 1 (STW1), bits per PROFIdrive profile PLC
PLC → Drive PZD2 (Word 1) Speed setpoint (NSOLL) in 0x4000 = rated speed PLC
Drive → PLC PZD1 (Word 0) Status word 1 (ZSW1) HMI / logic
Drive → PLC PZD2 (Word 1) Actual speed (NIST) in 0x4000 = rated speed HMI / logic

To set the telegram in TIA Portal:

  1. Open the device view of the G120.
  2. In the device overview, locate DO1 — closed-loop speed control (or whichever DO you want to use).
  3. Click the appropriate slot, and in the inspector window, under PROFINET interface > Telegram configuration, select Standard telegram 1 from the drop-down list.
  4. Compile the project (Project > Compile > Hardware and software).

4.2 PROFIdrive Control Word (STW1) Bit Mapping

Bit Name Function
0 ON/OFF1 0 = coast to stop, 1 = enable ramp
1 OFF2 0 = voltage removed (coast), 1 = enable
2 OFF3 0 = quick stop, 1 = enable
3 Enable Pulse 0 = pulses suppressed, 1 = pulses enabled
4 Enable RFG 0 = ramp-function generator frozen, 1 = ramp enabled
5 Enable RFG start 0 = ramp setpoint held, 1 = ramp active
6 Enable Setpoint 0 = setpoint disabled, 1 = setpoint accepted
7 Fault Acknowledge 0→1 edge resets faults
10 Control by PLC 1 = PLC has control authority
14 Reserved
15 Reserved

The PLCopen MC_Power and MC_MoveVelocity blocks automatically drive these bits correctly when paired with the technology object, so the application engineer rarely sets STW1 manually.

5. Creating the Technology Object (TO_AxisSpeed)

The TO_AxisSpeed technology object encapsulates the telegram, the encoder, the mechanics, the limits, and the ramp parameters, and exposes a clean interface to the PLCopen function blocks.

5.1 Adding TO_AxisSpeed

  1. In the project tree, expand Technology objects > Add new object.
  2. Select TO_AxisSpeed.
  3. Assign a name such as Axis_Pump1 and accept the default DB number.
  4. Click Configure to open the axis wizard.

5.2 Axis Configuration Wizard Parameters

Tab Setting Typical Value
General Drive type PROFINET IO / SINAMICS drive
Drive Drive reference Pick the G120 from network view
Drive Telegram Standard telegram 1
Encoder Encoder type None (sensorless), HTL, or TTL depending on wiring
Mechanics Maximum speed 3000.0 rpm (or motor nameplate)
Mechanics Direction reversal Enable if bidirectional pump/motor
Position limits Software limit switches Disable for pure speed axis
Dynamic limits Max velocity User-defined (≤ 110 % of motor rated)
Dynamic limits Acceleration/deceleration 1.0 s ramp time (adjustable)
Emergency stop Deceleration 0.5 s for OFF3

The wizard writes p1070 (speed setpoint source), p2051, p2080, and related telegrams in the G120's parameter set automatically.

6. PLC Programming with PLCopen Motion Control FBs

The recommended control structure uses MC_Power to enable the drive, MC_MoveVelocity to issue a speed command, and MC_Halt for normal stops. MC_Reset acknowledges faults, and MC_ReadParam reads non-cyclic parameters.

6.1 Sample Program (LAD/FBD/Structured Text compatible)

The following Structured Text snippet shows the canonical structure for a single pump drive:

// Enable the drive
MC_Power(
    Axis        := Axis_Pump1,
    Enable      := bEnablePump1,
    StartMode   := FALSE,
    StopMode    := 1);   // 1 = ramp stop

// Run at speed setpoint (rpm)
MC_MoveVelocity(
    Axis        := Axis_Pump1,
    Execute     := bRunPump1,
    Velocity    := rSetpointRPM,
    Acceleration := 1000.0,
    Deceleration := 1000.0,
    Jerk        := 0.0,
    Direction   := 2);   // 2 = positive only

// Normal stop
MC_Halt(
    Axis        := Axis_Pump1,
    Execute     := bStopPump1,
    Deceleration := 800.0,
    Jerk        := 0.0);

// Acknowledge drive faults
MC_Reset(
    Axis        := Axis_Pump1,
    Execute     := bAckFaultPump1,
    Restart     := FALSE);

6.2 Reading Cyclic Process Data

The Axis_Pump1 DB exposes structure fields such as:

  • Axis_Pump1.StatusWord — ZSW1 bit-by-bit
  • Axis_Pump1.ActualVelocity — actual speed in engineering units (rpm)
  • Axis_Pump1.ActualPosition — only meaningful with encoder
  • Axis_Pump1.ErrorWord — axis-level fault code

For actual values not in Standard Telegram 1 (current, torque, power, voltage, DC bus voltage, temperature), use the acyclic MC_ReadParam or directly call RDREC on the drive's parameter channel. The slot index is the DO number; the index is the parameter number. Example for reading smoothed current r0027:

// Use RDREC/SFB52 with INDEX := W#16#0B (DO1)
// RECORD := DB_RECORD (length 16 bytes: PNU + subindex + value)
// The PNU for r0027 is 27 (0x001B)

Alternatively, in TIA Portal V18 and later, the MC_ReadFloatParameter and MC_ReadDriveParameter FBs simplify this and return REAL values directly.

7. Displaying Voltage, Current, Power, and Torque on HMI/SCADA

Standard Telegram 1 only carries control word and speed. The simplest ways to expose electrical actual values are:

  1. Free PZD mapping with Standard Telegram 3, 4, 5, or 20: Telegram 3 adds a second setpoint word; Telegram 20 mirrors multiple drive parameters bi-directionally (PZD mapping must be edited in Starter/Scout).
  2. Acyclic parameter reads via MC_ReadParam: no extra telegram needed, slower (typical 30–50 ms per parameter).
  3. WinCC Comfort/Advanced tags over the technology DB: bind HMI tags to the technology object's structured fields, but those fields still need a parameter read to populate.

7.1 Recommended Approach for Pump Monitoring

For a pump SCADA displaying motor current, power, DC bus voltage, and torque, configure a user-defined telegram in TIA Portal:

  1. Device view of the G120 → DO1 → Telegram configuration → switch to "user-defined telegram" (Viktor object or free mapping).
  2. Map the drive parameters you need via the inspector. Common selections:
Word Signal Parameter Direction
PZD3 Smoothed current (A) r0027 Drive → PLC
PZD4 DC link voltage (V) r0026 Drive → PLC
PZD5 Torque (Nm) r0031 Drive → PLC
PZD6 Power (kW) r0032 Drive → PLC
PZD7 Output voltage (V) r0025 Drive → PLC
PZD8 Motor temperature (°C) r0035 Drive → PLC

After compilation, the user-defined telegram replaces Standard Telegram 1 in the slot, and the technology object must be reconfigured to use the new telegram. If you only need speed control and don't want to break the technology object, leave the technology object's telegram as Standard 1 and add a separate slot with the user-defined read-only PZDs, then bind HMI tags directly to that slot's input words using GETIO/direct I/O access or the MC_ReadParam blocks.

7.2 HMI Tag Binding Example (WinCC Comfort)

// In WinCC tag list:
// MotorCurrent_A   := "Axis_Pump1".DriveInput.PZD3   // INT scaled from r0027
// MotorPower_kW    := "Axis_Pump1".DriveInput.PZD6   // INT scaled from r0032
// Use linear scaling on the HMI tag:
//   Process value: 0..16384  ↔  Scale value: 0..100 (% of rated current/power)

8. Parameterization in SINAMICS Starter / Scout

TIA Portal covers ~90 % of typical commissioning, but any deviation from default behavior (custom ramp rates, auto-restart after power loss, brake control, V/f curve, motor identification) requires either a parameter assignment in the device view's Drive parameters or full parameterization in SINAMICS Starter (free, available at the SiePortal) or SCOUT (licensed, geared toward SIMOTION and complex multi-axis systems).

To open the project in Starter:

  1. From TIA Portal, export the project to a PC station or use Go online > Accessible nodes to discover the CU240E-2PN by its IP.
  2. Launch Starter, create a new project, and insert the SINAMICS G120 (PM-240 + CU240E-2PN).
  3. Click Connect to target system, then Load to PG to read the parameter set.
  4. Edit parameters such as p1120 (ramp-up), p1121 (ramp-down), p1300 (open-loop/closed-loop mode), p2000 (reference speed), and p2002 (reference current).
  5. Click Load to target to write back.

8.1 Important Parameters

Parameter Meaning Typical Setting
p2051[0..15] PZD mapping source/sink Set per user-defined telegram
p2080[0..15] Status word bit source Default OK for STW1/ZSW1
p1070 Speed setpoint source 2050[1] (PROFINET PZD2) when TO used
p1120 / p1121 Ramp up / down time (s) Application-specific (e.g., 10 s for pumps)
p1300 Open-loop/closed-loop control mode 0 = V/f linear, 1 = V/f FCC, 20 = encoderless vector (SLVC)
p2000 / p2002 Reference speed (rpm) / current (A) Motor nameplate values
p1080 Minimum speed (rpm) e.g., 100 rpm for pump anti-cavitation
p1082 Maximum speed (rpm) ≤ motor nameplate rpm

9. Commissioning and Verification Procedure

Commissioning follows the Siemens "Five Steps" recommended for any PROFINET drive:

  1. Verify topology: in TIA Portal's online view, confirm every G120 shows a green check mark and no "device not accessible" entries.
  2. Assign the PROFINET device name: select the G120 in Accessible nodes, right-click → Assign PROFINET device name. Use the IP set in step 3 of Section 3.
  3. Load the PLC project: full compile and download. Watch the CPU diagnostics buffer for PROFINET errors (SF/BSF on the CPU).
  4. Run the motor identification: in Starter or via the drive's BOP-2 keypad, execute p1910=1 then p1900=1 or run the auto-tuning routine. This is essential for vector (SLVC) closed-loop torque accuracy.
  5. Run the technology object in TIA Portal: open Commissioning > Axis control panel. Jog at 10 % of rated speed for one direction, then reverse. Confirm direction matches the expected rotation. Disable the axis.
  6. Test MC_Power + MC_MoveVelocity from the program: trigger the FBs and verify the speed follows the setpoint within the configured ramp time.

9.1 Verification Checklist

Check Expected Result Tool
PROFINET connection Green link, 100 Mbit/s, full duplex TIA Portal online diagnostics
Device name & IP Matches configuration Web server on CU, or BOP-2 menu
STW1 bit 10 (control by PLC) = 1 when axis enabled Online monitor on TO DB
ZSW1 bit 10 (control requested) = 1 — drive accepts commands Online monitor
Actual speed matches setpoint Within ±2 % after ramp HMI or online monitor
Direction of rotation Per motor wiring (swap two phases if reverse) Visual / tachometer
Fault acknowledgement MC_Reset clears drive faults Trigger E-stop, then reset
HMI values Current, voltage, power, torque update WinCC trend view

10. Fault Diagnostics and Troubleshooting Matrix

Symptom Likely Cause Action
PROFINET SF light on CPU Wrong device name, IP mismatch, missing GSD, duplicate IP Use Accessible nodes, re-assign name; check IP; verify GSD/HSP version; ping drive
Drive F07800 alarm (no PROFINET) Cable, connector, or device name Replace cable; verify device name assigned
Axis won't enable; MC_Power status 16#8001 (Error) PROFINET watchdog tripped; follow-up fault pending Check drive faults in Online > Diagnostics buffer; resolve; run MC_Reset
Motor runs but not at requested speed p1070 wrong source, p2000 wrong, ramp time too long Confirm p1070 = 2050[1]; confirm p2000 = motor rated; reduce ramp time for test
Status word bit 10 = 0 PLC did not assert control bit Confirm MC_Power.Enable is TRUE and the TO was assigned to the correct drive
Current/power read 0 on HMI Telegram mismatch or wrong slot mapping Verify user-defined telegram has the expected PZD; recompile; reload PLC
Encoder-related fault F07927 Encoder wiring, parameter p4001 wrong Check wiring; verify encoder type; run p1990 = 1 (encoder identification)
E-Stop not acknowledged STW1 bits 0/1/2 not driven MC_Power plus PLCopen logic; do not bypass the FB
PROFINET timing: Send clock typically 1.0 ms, refresh factor 2 for Standard Telegram 1. The drive will trip with F08501 if no PROFINET frame arrives within three update cycles. Confirm the PROFINET send clock in Properties > PROFINET interface > Real-time settings.

11. Performance, Limits, and Safety Considerations

  • Cycle time: S7-1500 motion control supports 1 ms PROFINET send clock for the G120 with Standard Telegram 1. For tighter loops, switch to IRT (Isochronous Real-Time) with TopSync plus the G120's PN-IRT-capable firmware (CU240E-2 PN V4.7+).
  • Number of axes: S7-1500 motion control supports up to 32 axes per CPU (depending on CPU variant). Watch the CPU's load — each axis typically consumes ~2 % of CPU load at 1 ms send clock.
  • Safety: For SIL 2 / PL d, use a CU240E-2 PN-F (or higher) and route PROFIsafe over PROFINET. Add a TO_SafetyAxis and use the standard PROFIsafe telegram 30. Refer to the SINAMICS G speed control with S7-1200 via PROFINET with Safety Integrated entry for a reference example that adapts cleanly to S7-1500.
  • EMC: Use shielded PROFINET cable (Siemens IE FC TP Standard Cable GP 6XV1840-2AH10) and bond the shield at both ends at the drive and the switch.

12. Frequently Asked Questions

What is the minimum Telegram I should use for ON/OFF and speed control of a G120 on PROFINET?

Standard Telegram 1 (2 words in, 2 words out) is the minimum and is sufficient for pure speed control with TO_AxisSpeed. Telegram 2 adds the encoder actual value; Telegram 3 adds a second setpoint. Use Telegram 1 unless you need extra setpoints or extended status.

Do I need a GSD file, or is the G120 in the TIA Portal hardware catalog?

With a current Hardware Support Package (HSP) installed, the G120 CU240E-2PN appears automatically in Other field devices > PROFINET IO > Drives > Siemens > SINAMICS. For older TIA versions or new CU firmware, install the matching HSP from the SiePortal or import the GSDML file via Options > Manage GSD files.

Can I read motor current, power, and torque without adding a new telegram?

Yes. Use the acyclic parameter channel with MC_ReadParam or direct RDREC calls to parameters r0025 (output voltage), r0026 (DC bus voltage), r0027 (current), r0031 (torque), and r0032 (power). Each read typically takes 30–50 ms, which is acceptable for HMI refresh.

Why does my drive not start even though MC_Power shows enabled?

Verify PROFIdrive status word bit 10 (control requested) is set. If not, the drive has not accepted PLC control. Check p0850 and p0854 in the drive, ensure the PLC has write access to the setpoint source p1070, and confirm the axis was assigned to the correct drive in the TO configuration.

Which tool should I use for non-standard commissioning — TIA Portal, Starter, or Scout?

TIA Portal covers device configuration, telegram mapping, and motion control FBs. Use SINAMICS Starter (free) for advanced parameter editing, motor identification, and firmware updates. SCOUT is licensed and is required only when the drive is part of a SIMOTION or complex coordinated multi-axis application. For a typical pump control application with three G120s and one S7-1500, TIA Portal plus Starter is sufficient.

Back to blog