Danfoss VLT AutomationDrive FC 302 Modbus register map
VLT AutomationDrive FC 302 over the built-in RS485 port, Modbus RTU with the FC control profile
- Official
- 88 registers
- Modbus RTU
- Revision 1 · 2026-11-10
- Identity: serial number
Official: Written from the manufacturer's documentation, but not tested on a device yet. Check the map against the manufacturer's documentation before you write to a live device. Tested it? Report a test.
Communication
- Protocol
- Modbus RTU
- Unit ID
- 1
- Serial
- 9600 8E1 · 9600 baud, 8 data bits, even parity, 1 stop bit
- Byte / word order
- ABCD · bytes big-endian, words high first
- Addresses
- 1-based · wire address = address − 1
Connection values are defaults: the device may be configured differently.
Map
- Registers
- 88 holding registers
- Groups
- 10
- Translation tables
- 4
- Revision
- 1 · 2026-11-10
- Added
- ()
- File
- maps/danfoss/fc-302.mbmap.json · 20 KB · history
- SHA-256
- 939f4af463b7ad00afe2681240fd66c00fb019968d70221e1a70eb41e3f29c9e
- Manufacturer
- danfoss.com
Device identity
What a tool can read to check that this map fits the connected device (SPEC.md section 4.7). Registers with a role are read like any other register.
| Role | Register | Address | Type | Values |
|---|---|---|---|---|
| Serial number | 15-51 Frequency Converter Serial Number | holding 15510 | string[5] |
Sources and notes
- Modbus RTU Operating Instruction · version MG92B102 linked in issue #187; chapters 4 to 7 (register addressing, parameter handling, FC profile)
- VLT AutomationDrive FC 301/FC 302 Programming Guide, software versions 9.5x and 48.96 · version AU275636650261en-003201, 2024-09 linked in issue #187; parameter descriptions 1-, 3-, 4-, 8-, 15- and 16- (data type, conversion index, options)
Source: Danfoss, "Modbus RTU Operating Instruction", MG92B102 (FC series, software 6.4x) and "VLT AutomationDrive FC 301/FC 302 Programming Guide", AU275636650261en-003201 (2024.09, software 9.5x and 48.96)
- The register scheme is the one of the FC 102 map: the holding register of parameter x-yy is 10 times its number (3-41 is register 3410, 16-14 is register 16140, 8-30 is register 8300). The guide counts registers from 1 and the bus address is one less, so this map uses address_base 1.
- Control word, bus reference, status word and main actual value are registers 50000, 50010, 50200 and 50210; the PCD blocks at 2810 and 2910 start with the same words. Registers 2812 to 2873 and 2912 to 2973 hold parameters chosen in 8-42 and 8-43 and are not in this map.
- Array parameters (3-10, 15-30) need the index in register 9 first. A 32-bit parameter uses two registers, high word first.
- Coil 65 chooses whether written parameters go to RAM only (0) or to RAM and EEPROM (1). The control word, reference, status word and output frequency are also coils 1 to 64; they are not in this map.
- To enable Modbus: 8-30 Protocol = Modbus RTU, 8-31 Address 1 to 247, 8-32 baud rate, 8-33 parity (even parity with 1 stop bit by default). The Modbus guide lists 2400 to 19200 baud, the Programming Guide 2400 to 115200; all of them are in the table. The default baud rate is not stated for Modbus; 9600 is a placeholder.
- The Modbus RTU Operating Instruction describes the whole FC series (software 6.4x) and does not name the FC 302; the Programming Guide for software 9.5x and 48.96 is used for the parameter sizes and scaling. The FC 301 shares this guide and scheme but is not listed as a model.
- Parameters whose conversion index is one of the special values 67, 74, 75 or 100 (speed in RPM, hours, kWh counter, temperatures) and the power in kW 16-10 are left out because the guide does not explain how to scale them. Text parameters are limited to the serial number.
- Written from the manufacturer's documents; not tested on a device.
| Area | Address | Name | Type | Access | Unit | Scale | Description |
|---|---|---|---|---|---|---|---|
| HR | 7 | uint16 | R | Last error code from the FC data object interface | |||
| HR | 9 | uint16 | RW | Index used for the next access to an array parameter (for example 3-10 or 15-30); set it before reading or writing one, then set it back to 0 | |||
| HR | 50000 | uint16 | RW | FC profile control word (8-10 Control Word Profile = FC profile) | |||
| HR | 50000 | uint16 bits 0–1 | RW | Chooses one of the four values of 3-10 Preset Reference (bits 0 and 1) | |||
| HR | 50000 | bool bit 2 | RW | 0 = DC brake and stop, 1 = ramp | |||
| HR | 50000 | bool bit 3 | RW | 0 = coast to a stop, 1 = no coasting | |||
| HR | 50000 | bool bit 4 | RW | 0 = quick stop, 1 = ramp | |||
| HR | 50000 | bool bit 5 | RW | 0 = hold the present output frequency, 1 = use the ramp | |||
| HR | 50000 | bool bit 6 | RW | 0 = ramp stop, 1 = start | |||
| HR | 50000 | bool bit 7 | RW | Reset a trip on the rising edge | |||
| HR | 50000 | bool bit 8 | RW | 1 = run at the jog speed (3-11) | |||
| HR | 50000 | bool bit 9 | RW | 0 = ramp 1, 1 = ramp 2 | |||
| HR | 50000 | bool bit 10 | RW | 1 = the drive uses the control word, 0 = it ignores it | |||
| HR | 50000 | bool bit 11 | RW | 1 = relay 01 on, if 5-40 Function Relay selects control word bit 11 | |||
| HR | 50000 | bool bit 12 | RW | 1 = relay 02 on, if 5-40 Function Relay selects control word bit 12 | |||
| HR | 50000 | bool bit 13 | RW | 0 = set-up 1, 1 = set-up 2 (only with 0-10 Active Set-up = Multi set-up) | |||
| HR | 50000 | bool bit 15 | RW | 1 = reverse (acts only if 8-54 Reversing Select allows the bus) | |||
| HR | 50010 | int16 | RW | % | ×0.006103515625 | Speed reference in percent of the maximum reference (3-03): 16384 (4000 hex) = 100%, negative values in two's complement. Scale is 100/16384 | |
| HR | 50200 | uint16 | R | FC profile status word | |||
| HR | 50200 | bool bit 0 | R | 0 = control not ready, 1 = control ready | |||
| HR | 50200 | bool bit 1 | R | 0 = not ready, 1 = ready for operation | |||
| HR | 50200 | bool bit 2 | R | 0 = coasting, 1 = enabled | |||
| HR | 50200 | bool bit 3 | R | 1 = the drive has tripped | |||
| HR | 50200 | bool bit 4 | R | 1 = error without a trip | |||
| HR | 50200 | bool bit 6 | R | 1 = tripped and locked | |||
| HR | 50200 | bool bit 7 | R | 1 = a warning is active | |||
| HR | 50200 | bool bit 8 | R | 0 = speed differs from the reference, 1 = speed matches the reference | |||
| HR | 50200 | bool bit 9 | R | 0 = local operation, 1 = the drive can be controlled over the bus | |||
| HR | 50200 | bool bit 10 | R | 0 = output frequency at a speed limit (4-12 or 4-14), 1 = within limits | |||
| HR | 50200 | bool bit 11 | R | 0 = motor not running, 1 = in operation | |||
| HR | 50200 | bool bit 12 | R | 1 = stopped for temporary overtemperature, resumes by itself | |||
| HR | 50200 | bool bit 13 | R | 1 = DC link voltage too low or too high | |||
| HR | 50200 | bool bit 14 | R | 1 = the current limit is exceeded | |||
| HR | 50200 | bool bit 15 | R | 1 = a motor or drive thermal timer has passed 100% | |||
| HR | 50210 | int16 | R | % | ×0.006103515625 | Actual output frequency, scaled like the bus reference: 16384 (4000 hex) = 100%. Scale is 100/16384 | |
| HR | 2810 | uint16 | RW | Same control word as register 50000, first register of the PCD write block (8-42 PCD write configuration) | |||
| HR | 2811 | int16 | RW | % | ×0.006103515625 | Same bus reference as register 50010 (16384 = 100%), second register of the PCD write block | |
| HR | 2910 | uint16 | R | Same status word as register 50200, first register of the PCD read block (8-43 PCD read configuration) | |||
| HR | 2911 | int16 | R | % | ×0.006103515625 | Same main actual value as register 50210 (16384 = 100%), second register of the PCD read block | |
| HR | 16010 | int32 ABCD | R | ×0.001 | Present reference in the unit set by 1-00 Configuration Mode (Hz, Nm or RPM) | ||
| HR | 16020 | int16 | R | % | ×0.1 | ||
| HR | 16050 | int16 | R | % | ×0.01 | ||
| HR | 16110 | int32 ABCD | R | hp | ×0.01 | ||
| HR | 16120 | uint16 | R | V | ×0.1 | ||
| HR | 16130 | uint16 | R | Hz | ×0.1 | ||
| HR | 16140 | int32 ABCD | R | A | ×0.01 | ||
| HR | 16150 | int16 | R | % | ×0.01 | ||
| HR | 16160 | int16 | R | Nm | ×0.1 | ||
| HR | 16180 | uint16 | R | % | One-byte parameter, read as a register | ||
| HR | 16300 | uint16 | R | V | |||
| HR | 16350 | uint16 | R | % | One-byte parameter, read as a register | ||
| HR | 16360 | uint32 ABCD | R | A | ×0.01 | ||
| HR | 16370 | uint32 ABCD | R | A | ×0.01 | ||
| HR | 16600 | uint16 | R | Bit pattern of the digital inputs | |||
| HR | 16620 | int32 ABCD | R | ×0.001 | Voltage or current, depending on the switch setting of terminal 53 | ||
| HR | 16640 | int32 ABCD | R | ×0.001 | Voltage or current, depending on the switch setting of terminal 54 | ||
| HR | 16650 | int16 | R | mA | ×0.001 | ||
| HR | 16710 | int16 | R | Bit pattern of the relay outputs | |||
| HR | 16900 | uint32 ABCD | R | Alarm word as a bit pattern (bits are in the Programming Guide) | |||
| HR | 16920 | uint32 ABCD | R | Warning word as a bit pattern (bits are in the Programming Guide) | |||
| HR | 16940 | uint32 ABCD | R | ||||
| HR | 15030 | uint32 ABCD | R | ||||
| HR | 15040 | uint16 | R | ||||
| HR | 15050 | uint16 | R | ||||
| HR | 15300 | uint16 | R | Array of 10 entries; set the index in register 9 first | |||
| HR | 15510 | string[5] | R | 10 characters | |||
| HR | 1220 | uint16 | RW | V | |||
| HR | 1230 | uint16 | RW | Hz | |||
| HR | 1240 | uint32 ABCD | RW | A | ×0.01 | ||
| HR | 3020 | int32 ABCD | RW | ×0.001 | |||
| HR | 3030 | int32 ABCD | RW | ×0.001 | |||
| HR | 3100 | int16 | RW | % | ×0.01 | Array of 8 values; set the index in register 9 first | |
| HR | 3410 | uint32 ABCD | RW | s | ×0.01 | ||
| HR | 3420 | uint32 ABCD | RW | s | ×0.01 | ||
| HR | 3800 | uint32 ABCD | RW | s | ×0.01 | ||
| HR | 3810 | uint32 ABCD | RW | s | ×0.01 | ||
| HR | 4120 | uint16 | RW | Hz | ×0.1 | ||
| HR | 4140 | uint16 | RW | Hz | ×0.1 | ||
| HR | 4160 | uint16 | RW | % | ×0.1 | ||
| HR | 4170 | uint16 | RW | % | ×0.1 | ||
| HR | 4180 | uint32 ABCD | RW | % | ×0.1 | ||
| HR | 4190 | uint16 | RW | Hz | ×0.1 | ||
| HR | 8030 | uint32 ABCD | RW | s | ×0.1 | ||
| HR | 8100 | uint16 | RW | One-byte parameter, written as a register. The FC profile is the one the control and status word bits in this map follow | |||
| HR | 8300 | uint16 | RW | Takes effect after the drive is powered off and on | |||
| HR | 8310 | uint16 | RW | ||||
| HR | 8320 | uint16 | RW | ||||
| HR | 8330 | uint16 | RW |
No registers match
Try part of the name, an address (decimal or 0x hex) or clear the filters.
Help improve this map
- I tested it on a deviceReport whether it worked, even if you did not write the map.
- Suggest a correctionEdit the file on GitHub; it opens a pull request.
- Report a problemA wrong address, type, scale or byte order.
- Read the formatWhat each key of the file means (SPEC.md).