Easy Modbus
  1. Home
  2. Modbus register maps
  3. Siemens
  4. SINAMICS G120 / G120C (Modbus RTU)

Variable frequency drive · Modbus register map

Siemens SINAMICS G120 / G120C (Modbus RTU) Modbus register map

Updated 24 October 2026

Short answer

Siemens' modular drive family (Control Unit plus Power Module) and its compact G120C variant. Control Units with an RS485 port run Modbus RTU as a slave when p2030 = 2. Holding registers 40100-40111 carry the PROFIdrive control word, main setpoint, status word and actual value; 40200-40522 map I/O, drive data, measurements, fault numbers and technology (PID) controller settings. This map covers that whole table except two registers: one with an inconsistent scaling entry and one with no stated bit polarity.

This page lists 56 Modbus registers for the Siemens SINAMICS G120 / G120C (Modbus RTU) — 18 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from Siemens’s own free documentation (linked below) and checked against it.

Manufacturer
Siemens
Model
SINAMICS G120 / G120C (Modbus RTU)
Equipment type
Variable frequency drive
Registers
56 (18 writable)
Transport
Modbus RTU
Default unit ID
1
Default serial
19200 baud, 8E1
Documented addressing
Modicon 3xxxx/4xxxx (drop the prefix, subtract 1)
Firmware
V4.7
Also known as
G120C USS/MB, CU230P-2 HVAC, CU230P-2 BT, CU240B-2, CU240E-2, CU240E-2 F, CU250S-2, G110M CU240M USS, G120P
Source document
SINAMICS G120, G120P, G120C, G120D, G110M Fieldbuses Function Manual · A5E34229197B AA · rev. 2014-04
Download CSV all columns JSON Manufacturer PDF ↗

Integration notes: Siemens SINAMICS G120 / G120C (Modbus RTU)

Integration in brief

Set p0015 = 21 (USS fieldbus macro), then p2030 = 2 (Modbus), the address and baud rate. Write 047E hex to 40100, then 047F hex (bit 0 going 0 to 1 = ON) to start, the speed setpoint to 40101 (4000 hex = p2000), and poll 40110/40111 plus 40342-40347 for frequency, current and power.

Minimum registers to map

Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.

RegisterNameTypeWhyAccess
HR 99Control wordBITMAP16Control word STW1Read/write
HR 100Main setpointINT16Main setpoint, 4000 hex = p2000Read/write
HR 109Status wordBITMAP16Status word ZSW1Read
HR 110Main actual valueINT16Main actual valueRead
HR 341Output frequencyINT16Output frequency in 0.01 HzRead
HR 344Actual current valueUINT16Output current in 0.01 ARead
HR 346Actual active powerUINT16Active power in 0.01 kWRead
HR 399Failure number r0947[0]UINT16Latest fault numberRead

Enable Modbus control & writes

p0015 = 21 'USS fieldbus' (CU230P-2 HVAC/BT can instead use macro 109 'BT Mac 9: Modbus RTU Fieldbus'), then p2030 = 2 for Modbus, p2020 for baud rate (factory 7 = 19200 bit/s, range 4800-187500), and the address via the Control Unit's address switches or p2021. With STARTER, save the settings afterwards.

Communication loss & watchdog

p2040 fieldbus monitoring time (factory 100 ms, 0 disables): if no process data (40100, 40101, 40110, 40111) is accessed within this time, the drive trips with F01910 'setpoint timeout'. Accessing only parameter registers 40200-40522 does not keep it alive.

Byte order & addressing

Network setup

Watch out for

Siemens SINAMICS G120 / G120C (Modbus RTU) Modbus registers

Address = 0-based wire address (the documented number is shown under it when it differs) · Order: ABCD = high word first, CDAB = low word first · Scale: engineering value = raw × scale.

