1. Problem Statement: Multiple SINAMICS G120 Drives Failing on S7-1200 PROFINET
An S7-1200 CPU 1214C fails to establish cyclic PROFINET communication with multiple SINAMICS G120 drives equipped with CU230P-2 PN Control Units. The first drive accepts parameter assignment from TIA Portal/Startdrive but the PLC program cannot write a control word. A second drive reports a PROFINET IO communication error identified in the field as 80A1, and the Bus Fault (BF) LED on the Control Unit flashes at 0.5 Hz. The third drive is typically undetected or repeats the same fault pattern.
The root cause is rarely the PLC hardware or cabling. In most field cases, the issue traces to one of the following: a misaligned PROFIdrive telegram between the PLC slot and the drive parameter p922, a missing or duplicate PROFINET device name, an IP address conflict on the S7-1200 subnet, or a control word that does not have the "Control by PLC" bit (bit 10) set. The TIA Portal project must mirror exactly what the drive expects, and both ends of the PROFINET cable must agree on the slot and submodule identity.
2. Required Hardware and Topology
The minimum configuration for a three-drive PROFINET line-up consists of:
- 1 × SIMATIC S7-1200 CPU 1214C with PROFINET interface (e.g., 6ES7214-1AG40-0XB0, firmware V4.4 or later recommended)
- 3 × SINAMICS G120 with CU230P-2 PN Control Unit (e.g., 6SL3243-0BB30-1FA0 for the standard variant, or 6SL3243-0BB30-2FA0 for the coated variant)
- 1 × Managed or unmanaged Ethernet switch (recommended), or PROFINET cable daisy-chained between the drives (port 1 of the PLC to port 1 of drive 1, port 2 of drive 1 to port 1 of drive 2, port 2 of drive 2 to port 1 of drive 3, port 2 of drive 3 unused)
- PROFINET patch cables (CAT 5e or higher, maximum 100 m per segment)
There are two valid topologies: line topology using the integrated 2-port switch on each CU230P-2 PN, or star topology through an external switch. The line topology saves cabling cost and switch hardware but introduces a single point of failure (one failed drive breaks downstream drives). The star topology is recommended for serviceability.
When using the integrated 2-port switch, every CU230P-2 PN must be assigned a unique PROFINET device name. Two drives on the same network sharing the device name "g120" will cause DCP (Discovery and Configuration Protocol) collisions and the BF LED on one of them will flash.
3. Root Cause: SINAMICS G120 Fault 80A1 and the BF LED
The fault code 80A1 referenced in the field report is a PROFINET IO communication alarm reported by the SINAMICS G120 firmware. The exact mapping depends on firmware version, but the conditions that raise this alarm are well defined:
- PROFINET IO controller (PLC) is not sending a cyclic telegram to the drive's PROFINET interface. The controller rejects the AR (Application Relationship) because the submodule or slot does not exist in the controller's configuration.
-
The PROFIdrive telegram configured in the drive (parameter
p922) does not match the telegram inserted in the TIA Portal device configuration. The drive expects Telegram 352, but the PLC tries to write a 4-word standard telegram. The cyclic data exchange stops at the first frame mismatch. - The PROFINET device name in the drive does not match the device name in the TIA Portal project. The PLC tries to establish a connection to a name that the drive does not respond to. The drive remains in passive listening mode, and the BF LED on the drive and the PLC flashes.
- The PLC has not completed download of the device configuration. Only the GSD-based hardware catalog is loaded, but the device name/IP assignment was not transferred to the drive.
- The drive has not been put into "Commissioning" or "Run" mode. The drive is still in parameter assignment mode and is not accepting the AR.
The BF LED on the CU230P-2 PN has a defined meaning per the operating instructions. Steady on or flashing indicates a missing or interrupted PROFINET connection. When the BF LED is off and the LINK LED is on, the physical layer is healthy.
4. Telegram 352 Configuration: PZD-6/6
Telegram 352 is a standard PROFIdrive telegram used by SINAMICS G120 and G120C drives. It is the recommended telegram for variable-speed drives with extended control (main setpoint, ramp-function generator, motor potentiometer, and supplementary process data). Telegram 352 provides 6 PZD words in each direction.
| Word | Direction | Name | Description |
|---|---|---|---|
| PZD1 | PLC → Drive | STW1 | Control word 1 (bit 10 = Control by PLC) |
| PZD2 | PLC → Drive | NSOLL_A | Speed setpoint A (16-bit, normalized to p2000) |
| PZD3 | PLC → Drive | Free | Freely interconnectable (default: not used) |
| PZD4 | PLC → Drive | Free | Freely interconnectable |
| PZD5 | PLC → Drive | Free | Freely interconnectable |
| PZD6 | PLC → Drive | Free | Freely interconnectable |
| PZD1 | Drive → PLC | ZSW1 | Status word 1 |
| PZD2 | Drive → PLC | NIST_A | Actual speed value A (16-bit, normalized to p2000) |
| PZD3 | Drive → PLC | IAIST | Actual current value (smoothed) |
| PZD4 | Drive → PLC | MIST | Actual torque value (smoothed) |
| PZD5 | Drive → PLC | PIST | Actual power value (smoothed) |
| PZD6 | Drive → PLC | ZSW2 | Status word 2 |
To configure Telegram 352, both ends must be set:
4.1 Drive-Side Configuration (via parameters)
On the CU230P-2 PN, the telegram is selected by parameter p922. Use the IOP (Intelligent Operator Panel), BOP-2, or Startdrive/Starter to set:
p922 = 352
Save the setting with p971 = 1 followed by p970 = 0 (Copy RAM to ROM) or perform a power cycle. If the telegram is changed online, the drive performs a warm restart to load the new telegram.
Verify with:
p922 = 352 // expected return value
p2079 = 0 // PZD extension off - confirms standard Telegram 352
p2038 = 0 // SINAMICS interface mode
4.2 PLC-Side Configuration (in TIA Portal)
- Open the device configuration for the S7-1200 CPU 1214C.
- Drag the SINAMICS G120 with CU230P-2 PN from the hardware catalog (path: Drives & Starter Kits → SINAMICS Drives → SINAMICS G120 → CU230P-2 PN → 6SL3243-0BB30-1FA0).
- Connect the PROFINET interface of the drive to the PROFINET subnet of the S7-1200.
- In the device view of the drive, locate slot 0 (the drive object) and insert "Telegram 352" from the catalog (right pane → "Module" → "Telegram 352").
- Confirm the input and output addresses. By default, Telegram 352 starts at IW 256 / QW 256 for the first drive. The second drive will be IW 268 / QW 268, the third at IW 280 / QW 280 (each Telegram 352 occupies 12 bytes = 6 words input + 6 words output).
- Right-click the drive and select "Assign PROFINET device name" to set the device name, or use the topology editor → "Device name" property.
5. PROFINET Device Name and IP Address Assignment
PROFINET identifies devices by their PROFINET device name, not by MAC or IP address. The PLC must address the drive by this name. The standard convention is to use a name that matches the role:
g120-drive1
g120-drive2
g120-drive3
5.1 Assigning the Device Name in TIA Portal
- In the project tree, right-click the drive device and select "Assign device name".
- Select the correct PROFINET interface (the one connected to the controller's subnet).
- Use the "PROFINET device name" field to set the unique name (e.g., "g120-drive1").
- Click "Assign name". This sends a DCP Identify-Req with the new name to the targeted MAC address.
5.2 Assigning the IP Address
The IP address is typically assigned as part of the device configuration in TIA Portal:
- Select the drive in the device view.
- Open "Properties" → "PROFINET interface" → "Ethernet addresses".
- Set the IPv4 address (e.g., 192.168.0.11 for drive 1, 192.168.0.12 for drive 2, 192.168.0.13 for drive 3).
- Set the subnet mask (typically 255.255.255.0).
- If a router is not used, leave the "Use router" checkbox unchecked.
When the project is downloaded to the PLC, the PLC will issue a DCP Identify-Req + Write-Req to push the IP address and device name to the drive.
5.3 Alternative: Siemens PRONETA
For commissioning outside TIA Portal, use the Siemens PRONETA tool (free download from Siemens Support). PRONETA scans the network, lists every PROFINET device, and lets you set the device name and IP address interactively. This is the fastest way to verify whether the drive is reachable and to confirm the device name before troubleshooting Telegram mismatches.
p0010 = 30, p0970 = 1) and reassign a unique name.6. Control Word Configuration: Bit 10 (Control by PLC)
Even when the PROFINET connection is healthy, the drive ignores PLC commands if the control word does not have bit 10 set. Bit 10 is the "Control by PLC" bit; without it, the drive considers itself in "local" or "manual" mode and discards the STW1 from PROFINET.
| Bit | Function | 1 = | 0 = |
|---|---|---|---|
| 0 | ON/OFF1 | Run | Stop (ramp-down then pulse inhibit) |
| 1 | OFF2 | No coast stop | Coast to stop (pulse inhibit) |
| 2 | OFF3 | No quick stop | Quick stop (OFF3 ramp) |
| 3 | Enable operation | Enable pulses | Inhibit pulses |
| 4 | Ramp-function generator enable | RFG enabled | RFG frozen (output held) |
| 5 | Ramp-function generator start | RFG accelerates to setpoint | RFG output held at 0 |
| 6 | Setpoint enable | Setpoint accepted | Setpoint forced to 0 |
| 7 | Fault acknowledge | Acknowledge fault on 0→1 edge | No effect |
| 8 | Jog 1 | Jog 1 active (via p1058) | No jog |
| 9 | Jog 2 | Jog 2 active (via p1059) | No jog |
| 10 | Control by PLC | PROFINET control accepted | Local/terminal control |
| 11 | Direction reversal | Reverse direction | Forward direction |
| 13 | Motor potentiometer raise | Raise MOP | No effect |
| 14 | Motor potentiometer lower | Lower MOP | No effect |
| 15 | Reserved (or CDS bit 0) | — | — |
The recommended control word to release the drive for PLC control without starting it is 16#047E:
STW1 = 16#047E (binary 0000 0100 0111 1110)
- Bit 0 = 0 (OFF1 not active - drive stopped)
- Bit 1 = 1 (No coast stop)
- Bit 2 = 1 (No quick stop)
- Bit 3 = 1 (Enable pulses)
- Bit 4 = 1 (RFG enabled)
- Bit 5 = 1 (RFG start)
- Bit 6 = 1 (Setpoint enabled)
- Bit 7 = 0 (No fault acknowledge)
- Bit 10 = 1 (Control by PLC) ← critical
- Bit 11 = 0 (Forward direction)
- Bit 13 = 1 (MOP raise enabled)
To start the drive, set bit 0 as well: 16#047F (decimal 1151). The ramp-function generator will accelerate the motor to the setpoint in PZD2 (NSOLL_A).
In the S7-1200 program, write the control word to the output word of the drive's Telegram 352:
// SCL - Drive 1 control word write
"Drive_1_Control_Word" := 16#047E; // ready, PLC control, no start
// To start, change to 16#047F
For LAD/FBD users, move the word to the drive's output area:
// LAD equivalent - Move W#16#047E to QW256 (Drive 1 STW1)
L W#16#047E
T QW 256
7. TIA Portal Project Configuration Walkthrough
7.1 Adding the S7-1200 CPU
- Open TIA Portal V17 or later (V18 is current as of 2024).
- Create a new project: "Project" → "New" → enter project name and path.
- "Add new device" → "SIMATIC S7-1200" → "CPU" → "CPU 1214C DC/DC/DC" (6ES7214-1AG40-0XB0).
- Select the firmware version matching the physical CPU (e.g., V4.5). If the firmware is V4.6 or V4.7, the CPU must be updated first.
7.2 Configuring the PROFINET Interface on the PLC
- Open "Devices & Networks" → select the CPU → "Device view" → click the PROFINET port.
- In "Properties" → "Ethernet addresses", set the PLC IP address (e.g., 192.168.0.10) and subnet mask (255.255.255.0).
- Add a new subnet "PN/IE_1" if not present.
7.3 Adding the First G120 Drive
- In the hardware catalog, navigate to: "Drives & Starter Kits" → "SINAMICS Drives" → "SINAMICS G120" → "Control Units" → "CU230P-2 PN" → select the order number matching the physical hardware.
- Drag the drive to the network view. The PROFINET interface will auto-connect to the PN/IE_1 subnet.
- Open the device view of the drive and drag "Telegram 352" from the catalog to slot 0.
- Set the IP address (e.g., 192.168.0.11) and PROFINET device name (e.g., "g120-drive1").
7.4 Adding the Second and Third Drives
Repeat step 7.3 for drives 2 and 3, with unique IP addresses (192.168.0.12 and 192.168.0.13) and unique device names ("g120-drive2", "g120-drive3").
7.5 Download to the PLC
- Connect the engineering PC to the S7-1200 PROFINET port.
- Right-click the CPU → "Download to device" → "Hardware and software".
- Confirm the PG/PC interface type ("PN/IE"), the PG/PC interface (your network adapter), and the target subnet.
- Click "Search" → select the CPU → "Load".
During the download, the PLC pushes the PROFINET device name and IP address to each drive. The BF LED on each drive will turn off within 5-10 seconds after the configuration is fully accepted.
8. Online Diagnostics in TIA Portal
After downloading, verify the connection state by going online:
- Right-click the CPU → "Go online". The status bar at the bottom should show the CPU is online (green check on the project tree).
- Right-click the drive → "Online & Diagnostics". The "Diagnostics status" tab will show the current alarm state.
- Open "PROFINET diagnostics" → "Port statistics" to confirm link state, frame counts, and discard counts on each port of the drive.
- Open "Cyclic data" → "Monitor/Modify" to view the live PZD values. If Telegram 352 is healthy, you will see the STW1 written by the PLC and the ZSW1 read from the drive.
9. Troubleshooting Matrix
| Symptom | Probable Cause | Resolution |
|---|---|---|
| BF LED on drive steady on | No PROFINET connection at all (cable, switch port, or device name) | Verify cable, check switch port LED, ping the drive IP from the engineering PC, verify device name with PRONETA |
| BF LED flashing (0.5 Hz) | Configuration mismatch (telegram or slot) | Check p922 = 352, verify Telegram 352 is inserted in TIA Portal slot 0 |
| BF LED off, drive not responding to STW1 | Control word bit 10 = 0, or drive in local mode | Write 16#047E to STW1, verify p0700 = 6 (PROFINET command source) |
| Drive reports F08501 (PROFINET config error) | Telegram mismatch or device name conflict | Recheck p922, ensure unique device name, ensure telegram inserted in correct slot |
| Drive reports F08502 (sign-of-life failure) | Watchdog timeout, network too slow | Reduce update interval, check for excessive broadcast traffic, isolate VLAN |
| Drive reports F01910 (fieldbus setpoint timeout) | PLC not sending cyclic data, or wrong setpoint source | Verify Telegram 352 is mapped, check p2051[0] = r2050[0] (PROFINET → setpoint) |
| Only first drive works, others show fault 80A1 | Duplicate device name or wrong Telegram 352 on second drive | Reassign unique names, verify each drive's Telegram 352 mapping |
| PROFINET goes online then offline repeatedly | IP address conflict on subnet | Ping each drive IP, ensure no duplicate IP exists |
10. Verification Procedure
After the project is downloaded and the BF LEDs are off on all three drives, perform this verification sequence:
- Check LED status: BF off, LINK green, RDY green on each CU230P-2 PN.
- Online diagnostics: Right-click each drive in TIA Portal → "Online & Diagnostics" → confirm "No fault" and "Cyclic data exchange active".
-
Monitor ZSW1: The status word from drive 1 should read
16#0B31(or similar) when the drive is in "Ready" state. Bit 0 (Ready to switch on), bit 1 (Ready), and bit 2 (Operation enabled) should be set. -
Write STW1 with control by PLC only: Move
16#047Eto QW256 (drive 1 STW1). The drive should enter "Ready" state, indicated by ZSW1 bit 0 = 1. -
Write STW1 with run command: Move
16#047Fto QW256. The drive should accelerate to the setpoint in QW258 (NSOLL_A) following the ramp defined in p1120. - Verify setpoint scaling: NSOLL_A = 16384 (decimal) corresponds to 100% of p2000 reference speed. With p2000 = 1500 rpm, NSOLL_A = 8192 corresponds to 750 rpm.
- Read NIST_A: The actual speed feedback should follow the setpoint with a small lag (ramp time).
- Test all three drives: Repeat steps 4-7 for QW268 (drive 2) and QW280 (drive 3).
11. Field-Proven Tips and Common Pitfalls
Tip 1 - Always use Startdrive for SINAMICS G120: The legacy Starter (Standalone) tool is still supported but Startdrive integrates the drive into the TIA Portal project, allowing a single download. Without Startdrive, the device must be parameterized separately and the Telegram 352 mismatch is more common.
Tip 2 - Check the GSD file version: The GSDML file for CU230P-2 PN must match the firmware version. Using a GSDML for firmware V4.7 on a drive with V4.4 firmware can cause undetected module mismatches. Use "Options → Manage general station description files (GSD)" in TIA Portal to update.
Tip 3 - Set p0010 = 30 for factory reset: To force a known state, set p0010 = 30 (factory reset) and p0970 = 1. This clears the device name and forces a power-cycle to apply defaults.
Tip 4 - Save Telegram selection to ROM: After setting p922, save with p971 = 1 → p970 = 0 (Copy RAM to ROM), or use the BOP-2/IOP "Save to ROM" menu. Otherwise, the setting is lost on power cycle.
Tip 5 - Verify the second port of the last drive: When using line topology, leave the second port of the last drive physically disconnected. If you loop it back to the PLC (forming a ring), the network will go into a storm. Although the integrated switch supports loop detection, do not close the ring on a PROFINET line.
Tip 6 - Use PRONETA for pre-check: Before opening TIA Portal, use PRONETA to scan the network, identify each drive's MAC address, and assign the device name. This separates physical layer problems from configuration problems.
Tip 7 - Activate the right CDS (Command Data Set): If the drive has multiple CDS configured (p0810 = 0, 1, 2), the active CDS is selected via STW1 bit 15 or the parameter p0820-p0822. With Telegram 352, the standard CDS is CDS0, so leave p0820 = 0.
Tip 8 - Check p2051 and r2050 for setpoint routing: With the default settings, NSOLL_A from PROFINET is routed to the ramp-function generator input (r2050[1] → p1070). If a BICO re-routing was done, the PLC setpoint may be discarded. Reset with p0010 = 30 → p0970 = 1.
Tip 9 - CM/CP communication priority on the S7-1200: If you add a CP 1243-1 or CM 1241 to the S7-1200 for additional protocols, the PROFINET IO communication is assigned priority 1 and will not be interrupted by the other modules. See the S7-1200 comparison table for the priority levels of each CM/CP slot.
Tip 10 - PLC firmware version matters: S7-1200 CPU 1214C firmware V4.2 supports up to 16 PROFINET IO devices. V4.4 introduced "PROFINET IO IRT" (isochronous real-time) support. For drives, IRT is rarely needed; RT (real-time) class 1 is sufficient. If using firmware V4.0 or V4.1, only 8 IO devices are supported - upgrade before commissioning more than 8 drives.
FAQ
What does the BUS FAULT (BF) LED flashing on a CU230P-2 PN indicate?
The BF LED flashing at 0.5 Hz on a SINAMICS G120 CU230P-2 PN indicates a PROFINET configuration mismatch. The most common causes are: a Telegram mismatch between the drive's p922 parameter and the TIA Portal configuration, a missing or duplicate PROFINET device name, or a missing IP address. Steady-on BF LED indicates no PROFINET connection at all (cable, switch port, or no AR established). Check the TIA Portal Online & Diagnostics view for the exact alarm code (F08501, A08501, or F08502).
How many SINAMICS G120 drives can one S7-1200 CPU 1214C control via PROFINET?
An S7-1200 CPU 1214C with firmware V4.2 or later supports up to 16 PROFINET IO devices. Three G120 drives is well within this limit. With firmware V4.0 or V4.1, only 8 IO devices are supported. For drives added to the TIA Portal project, the total number of user data bytes per IO device must not exceed 1024 bytes input and 1024 bytes output (V4.4+). Three Telegram 352 drives use only 72 bytes (12 bytes × 3 × 2 directions), well within budget.
Why does drive 1 communicate via PROFINET in TIA Portal but not respond to the PLC program?
This is typically caused by the "Control by PLC" bit (bit 10) in the control word not being set, or by the command source in the drive not being set to PROFINET. Set the drive's command source with p0700 = 6 (PROFINET command source) and write 16#047E (or 16#047F to start) to the STW1 output word. The drive will accept PLC commands only when bit 10 is 1.
What is Telegram 352 and when should I use it?
Telegram 352 is a standard PROFIdrive telegram for SINAMICS G120 and G120C drives. It provides 6 PZD words in each direction: control word 1, speed setpoint, and 4 freely interconnectable words in the output direction; status word 1, actual speed, actual current, actual torque, actual power, and status word 2 in the input direction. Use Telegram 352 when you need a single drive with extended setpoint and actual value access. For multi-axis coordinated motion, use Telegram 5 (PZD-9/9) or Telegram 6 (PZD-10/10) with SIMOTION or S7-1500 Motion Control.
How do I find the IP address of a SINAMICS G120 if it has no display?
Use the Siemens PRONETA tool to scan the PROFINET network. PRONETA lists every device with its MAC address, current device name, and IP address. You can also read the IP address from the drive's BOP-2 or IOP if connected, or use parameter r8930 (current IP address) via Startdrive/Starter. If the drive is in factory-default state, the IP address is 0.0.0.0 and the device name is empty - both must be assigned by the controller during download.