Siemens SINAMICS V20 Modbus register map

Compact low-voltage inverter with a built-in RS485 port that can run as a Modbus RTU slave. The manual gives a fixed register table (40001 to 40559) for control, status, setpoints, ramp times, PID settings, fault codes and measured values, each linked to an inverter parameter.

Protocol
Modbus RTU (RS485); function codes 3, 6 and 16 only
Defaults
Select Modbus with P2023 = 2 (factory default 1, USS) and power cycle the inverter. Factory defaults printed: baud rate 9600 bit/s (P2010[0] = 6), Modbus address 1 (P2021, range 1 to 247), reply timeout 1000 ms (P2022), parity even (P2034 = 2; 0 none, 1 odd, 2 even), 1 stop bit (P2035 = 1; 1 or 2). The parameter list (p. 273 to 274) notes P2034 must be 0 when P2035 = 2 and P2035 must be 2 when P2034 = 0. Command source P0700 = 5 selects USS/MODBUS on RS485.
Addresses in the manual
Modicon style numbers (for example 40001 is holding register 0)
32 and 64-bit values
Not stated in the manual
Registers listed
116
Checked against
A5E34559884-006, 11/2016 (Siemens-hosted copy, chapter 7.2 MODBUS communication)

Address base. The mapping table (p. 174 to 177) has two columns: Register No. under the heading Inverter (0 to 559) and MODBUS (40001 to 40559). Each MODBUS number is the Register No. plus 40001. The manual never states in words which of the two numbers goes into the 2-byte start address field of the telegram and prints no worked frame for the table registers (its only example, register 40200 for BICO parameter P0731, uses the MODBUS column). Treating the Register No. as the wire address (40001 is wire address 0) follows the standard Modicon convention and the table pairing, but is an inference. Addresses here are the 4xxxx numbers as printed. Check one value, such as register 40342 against the displayed output frequency, on the device. For example 40001 in the manual (Watchdog time) is address 0 on the wire.

Word order. All table registers are single 16-bit values. The parameter value upper word and lower word registers (40554, 40555, 40558, 40559) are described only by name; the manual does not state how they combine.

Modbus Poll and the Modbus protocol itself count from 0. The "Wire address" column is the number to type into Modbus Poll.

Downloads

The register table has every column on this page. The blocks file imports into Modbus Poll. The template JSON holds the same blocks plus unit, scale and access for scripts.

Registers