56 of 56 shown
Siemens SINAMICS G120 / G120C (Modbus RTU) Modbus register map
TableAddressNameDescriptionTypeOrderScaleUnitsAccessValues / bits
HR99doc 40100Control wordProcess data 1 (STW1).BITMAP16Read/writebit 0 = ON/OFF1 (0 = OFF1 ramp stop, 0->1 = ON); bit 1 = 0 = OFF2 coast stop (1 = no OFF2); bit 2 = 0 = OFF3 quick stop (1 = no OFF3); bit 3 = 1 = Enable operation (0 = inhibit, pulses off); bit 4 = 1 = Do not disable RFG; bit 5 = 1 = Enable RFG (0 = hold RFG output); bit 6 = 1 = Enable setpoint; bit 7 = 0->1 = Acknowledge faults; bit 10 = 1 = Control via PLC (process data accepted); bit 11 = Direction reversal (setpoint inversion, p1113); bit 13 = 1 = MOP up; bit 14 = 1 = MOP down
HR100doc 40101Main setpointProcess data 2; 4000 hex = 100 % of p2000.INT16Read/write
HR109doc 40110Status wordProcess data 1 (ZSW1).BITMAP16Readbit 0 = Ready to start; bit 1 = Ready; bit 2 = Operation enabled; bit 3 = Fault active; bit 4 = 1 = OFF2 inactive; bit 5 = 1 = OFF3 inactive; bit 6 = Closing lockout active; bit 7 = Alarm active; bit 8 = Speed deviation within tolerance; bit 9 = Master control requested; bit 10 = Comparison speed reached or exceeded; bit 11 = Torque limit reached; bit 12 = Holding brake open; bit 13 = 0 = alarm, motor overtemperature; bit 14 = 1 = clockwise, 0 = counterclockwise; bit 15 = 0 = alarm, inverter thermal overload
HR110doc 40111Main actual valueProcess data 2; 4000 hex = 100 % of p2000.INT16Read
HR199doc 40200DO 0Mapped to p0730, r0747.0 and p0748.0.UINT16Read/write0 = LOW; 1 = HIGH
HR200doc 40201DO 1Mapped to p0731, r0747.1 and p0748.1.UINT16Read/write0 = LOW; 1 = HIGH
HR201doc 40202DO 2Mapped to p0732, r0747.2 and p0748.2.UINT16Read/write0 = LOW; 1 = HIGH
HR219doc 40220AO 0r0774.0.INT16× 0.01%Read
HR220doc 40221AO 1r0774.1.INT16× 0.01%Read
HR239doc 40240DI 0r0722.0.UINT16Read0 = LOW; 1 = HIGH
HR240doc 40241DI 1r0722.1.UINT16Read0 = LOW; 1 = HIGH
HR241doc 40242DI 2r0722.2.UINT16Read0 = LOW; 1 = HIGH
HR242doc 40243DI 3r0722.3.UINT16Read0 = LOW; 1 = HIGH
HR243doc 40244DI 4r0722.4.UINT16Read0 = LOW; 1 = HIGH
HR244doc 40245DI 5r0722.5.UINT16Read0 = LOW; 1 = HIGH
HR259doc 40260AI 0r0755[0], -300.0 to 300.0 %.INT16× 0.01%Read
HR260doc 40261AI 1r0755[1], -300.0 to 300.0 %.INT16× 0.01%Read
HR261doc 40262AI 2r0755[2], -300.0 to 300.0 %.INT16× 0.01%Read
HR262doc 40263AI 3r0755[3], -300.0 to 300.0 %.INT16× 0.01%Read
HR299doc 40300Powerstack numberr0200 power unit code.UINT16Read
HR319doc 40320Rated power of the power unitr0206.UINT16× 0.01kWRead
HR320doc 40321Current limitp0640, 10.0-400.0 %.UINT16× 0.1%Read/write
HR321doc 40322Ramp-up timep1120, 0.00-650.0 s (raw up to 65000).UINT16× 0.01sRead/write
HR322doc 40323Ramp-down timep1121, 0.00-650.0 s (raw up to 65000).UINT16× 0.01sRead/write
HR323doc 40324Reference speedp2000: speed that 4000 hex represents.UINT16rpmRead/write
HR339doc 40340Speed setpointr0020.INT16rpmRead
HR340doc 40341Actual speed valuer0022.INT16rpmRead
HR341doc 40342Output frequencyr0024.INT16× 0.01HzRead
HR342doc 40343Output voltager0025.UINT16VRead
HR343doc 40344DC-link voltager0026.UINT16VRead
HR344doc 40345Actual current valuer0027.UINT16× 0.01ARead
HR345doc 40346Actual torque valuer0031.INT16× 0.01NmRead
HR346doc 40347Actual active powerr0032.UINT16× 0.01kWRead
HR347doc 40348Energy consumptionr0039.UINT16kWhRead
HR399doc 40400Failure number r0947[0]Most recent fault number.UINT16Read
HR400doc 40401Failure number r0947[1]Fault history entry.UINT16Read
HR401doc 40402Failure number r0947[2]Fault history entry.UINT16Read
HR402doc 40403Failure number r0947[3]Fault history entry.UINT16Read
HR403doc 40404Failure number r0947[4]Fault history entry.UINT16Read
HR404doc 40405Failure number r0947[5]Fault history entry.UINT16Read
HR405doc 40406Failure number r0947[6]Fault history entry.UINT16Read
HR406doc 40407Failure number r0947[7]Fault history entry.UINT16Read
HR407doc 40408Alarm numberr2110[0].UINT16Read
HR498doc 40499PRM ERROR code0-99; why the last register access failed.UINT16Read
HR499doc 40500Technology controller enableWrites p2200; reads r2349.0.UINT16Read/write0 = Off; 1 = On
HR500doc 40501Technology controller MOPp2240, -200.0 to 200.0 %.INT16× 0.01%Read/write
HR509doc 40510Tech. controller actual-value filter timep2265, 0.00-60.0; no unit printed.UINT16× 0.01Read/write
HR510doc 40511Tech. controller actual-value scalingp2269, 0.00-500.00 %.UINT16× 0.01%Read/write
HR511doc 40512Tech. controller proportional gainp2280, 0.000-65.000.UINT16× 0.001Read/write
HR512doc 40513Tech. controller integral timep2285, 0-60 s.UINT16sRead/write
HR513doc 40514Tech. controller D time constantp2274, 0-60; no unit printed.UINT16Read/write
HR514doc 40515Tech. controller max. limitp2291.INT16× 0.01%Read/write
HR515doc 40516Tech. controller min. limitp2292.INT16× 0.01%Read/write
HR519doc 40520Tech. controller effective setpointr2250, after MOP ramp-function generator.INT16× 0.01%Read
HR520doc 40521Tech. controller actual value after filterr2266.INT16× 0.01%Read
HR521doc 40522Tech. controller outputr2294.INT16× 0.01%Read

