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.
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
- 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 mask255.255.255.0. - Switch to the Network view.
- Open the Hardware catalog task card. Drill down to Other field devices > PROFINET IO > Drives > Siemens > SINAMICS.
- Select the G120 entry that matches the firmware version of your CU (TIA Portal filters compatible versions automatically when the HSP is installed).
- 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.
- 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:
- Open the device view of the G120.
- In the device overview, locate DO1 — closed-loop speed control (or whichever DO you want to use).
- Click the appropriate slot, and in the inspector window, under PROFINET interface > Telegram configuration, select
Standard telegram 1from the drop-down list. - 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
- In the project tree, expand Technology objects > Add new object.
- Select
TO_AxisSpeed. - Assign a name such as
Axis_Pump1and accept the default DB number. - 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:
- 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).
-
Acyclic parameter reads via
MC_ReadParam: no extra telegram needed, slower (typical 30–50 ms per parameter). - 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:
- Device view of the G120 → DO1 → Telegram configuration → switch to "user-defined telegram" (Viktor object or free mapping).
- 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:
- From TIA Portal, export the project to a PC station or use Go online > Accessible nodes to discover the CU240E-2PN by its IP.
- Launch Starter, create a new project, and insert the SINAMICS G120 (PM-240 + CU240E-2PN).
- Click Connect to target system, then Load to PG to read the parameter set.
- Edit parameters such as
p1120(ramp-up),p1121(ramp-down),p1300(open-loop/closed-loop mode),p2000(reference speed), andp2002(reference current). - 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:
- Verify topology: in TIA Portal's online view, confirm every G120 shows a green check mark and no "device not accessible" entries.
- 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.
- Load the PLC project: full compile and download. Watch the CPU diagnostics buffer for PROFINET errors (SF/BSF on the CPU).
-
Run the motor identification: in Starter or via the drive's BOP-2 keypad, execute
p1910=1thenp1900=1or run the auto-tuning routine. This is essential for vector (SLVC) closed-loop torque accuracy. - 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.
-
Test
MC_Power+MC_MoveVelocityfrom 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 |
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_SafetyAxisand 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.