116 registers
Manual Wire Register Type Regs Unit Scale Access Area
40001 0 Watchdog timeWatchdog_Time · Range 0 to 65535. The table gives no linked parameter. uint16 1 ms 1 RW Holding (FC03)
40002 1 Watchdog actionWatchdog_Action · The table gives no range and no linked parameter. uint16 1 1 RW Holding (FC03)
40003 2 Frequency setpoint, percent of reference frequencyFrequency_Setpoint · Range 0.00 to 100.00. Maps to the speed setpoint (HSW) of the control data. The table names this register Reference frequency. uint16 1 % 0.01 RW Holding (FC03)
40004 3 Run enableRun_Enable · 0 or 1. Maps to control word (STW) bit 3. uint16 1 1 RW Holding (FC03)
40005 4 Forward/reverse commandForward_Reverse_Command · 0 or 1. Maps to control word (STW) bit 11. uint16 1 1 RW Holding (FC03)
40006 5 Start commandStart_Command · 0 or 1. Maps to control word (STW) bit 0. uint16 1 1 RW Holding (FC03)
40007 6 Fault acknowledgementFault_Acknowledge · 0 or 1. Maps to control word (STW) bit 7. uint16 1 1 RW Holding (FC03)
40008 7 PID setpoint referencePID_Setpoint_Reference · Range -200.0 to 200.0. Maps to P2240. int16 1 % 0.01 RW Holding (FC03)
40009 8 PID enablePID_Enable · 0 or 1. Read value comes from r0055.8; a write sets BICO parameter P2200 to a fixed 0 or 1. uint16 1 1 RW Holding (FC03)
40010 9 Current limitCurrent_Limit · Range 10.0 to 400.0. Maps to P0640. uint16 1 % 0.1 RW Holding (FC03)
40011 10 Acceleration timeAcceleration_Time · Range 0.00 to 650.0. Maps to P1120. uint16 1 s 0.01 RW Holding (FC03)
40012 11 Deceleration timeDeceleration_Time · Range 0.00 to 650.0. Maps to P1121. uint16 1 s 0.01 RW Holding (FC03)
40014 13 Digital output 1Digital_Output_1_Group1 · HIGH or LOW. Read value comes from r0747.0; a write sets BICO parameter P0731 to a fixed 0 or 1. Register 40200 maps to the same parameters. uint16 1 1 RW Holding (FC03)
40015 14 Digital output 2Digital_Output_2_Group1 · HIGH or LOW. Read value comes from r0747.1; a write sets BICO parameter P0732 to a fixed 0 or 1. Register 40201 maps to the same parameters. uint16 1 1 RW Holding (FC03)
40016 15 Reference frequencyReference_Frequency_Group1 · Range 1.00 to 550.00. Maps to P2000. Register 40324 maps to the same parameter and prints a range of 1.00 to 650.0. uint16 1 Hz 0.01 RW Holding (FC03)
40017 16 PID upper limitPID_Upper_Limit_Group1 · Range -200.0 to 200.0. Maps to P2291. Register 40515 maps to the same parameter. int16 1 % 0.01 RW Holding (FC03)
40018 17 PID lower limitPID_Lower_Limit_Group1 · Range -200.0 to 200.0. Maps to P2292. Register 40516 maps to the same parameter. int16 1 % 0.01 RW Holding (FC03)
40019 18 PID proportional gainProportional_Gain_Group1 · Range 0.000 to 65.000. Maps to P2280. Register 40512 maps to the same parameter. uint16 1 0.001 RW Holding (FC03)
40020 19 PID integral gainIntegral_Gain_Group1 · Range 0 to 60. Maps to P2285. Register 40513 maps to the same parameter. uint16 1 s 1 RW Holding (FC03)
40021 20 PID differential gainDifferential_Gain_Group1 · Range 0 to 60. Maps to P2274. Register 40514 maps to the same parameter. uint16 1 1 RW Holding (FC03)
40022 21 PID feedback gainFeedback_Gain_Group1 · Range 0.00 to 500.00. Maps to P2269. Register 40511 maps to the same parameter. uint16 1 % 0.01 RW Holding (FC03)
40023 22 PID feedback low passLow_Pass_Group1 · Range 0.00 to 60.00. Maps to P2265. Register 40510 maps to the same parameter. uint16 1 0.01 RW Holding (FC03)
40024 23 Output frequencyFrequency_Output_Group1 · Range -327.68 to 327.67. Maps to r0024. int16 1 Hz 0.01 R Holding (FC03)
40025 24 SpeedSpeed_Group1 · Range -16250 to 16250. Maps to r0022. int16 1 RPM 1 R Holding (FC03)
40026 25 Output currentCurrent_Group1 · Range 0 to 163.83. Maps to r0027. uint16 1 A 0.01 R Holding (FC03)
40027 26 TorqueTorque_Group1 · Range -325.00 to 325.00. Maps to r0031. int16 1 Nm 0.01 R Holding (FC03)
40028 27 Actual powerActual_Power_Group1 · Range 0 to 327.67. Maps to r0032. uint16 1 kW 0.01 R Holding (FC03)
40029 28 Total energy consumptionTotal_kWh_Group1 · Range 0 to 32767. Maps to r0039. uint16 1 kWh 1 R Holding (FC03)
40030 29 DC bus voltageDC_Bus_Voltage_Group1 · Range 0 to 32767. Maps to r0026. uint16 1 V 1 R Holding (FC03)
40031 30 Frequency referenceReference_Group1 · Range -327.68 to 327.67. Maps to r0020. int16 1 Hz 0.01 R Holding (FC03)
40032 31 Rated powerRated_Power_Group1 · Range 0 to 327.67. Maps to r0206. uint16 1 kW 0.01 R Holding (FC03)
40033 32 Output voltageVoltage_Output_Group1 · Range 0 to 32767. Maps to r0025. uint16 1 V 1 R Holding (FC03)
40034 33 Forward/reverse stateForward_Reverse_State · FWD or REV. Maps to status word (ZSW) bit 14. The table prints the text for the two states on separate lines and does not state which value is which. uint16 1 1 R Holding (FC03)
40035 34 Stop/run stateStop_Run_State · STOP or RUN. Maps to status word (ZSW) bit 2. The table does not state which value is which. uint16 1 1 R Holding (FC03)
40036 35 Run at maximum frequencyRun_At_Max_Frequency · MAX or NO. Maps to status word (ZSW) bit 10. uint16 1 1 R Holding (FC03)
40037 36 Control modeControl_Mode · SERIAL or LOCAL. Maps to status word (ZSW) bit 9. uint16 1 1 R Holding (FC03)
40038 37 EnabledEnabled · ON or OFF. Maps to status word (ZSW) bit 0. uint16 1 1 R Holding (FC03)
40039 38 Ready to runReady_To_Run · READY or OFF. Maps to status word (ZSW) bit 1. uint16 1 1 R Holding (FC03)
40040 39 Analog input 1Analog_Input_1_Group1 · Range -300.0 to 300.0. Maps to r0754[0]. Register 40260 maps to the same parameter. int16 1 % 0.01 R Holding (FC03)
40041 40 Analog input 2Analog_Input_2_Group1 · Range -300.0 to 300.0. Maps to r0754[1]. Register 40261 maps to the same parameter. int16 1 % 0.01 R Holding (FC03)
40042 41 Analog output 1Analog_Output_1_Group1 · Range -100.0 to 100.0. Maps to r0774[0]. Register 40220 maps to the same parameter. int16 1 % 0.01 R Holding (FC03)
40044 43 Actual frequency, percent of reference frequencyActual_Frequency · Range -100.0 to 100.0. Maps to the actual speed (HIW) of the control data. int16 1 % 0.01 R Holding (FC03)
40045 44 PID setpoint outputPID_Setpoint_Output_Group1 · Range -100.0 to 100.0. Maps to r2250. Register 40520 maps to the same parameter. int16 1 % 0.01 R Holding (FC03)
40046 45 PID outputPID_Output_Group1 · Range -100.0 to 100.0. Maps to r2294. Register 40522 maps to the same parameter. int16 1 % 0.01 R Holding (FC03)
40047 46 PID feedbackPID_Feedback_Group1 · Range -100.0 to 100.0. Maps to r2266. Register 40521 maps to the same parameter. int16 1 % 0.01 R Holding (FC03)
40048 47 Digital input 1Digital_Input_1_Group1 · HIGH or LOW. Maps to r0722.0. Register 40240 maps to the same parameter. uint16 1 1 R Holding (FC03)
40049 48 Digital input 2Digital_Input_2_Group1 · HIGH or LOW. Maps to r0722.1. Register 40241 maps to the same parameter. uint16 1 1 R Holding (FC03)
40050 49 Digital input 3Digital_Input_3_Group1 · HIGH or LOW. Maps to r0722.2. Register 40242 maps to the same parameter. uint16 1 1 R Holding (FC03)
40051 50 Digital input 4Digital_Input_4_Group1 · HIGH or LOW. Maps to r0722.3. Register 40243 maps to the same parameter. uint16 1 1 R Holding (FC03)
40054 53 FaultFault_State · FAULT or OFF. Maps to status word (ZSW) bit 3. uint16 1 1 R Holding (FC03)
40055 54 Last fault codeLast_Fault · Range 0 to 32767. Maps to r0947[0]. uint16 1 1 R Holding (FC03)
40056 55 Fault code 1Fault_1_Group1 · Range 0 to 32767. Maps to r0947[1]. Registers 40400 to 40407 list faults 1 to 8 separately; the table prints r0947[0] for register 40400. uint16 1 1 R Holding (FC03)
40057 56 Fault code 2Fault_2_Group1 · Range 0 to 32767. Maps to r0947[2]. Registers 40400 to 40407 list faults 1 to 8 separately; the table prints r0947[0] for register 40400. uint16 1 1 R Holding (FC03)
40058 57 Fault code 3Fault_3_Group1 · Range 0 to 32767. Maps to r0947[3]. Registers 40400 to 40407 list faults 1 to 8 separately; the table prints r0947[0] for register 40400. uint16 1 1 R Holding (FC03)
40059 58 WarningWarning_State · WARN or OK. Maps to status word (ZSW) bit 7. uint16 1 1 R Holding (FC03)
40060 59 Last warning codeLast_Warning · Range 0 to 32767. Maps to r2110. uint16 1 1 R Holding (FC03)
40061 60 Inverter versionInverter_Version_Group1 · Range 0.00 to 327.67. Maps to r0018. Register 40301 maps to the same parameter. uint16 1 0.01 R Holding (FC03)
40062 61 Inverter modelInverter_Model_Group1 · Range 0 to 32767. Maps to r0201. Register 40300 maps to the same parameter. uint16 1 1 R Holding (FC03)
40100 99 Control word STW (process data 1)Control_Word · Process data word 1 received from the master. Bits used by the table: 0 start, 3 run enable, 7 fault acknowledge, 11 forward/reverse. See r2018 and P2019 in the parameter list for the control data. bitfield16 1 1 RW Holding (FC03)
40101 100 Speed setpoint HSW (process data 2)Speed_Setpoint · Process data word 2. The table gives scaling factor 1 and no range. Register 40003 maps to the same setpoint with a scaling factor of 100 in percent. int16 1 1 RW Holding (FC03)
40110 109 Status word ZSW (process data 1)Status_Word · Process data word 1 sent to the master. Bits used by the table: 0 enabled, 1 ready to run, 2 stop/run, 3 fault, 7 warning, 9 control mode, 10 run at maximum frequency, 14 forward/reverse. bitfield16 1 1 R Holding (FC03)
40111 110 Actual speed HIW (process data 2)Actual_Speed · Process data word 2. The table gives scaling factor 1 and no range. Register 40044 maps to the same value in percent. int16 1 1 R Holding (FC03)
40200 199 Digital output 1Digital_Output_1 · HIGH or LOW. Read value comes from r0747.0; a write of 0 or 1 sets BICO parameter P0731 to that fixed value and removes its previous connection. uint16 1 1 RW Holding (FC03)
40201 200 Digital output 2Digital_Output_2 · HIGH or LOW. Read value comes from r0747.1; a write of 0 or 1 sets BICO parameter P0732 to that fixed value. uint16 1 1 RW Holding (FC03)
40220 219 Analog output 1Analog_Output_1 · Range -100.0 to 100.0. Maps to r0774[0]. int16 1 % 0.01 R Holding (FC03)
40240 239 Digital input 1Digital_Input_1 · HIGH or LOW. Maps to r0722.0. uint16 1 1 R Holding (FC03)
40241 240 Digital input 2Digital_Input_2 · HIGH or LOW. Maps to r0722.1. uint16 1 1 R Holding (FC03)
40242 241 Digital input 3Digital_Input_3 · HIGH or LOW. Maps to r0722.2. uint16 1 1 R Holding (FC03)
40243 242 Digital input 4Digital_Input_4 · HIGH or LOW. Maps to r0722.3. uint16 1 1 R Holding (FC03)
40260 259 Analog input 1Analog_Input_1 · Range -300.0 to 300.0. Maps to r0754[0]. int16 1 % 0.01 R Holding (FC03)
40261 260 Analog input 2Analog_Input_2 · Range -300.0 to 300.0. Maps to r0754[1]. int16 1 % 0.01 R Holding (FC03)
40300 299 Inverter modelInverter_Model · Range 0 to 32767. Maps to r0201. uint16 1 1 R Holding (FC03)
40301 300 Inverter versionInverter_Version · Range 0.00 to 327.67. Maps to r0018. uint16 1 0.01 R Holding (FC03)
40320 319 Rated powerRated_Power · Range 0 to 327.67. Maps to r0206. uint16 1 kW 0.01 R Holding (FC03)
40321 320 Current limitCurrent_Limit_Setting · Range 10.0 to 400.0. Maps to P0640. uint16 1 % 0.1 RW Holding (FC03)
40322 321 Acceleration timeAcceleration_Time_Setting · Range 0.00 to 650.0. Maps to P1120. uint16 1 s 0.01 RW Holding (FC03)
40323 322 Deceleration timeDeceleration_Time_Setting · Range 0.00 to 650.0. Maps to P1121. uint16 1 s 0.01 RW Holding (FC03)
40324 323 Reference frequencyReference_Frequency · Range 1.00 to 650.0. Maps to P2000. uint16 1 Hz 0.01 RW Holding (FC03)
40340 339 Frequency referenceReference · Range -327.68 to 327.67. Maps to r0020. int16 1 Hz 0.01 R Holding (FC03)
40341 340 SpeedSpeed · Range -16250 to 16250. Maps to r0022. int16 1 RPM 1 R Holding (FC03)
40342 341 Output frequencyFrequency_Output · Range -327.68 to 327.67. Maps to r0024. int16 1 Hz 0.01 R Holding (FC03)
40343 342 Output voltageVoltage_Output · Range 0 to 32767. Maps to r0025. uint16 1 V 1 R Holding (FC03)
40344 343 DC bus voltageDC_Bus_Voltage · Range 0 to 32767. Maps to r0026. uint16 1 V 1 R Holding (FC03)
40345 344 Output currentCurrent · Range 0 to 163.83. Maps to r0027. uint16 1 A 0.01 R Holding (FC03)
40346 345 TorqueTorque · Range -325.00 to 325.00. Maps to r0031. int16 1 Nm 0.01 R Holding (FC03)
40347 346 Actual powerActual_Power · Range 0 to 327.67. Maps to r0032. uint16 1 kW 0.01 R Holding (FC03)
40348 347 Total energy consumptionTotal_kWh · Range 0 to 32767. Maps to r0039. uint16 1 kWh 1 R Holding (FC03)
40349 348 Hand/autoHand_Auto · HAND or AUTO. Maps to r0807. The table does not state which value is which. uint16 1 1 R Holding (FC03)
40400 399 Fault code 1Fault_1 · Range 0 to 32767. Maps to r0947[0]. uint16 1 1 R Holding (FC03)
40401 400 Fault code 2Fault_2 · Range 0 to 32767. Maps to r0947[1]. uint16 1 1 R Holding (FC03)
40402 401 Fault code 3Fault_3 · Range 0 to 32767. Maps to r0947[2]. uint16 1 1 R Holding (FC03)
40403 402 Fault code 4Fault_4 · Range 0 to 32767. Maps to r0947[3]. uint16 1 1 R Holding (FC03)
40404 403 Fault code 5Fault_5 · Range 0 to 32767. Maps to r0947[4]. uint16 1 1 R Holding (FC03)
40405 404 Fault code 6Fault_6 · Range 0 to 32767. Maps to r0947[5]. uint16 1 1 R Holding (FC03)
40406 405 Fault code 7Fault_7 · Range 0 to 32767. Maps to r0947[6]. uint16 1 1 R Holding (FC03)
40407 406 Fault code 8Fault_8 · Range 0 to 32767. Maps to r0947[7]. uint16 1 1 R Holding (FC03)
40408 407 Warning codeWarning · Range 0 to 32767. Maps to r2110[0]. uint16 1 1 R Holding (FC03)
40499 498 Parameter error codeParameter_Error_Code · Range 0 to 254. uint16 1 1 R Holding (FC03)
40500 499 PID enablePID_Enable_Setting · Range 0 to 1. Read value comes from r0055.8; a write sets BICO parameter P2200 to a fixed 0 or 1. uint16 1 1 RW Holding (FC03)
40501 500 PID setpoint referencePID_Setpoint_Reference_Setting · Range -200.0 to 200.0. Maps to P2240. int16 1 % 0.01 RW Holding (FC03)
40510 509 PID feedback low passPID_Low_Pass · Range 0.00 to 60.0. Maps to P2265. uint16 1 0.01 RW Holding (FC03)
40511 510 PID feedback gainPID_Feedback_Gain · Range 0.00 to 500.00. Maps to P2269. uint16 1 % 0.01 RW Holding (FC03)
40512 511 PID proportional gainPID_Proportional_Gain · Range 0.000 to 65.000. Maps to P2280. uint16 1 0.001 RW Holding (FC03)
40513 512 PID integral gainPID_Integral_Gain · Range 0 to 60. Maps to P2285. uint16 1 s 1 RW Holding (FC03)
40514 513 PID differential gainPID_Differential_Gain · Range 0 to 60. Maps to P2274. uint16 1 1 RW Holding (FC03)
40515 514 PID upper limitPID_Upper_Limit · Range -200.0 to 200.0. Maps to P2291. int16 1 % 0.01 RW Holding (FC03)
40516 515 PID lower limitPID_Lower_Limit · Range -200.0 to 200.0. Maps to P2292. int16 1 % 0.01 RW Holding (FC03)
40520 519 PID setpoint outputPID_Setpoint_Output · Range -100.0 to 100.0. Maps to r2250. int16 1 % 0.01 R Holding (FC03)
40521 520 PID feedbackPID_Feedback · Range -100.0 to 100.0. Maps to r2266. int16 1 % 0.01 R Holding (FC03)
40522 521 PID outputPID_Output · Range -100.0 to 100.0. Maps to r2294. int16 1 % 0.01 R Holding (FC03)
40550 549 Parameter number for indirect parameter accessParameter_Number · Range 0 to 65535. The manual does not describe the access procedure for registers 40550 to 40559. uint16 1 1 RW Holding (FC03)
40551 550 Parameter index for indirect parameter accessParameter_Index · Range 0 to 65535. uint16 1 1 RW Holding (FC03)
40554 553 Parameter value upper word (RW)Parameter_Value_Upper_Word_RW · Range 0 to 65535. The manual does not describe how the upper and lower words are formed. uint16 1 1 RW Holding (FC03)
40555 554 Parameter value lower word (RW)Parameter_Value_Lower_Word_RW · Range 0 to 65535. uint16 1 1 RW Holding (FC03)
40558 557 Parameter value upper word (RO)Parameter_Value_Upper_Word_RO · Range 0 to 65535. Printed as RO. uint16 1 1 R Holding (FC03)
40559 558 Parameter value lower word (RO)Parameter_Value_Lower_Word_RO · Range 0 to 65535. Printed as RO. uint16 1 1 R Holding (FC03)