Notes on this map

Check it against the live device. A register map tells you what the controller can expose; the unit in front of you may differ by firmware or options. Read a few registers and compare them with the unit’s own display; for a 32-bit value the float and byte-order decoder shows all four word orders at once, so a wrong word order or scale is obvious. New to this? Read what a register map is and why addresses are off by one.

Questions about the Siemens SINAMICS G120 / G120C (Modbus RTU)

What Modbus registers does the Siemens SINAMICS G120 / G120C (Modbus RTU) have?

This map lists 56 registers: 56 holding registers. 18 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.

Are the Siemens SINAMICS G120 / G120C (Modbus RTU) Modbus addresses 0-based or 1-based?

The manufacturer's document numbers registers Modicon 3xxxx/4xxxx (drop the prefix, subtract 1). Every address on this page is the 0-based wire address you put in the request; the documented number is shown under it where it differs. Registers are printed as 40100-40522. The manual's request examples send 00 6D for register 40110 and 00 63 for 40100, so the wire address is the printed number minus 40001 (control word 40100 = address 99).

What are the minimum Modbus registers to integrate the Siemens SINAMICS G120 / G120C (Modbus RTU)?

Start with HR 99 Control word (Control word STW1); HR 100 Main setpoint (Main setpoint, 4000 hex = p2000); HR 109 Status word (Status word ZSW1); HR 110 Main actual value (Main actual value); HR 341 Output frequency (Output frequency in 0.01 Hz); HR 344 Actual current value (Output current in 0.01 A); HR 346 Actual active power (Active power in 0.01 kW); HR 399 Failure number r0947[0] (Latest fault number).

How do I enable Modbus control of the Siemens SINAMICS G120 / G120C (Modbus RTU)?

p0015 = 21 'USS fieldbus' (CU230P-2 HVAC/BT can instead use macro 109 'BT Mac 9: Modbus RTU Fieldbus'), then p2030 = 2 for Modbus, p2020 for baud rate (factory 7 = 19200 bit/s, range 4800-187500), and the address via the Control Unit's address switches or p2021. With STARTER, save the settings afterwards.

What happens when the Siemens SINAMICS G120 / G120C (Modbus RTU) loses Modbus communication?

p2040 fieldbus monitoring time (factory 100 ms, 0 disables): if no process data (40100, 40101, 40110, 40111) is accessed within this time, the drive trips with F01910 'setpoint timeout'. Accessing only parameter registers 40200-40522 does not keep it alive.

Where is the official Siemens SINAMICS G120 / G120C (Modbus RTU) Modbus documentation?

The source is SINAMICS G120, G120P, G120C, G120D, G110M Fieldbuses Function Manual (A5E34229197B AA), revision 2014-04, published free by Siemens at https://cache.industry.siemens.com/dl/files/275/109981275/att_1314024/v1/A6V10556730.pdf.

More Siemens Modbus register maps

Source: SINAMICS G120, G120P, G120C, G120D, G110M Fieldbuses Function Manual · A5E34229197B AA · rev. 2014-04. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.