SINAMICS G110 USS Communication Failure with S7-1200 CB 1241
Symptom: Drive connected to a SIMATIC S7-1200 via CB 1241 RS-485 communication module. TxD and RxD LEDs on the CB 1241 blink, but the drive never replies. Starter/USS_PORT_BLOCK reports ERROR = 1 or DONE = 0 indefinitely. BOP still exposes USS command/setpoint menus even though the unit will not accept USS frames.
Root Cause Class: Physical drive variant does not contain the RS-485 transceiver hardware. The G110 family is shipped in two hardware variants that share the same housing, nameplate, and parameter structure but differ in fieldbus capability. The analog variant accepts only ±10 V / 0–20 mA command and analog setpoint on terminals 3/4; the USS variant adds an isolated RS-485 transceiver on terminals 8/9/10. Selecting "USS on RS-485" on a unit that lacks the transceiver produces no response at the physical layer, regardless of how the controller is programmed.
1. Problem Confirmation
Before changing any wiring or program, capture the following data points. They determine whether the issue is hardware-variant-related, parameter-related, or programming-related.
- Read the G110 order number (MLFB) from the nameplate. Example from a known failure: 6SL3211-0AB13-7UA0.
- Read parameter
r0127on the drive with the BOP. The drive in the failure case returnedr0127 = 0. - Read firmware version with
r0018. The failure case showedr0018 = 1.04. - Measure DC bus voltage on terminals P+ / N– to confirm the drive is powered and not in UV (undervoltage) trip.
- Confirm cable shield is bonded at one end only (drive side, terminal M / pin 10 reference).
r0127 returns the installed controlling-card type identifier. A value of 0 corresponds to the analog-input control card; a non-zero value (typically 1) corresponds to the USS/RS-485 control card. If r0127 = 0 you cannot transmit USS frames to that drive over RS-485 — the physical transceiver is not present.2. Identifying the Drive Variant from the Order Number
The SINAMICS G110 MLFB encodes the control variant in its suffix. The relevant fields of the 6SL3211-0ABxx-xYxx article number are:
| MLFB Segment | Meaning | Notes |
|---|---|---|
| 6SL3211-0AB11-... | 0.12 kW frame | Power rating |
| 6SL3211-0AB12-... | 0.25 kW frame | Power rating |
| 6SL3211-0AB13-... | 0.37 kW frame | Power rating |
| 6SL3211-0AB14-... | 0.55 kW frame | Power rating |
| 6SL3211-0AB15-... | 0.75 kW frame | Power rating |
| ...-xUAx | Analog input variant | No RS-485 transceiver. USS not possible. |
| ...-xUBx | USS/RS-485 variant | Isolated RS-485 on terminals 8/9/10. USS possible. |
| ...-xYx0 / -xYxB | Filter class A (none) / B (integrated) | Independent of control variant |
The known failure case MLFB 6SL3211-0AB13-7UA0 decodes as:
- Frame size: 0.37 kW (CPM110 / 1AC 230 V)
- Filter class: integrated line filter (segment "7")
- Variant: UA0 → Analog Input, NO RS-485 INTERFACE
Confirmed by the manufacturer's catalog string for this MLFB: "SINAMICS G110 – CPM110 AC-DRIVE, WITHOUT FILTER 1AC 200-240 V +10/-10% 47-63 Hz ANALOG INPUT CT: 0.37 kW ... WITHOUT BOP WITHOUT RS485-INTERFACE". This string explicitly states "WITHOUT RS485-INTERFACE", proving that USS cannot be used on this hardware revision.
3. Why the BOP Shows USS Menu Items
The Basic Operator Panel (BOP) software menu always renders the full parameter set, including command-source P0700 and setpoint-source P1000. Selecting P0700 = 5 (USS on RS-485) writes the value to non-volatile memory and the BOP displays no error — but the drive's serial hardware block simply does not exist, so no frame is ever transmitted.
This behavior is expected on the analog variant: the menu options represent parameter storage, not enabled hardware features. The presence of USS entries in the BOP menu is not a reliable indicator that USS communication will function.
4. Resolution Path Selection
Two viable resolutions exist when the G110 in the cabinet is the analog variant:
| Option | Action | When to Choose |
|---|---|---|
| A — Replace drive | Order the equivalent USS/RS-485 variant (MLFB ending in UB0 or UBB) of the same power class and re-wire terminals 8/9/10 to the CB 1241. | New installation, spare drive available, USS is mandatory. |
| B — Migrate platform | Substitute a SINAMICS G120C with the CU240E-2 USS/Modbus control unit (or CU240B-2 USS for a direct functional replacement). | Long-term support needed; G110 is in product phase-out; profinet/USS coexistence required. |
| C — Use analog I/O | Drop USS entirely. Use S7-1200 analog output (SM 1232 or SB 1232) on terminal 3/4 for setpoint and digital output for ON/OFF on terminal 5. | If drive replacement is impossible and USS is not strictly required. |
5. Hardware Wiring for USS Variant (Option A)
Once a USS-variant G110 is installed (MLFB suffix UB0/UBB, r0127 ≠ 0), wire the RS-485 bus as follows. Reference: SINAMICS G110: How to establish a USS connection.
| Signal | G110 Terminal | CB 1241 Pin (6BK7241-1AA00-0AA0) | Conductor |
|---|---|---|---|
| RS-485 Data+ (T/RA) | 8 | 5 (T/RA, P) | Twisted pair, red (typical) |
| RS-485 Data− (T/RB) | 9 | 6 (T/RB, N) | Twisted pair, black (typical) |
| Reference / Ground (M) | 10 | 7 (M) | Same shield jacket, drain wire |
Use a shielded three-core cable (e.g., Belden 3106A or LAPP UNITRONIC LiYCY 3×0.34). Maximum stub length depends on baud rate:
| Baud Rate (bit/s) | Max Cable Length (m) | Max Stub Length (m) |
|---|---|---|
| 9 600 | 1 200 | 0.3 |
| 19 200 | 1 000 | 0.3 |
| 38 400 | 500 | 0.2 |
| 115 200 | 100 | 0.1 |
For the 1 m cable in the failure case, neither termination nor biasing is required; USS functions reliably at 9 600 bit/s without external resistors.
ERROR = 0x0002).6. SINAMICS G110 USS Parameter Map
Set the parameters below using the BOP or SINAMICS Startdrive / STARTER. Parameter reference: G110 Parameter List (Parameter Manual, edition 04/2018).
| Parameter | Value | Meaning |
|---|---|---|
| P0003 | 3 | Access level: Expert (required to see P2010–P2014) |
| P0010 | 30 → 0 | Initiate factory reset, then exit commissioning |
| P0100 | 0 | Europe, 50 Hz, kW |
| P0304 | 230 | Motor rated voltage (match nameplate) |
| P0305 | 2.0 (example) | Motor rated current (match nameplate) |
| P0307 | 0.37 | Motor rated power (kW) |
| P0310 | 50 | Motor rated frequency (Hz) |
| P0311 | 1380 (example) | Motor rated speed (rpm) |
| P0700[0] | 5 | Command source = USS on RS-485 |
| P1000[0] | 5 | Setpoint source = USS on RS-485 |
| P2010[0] | 6 | USS baudrate index: 6 = 9 600 bit/s |
| P2011[0] | 2 | USS PZD length (control/status words). 2 = STW + HSW |
| P2012[0] | 4 | USS PKW length. 4 = 4-word fixed (full parameter access) |
| P2013[0] | 1 | USS node address (1–31). Must be unique on bus |
| P2014[0] | 1000 | USS telegram-off time in ms; 0 disables timeout (not recommended) |
| r0127 | read-only | Controlling card type identifier. Non-zero confirms USS hardware |
Baud-rate index mapping for P2010:
| P2010 Value | Baud Rate (bit/s) |
|---|---|
| 4 | 2 400 |
| 5 | 4 800 |
| 6 | 9 600 (recommended for first trial) |
| 7 | 19 200 |
| 8 | 38 400 |
| 9 | 57 600 |
| 10 | 115 200 |
After writing the parameters, perform a power cycle (off / on at the line) so that P2010–P2014 take effect on the next UART initialization.
7. S7-1200 CB 1241 Configuration in TIA Portal
The CB 1241 RS-485 (MLFB 6BK7241-1AA00-0AA0) plugs into the left side of the CPU and is addressed via its hardware identifier (for example, 270) returned in the device configuration. Legacy USS communication (CM/CB 1241 only) documents the configuration steps.
- Add the CB 1241 to the device configuration of the S7-1200 in TIA Portal.
- Confirm the hardware identifier (e.g.,
HW_ID = 270) — visible in Properties → System constants. - Confirm that no PROFIBUS master or additional point-to-point FB is using the same module — USS_PORT is exclusive per port.
- In the project library, locate the USS function blocks:
USS_PORTandUSS_DRIVE_CONTROL(TIA V13 SP1 and later). These are delivered as part of the S7-1200 base library; no separate installation is required.
7.1 USS_PORT Call (OB1 / Cyclic OB)
// USS_PORT — drives the RS-485 master on the CB 1241
USS_PORT(
PORT := 270, // Hardware ID of CB 1241
BAUD := 9600, // Must equal P2010 of the drive
ERROR := "ussPortError",// BOOL — internal protocol fault
ERROR_ID := "ussPortErrId",// WORD — diagnostic code (see table below)
USS_DB := "USS_DB"); // Global instance DB for USS_PORT
7.2 USS_DRIVE_CONTROL Call (OB1)
// USS_DRIVE_CONTROL — one call per drive (max 16 on a single CB 1241)
USS_DRIVE_CONTROL(
USS_DB := "USS_DB",
DRIVE := 1, // Node ID — must equal P2013 of the drive
SPEED_SP := "driveSpeedSP",// REAL 0.0–100.0 (%) or rpm depending on scaling
CTRL_WORD := 16#047E, // STW1: 047E = OFF1 inhibit + ready
ENABLE := "driveEnable", // BOOL — TRUE to engage the drive
RUN_UP := "driveRampUp", // BOOL — accelerate to setpoint
RUN_DOWN := "driveRampDn", // BOOL — decelerate to zero
SPEED_ACT := "driveSpeedAct",// REAL — feedback in same units as SP
STATUS_WORD := "driveStatusW",// WORD — drive ZSW1
STATUS := "driveStatus", // INT — USS protocol status code
ERROR := "driveError"); // BOOL — communication fault flag
Confirm the call frequency: USS_DRIVE_CONTROL requires at least 2 OB1 cycles between executions for the protocol engine to compose a frame. Do not place the FB in OB200 or any fast interrupt without consulting the function-block help, because the implicit timing is critical.
8. Control Word and Status Word (STW1 / ZSW1)
| STW1 Bit | Meaning | Common Value |
|---|---|---|
| 0 | ON / OFF1 (edge) | 1 = ON rising edge |
| 1 | OFF2 (coast stop) | 1 = no coast stop |
| 2 | OFF3 (quick stop) | 1 = no quick stop |
| 3 | Inverter enable | 1 = enabled |
| 4 | Ramp generator enable | 1 = enabled |
| 5 | Ramp start (no freeze) | 1 = ramp active |
| 6 | Setpoint enable | 1 = accept setpoint |
| 7 | Fault acknowledge (edge 0→1) | 0→1 to ACK |
| 8–9 | Direction (00=forward, 10=reverse on G110) | 00 |
| 10 | PLC control (master → drive) | 1 = control via USS |
| 11–15 | Reserved | 0 |
Pre-charge value before RUN: 16#047E. Pre-charge value at RUN: 16#047F. Acknowledge: pulse 16#04FE (bit 7 rising).
9. Diagnostics Matrix
| Symptom | LED State on CB 1241 | Likely Cause | Action |
|---|---|---|---|
| TxD blinks, RxD dark | TxD ~2 Hz, RxD off | Drive has no RS-485 transceiver (analog variant, r0127=0) |
Replace drive with USS variant (suffix UB0/UBB) |
| TxD blinks, RxD blinks briefly, STATUS = 0x8011 | Both LEDs intermittent | Baud-rate mismatch | Match P2010 with BAUD parameter of USS_PORT |
| TxD and RxD steady flicker, STATUS = 0x8012 | Continuous chatter | Node ID collision — two drives with same P2013
|
Reassign unique P2013 values per drive |
| STATUS = 0x8014 | TxD normal, RxD absent after timeout | Cable A/B reversed (T/RA ↔ T/RB) | Swap terminals 8 and 9 |
| STATUS = 0x8015 | Both LEDs normal at first, then no response | Cable too long / unterminated at high baud | Reduce baud to 9 600; add 120 Ω termination across pins 5/6 of CB 1241 (not on G110) |
| STATUS = 0x0001 | TxD fine, RxD dark |
P0700[0] ≠ 5 or P1000[0] ≠ 5
|
Set P0700[0]=5 and P1000[0]=5; power cycle |
| STATUS = 0x0002 | TxD fine, RxD briefly, then error | CRC error — electrical noise or double shield ground | Check shield bonding; separate VFD and signal cables |
| STATUS = 0x0008 | RxD absent after timeout | Drive in fault state (F0001, F0002, etc.) | Read drive fault via BOP; clear with P0010=30 or via STW1 bit 7 |
10. Quick Commissioning Procedure
-
Verify hardware variant. Read
r0127. If 0, replace drive or change strategy. - Confirm wiring. Terminal 8 ↔ CB 1241 pin 5; terminal 9 ↔ pin 6; terminal 10 ↔ pin 7. Shield bonded to drive terminal M only.
- Set drive parameters. P0003=3, P0010=30 (reset), P0010=0, P0100=0, then motor nameplate data, then P0700=5, P1000=5, P2010=6, P2011=2, P2012=4, P2013=1, P2014=1000.
- Power-cycle the drive (line off, then on).
- Configure CB 1241 in TIA Portal with hardware identifier and add USS_PORT / USS_DRIVE_CONTROL FBs.
- Compile and download the S7-1200 project. Verify CPU is in RUN.
- Set STW1 = 16#047E for > 100 ms, then 16#047F for continuous run. Observe LEDs.
-
Write SPEED_SP = 50.0 %. Observe
driveSpeedActrising toward 50 %. - Verify STATUS = 0 and STATUS_WORD bit 2 = 1 (drive enabled).
-
Stop: Set
RUN_DOWN := TRUE; on SPEED_ACT < 1 % set STW1 = 16#047E.
11. Verification Checklist
| Check | Method | Pass Criterion |
|---|---|---|
| Drive variant | BOP → r0127
|
≠ 0 (USS hardware present) |
| Command source | BOP → P0700[0]
|
5 (USS RS485) |
| Setpoint source | BOP → P1000[0]
|
5 (USS RS485) |
| Baud rate | BOP → P2010[0]
|
Matches USS_PORT.BAUD |
| Node ID | BOP → P2013[0]
|
Matches USS_DRIVE_CONTROL.DRIVE |
| CPU ↔ CB link | TIA Portal online → Devices & Networks | CB 1241 online, no diagnostic buffer entries |
| USS_PORT status | Watch table → USS_DB.ERROR
|
FALSE |
| USS_DRIVE_CONTROL status | Watch table → STATUS | 0 |
| Drive response | BOP → r0052 (status word 1) bit 2 |
1 (operation enabled) |
| Motor rotation | Visual / tachometer | Matches SPEED_SP polarity and magnitude |
12. Migration Path: SINAMICS G120C as Modern Replacement
The G110 platform is in the phase-out product life cycle. The recommended modern equivalent is the SINAMICS G120C with a USS/Modbus control unit:
| Feature | G110 (USS variant) | G120C + CU240E-2 |
|---|---|---|
| USS on RS-485 | Yes (suffix UB0 only) | Yes (standard on CU240E-2) |
| Modbus RTU on RS-485 | No | Yes |
| PROFINET | No | Optional via CU240E-2 PN |
| Safety (STO) | No | Yes (SIL 3 / PL e) on supported variants |
| Power range 1AC 230 V | 0.12–0.75 kW | 0.55–4.0 kW |
| Parameter tool | STARTER / BOP | Startdrive / BOP-2 / IOP-2 |
| USS address parameter | P2013 | p2021 |
| USS baudrate parameter | P2010 | p2020 |
If the application requires PROFINET and USS simultaneously, the G120C with the CU240E-2 PN-F control unit supports parallel PROFINET and USS/Modbus on RS-485 with the right configuration. The legacy USS block library on S7-1200 only handles RS-485, not PROFINET to the drive — PROFINET requires PROFINET IO blocks and a GSDML file instead.
13. Edge Cases and Field-Proven Caveats
-
BOP shows drive enabled even when USS is broken. The BOP uses its own serial channel, not RS-485. A drive that is functional on the BOP can still be a UART-less unit on the fieldbus terminals. Always confirm with
r0127. -
RxD LED flickers but
driveStatus= 0x8014. Indicates inverted bus; some third-party cables cross T/RA and T/RB. Verify with a multimeter on the conductor colors versus the Siemens pinning convention. -
Multi-drive bus hangs after second drive added. Each drive beyond the first must have a unique
P2013address. The CB 1241 supports up to 16 drives (16 USS_DRIVE_CONTROL instances in one USS_PORT) but requires thatUSS_PORTbe polled with sufficient cycle time. Slow the cycle by inserting a 50 ms delay before eachUSS_DRIVE_CONTROLcall. - PowerFlex-class pattern mismatch: The control word encoding for Siemens drives (16#047F) differs from Allen-Bradley DriveLogix patterns. Do not reuse logic across vendors.
-
PKW vs PZD confusion:
P2011sets PZD (process data) length;P2012sets PKW (parameter channel) length. If PKW is required (e.g., to read parameter r0021 from the controller), setP2012 = 4and use the PKW read/write via USS function blocks USS_READ_PARAM / USS_WRITE_PARAM.
14. Document References
- SINAMICS G110: How to establish a USS connection
- Legacy USS communication (CM/CB 1241 only)
- SIMATIC S7-1200 Communication: CM/CB 1241 entry ID
- SIMATIC S7-1200 product page
How do I know if my SINAMICS G110 supports USS over RS-485?
Read parameter r0127 from the BOP. A non-zero value indicates the USS/RS-485 control card is installed; r0127 = 0 means it is the analog variant. Cross-check with the MLFB on the nameplate: order numbers ending in UB0 or UBB are USS variants; numbers ending in UA0 or UAB are analog-only and cannot run USS.
The CB 1241 TxD and RxD LEDs blink but the drive never responds. What is wrong?
On a 1-meter cable, blinking TxD with no RxD reply is the classic signature of a drive that has no RS-485 transceiver. Verify r0127; if it is zero, replace the drive with the USS variant (suffix UB0/UBB). Other possibilities are baud-rate mismatch (P2010 ≠ USS_PORT.BAUD) or reversed A/B conductors on terminals 8/9.
Why does the BOP show USS command and setpoint menus if my drive is analog-only?
The BOP renders the full parameter set regardless of which hardware is installed. Selecting P0700 = 5 writes the value to memory but does not activate any RS-485 hardware. Treat the BOP menu as a parameter view, not a feature availability list. Always confirm with r0127.
What is the default baud rate and node ID I should use on first commissioning?
Use 9 600 bit/s (P2010 = 6) and a node ID of 1 (P2013 = 1) for the first trial. Set USS_PORT.BAUD = 9600 and USS_DRIVE_CONTROL.DRIVE = 1 in TIA Portal to match. If the bus is stable, raise baud to 19 200 or 38 400 by updating both sides.
Can I keep the analog G110 and still control speed from the S7-1200?
Yes, via analog output. Wire an SM 1232 or SB 1232 analog output to drive terminals 3 (AI+) and 4 (AI−); set P0700[0] = 2 (terminal) and P1000[0] = 2 (analog setpoint). Use a digital output to drive terminal 5 (DIN1) for ON/OFF. USS is not required for analog-only control.
Does the SINAMICS G120C support USS like the G110?
Yes. A G120C with the CU240E-2 (USS/Modbus) control unit exposes RS-485 on terminals 29/30. USS address parameter is p2021 and baud-rate parameter is p2020 — the rest of the STW1/ZSW1 telegram is compatible with the legacy USS block library on the S7-1200.