Scale is the number to multiply the raw value by to get the unit.

Open in Modbus Poll

  1. Download the Modbus Poll blocks file.
  2. Open Modbus Poll, connect to the device and set its unit ID. The manual does not state the word order for 32-bit values. Check one known value (a voltage or a counter) and switch the setting if it reads wrong.
  3. In the blocks panel on the right, click Import CSV and pick the file. CSV import is a Pro feature. Without Pro, Modbus Poll polls the first 20 values of your blocks.
  4. The wire addresses are already in the file, so there is no 0-based or 1-based conversion to do.

Once the values look right, export the tag list to Ignition, Kepware, Node-RED, Home Assistant or Voltrus SCADA.

Source and accuracy

Manufacturer document: SINAMICS V20 Inverter Operating Instructions (cache.industry.siemens.com)

A5E34559884-006, 11/2016 (Siemens-hosted copy, chapter 7.2 MODBUS communication), p. 170-178. Read on 2026-10-24.

Also used: SINAMICS V20 Operating Instructions, Entry ID 109824500 (later edition, online help) (support.industry.siemens.com)

Addresses, types, units and scale are taken from the document above. Names and descriptions are written by Voltrus. Firmware versions can differ, so confirm a value on your own device before you rely on it.

Found a mistake? Report it by email with the register address and the manual page.

More from Siemens

All Siemens register maps

Other variable frequency drives

All register maps · Modbus addressing explained