- Home
- Modbus register maps
- Danfoss VACON
- VACON 100 family (built-in Modbus RTU / Modbus TCP)
Variable frequency drive · Modbus register map
Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP) Modbus register map
Updated 24 October 2026
Danfoss VACON's general purpose and flow-application variable frequency drive family, with Modbus RTU on the RS-485 terminals and Modbus TCP/UDP on the Ethernet port as standard. Fieldbus process data sits at 2001-2011 (control word, speed reference, process data in) and 2101-2111 (status word, actual speed, eight monitoring values), and every application parameter or monitor can be read directly by its ID number. This map covers the process data, key monitoring IDs, control-place parameters and the Modbus RTU/TCP settings.
This page lists 78 Modbus registers for the Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP) — 26 writable — with the table, 0-based wire address, data type, word order, scale, units and access of each, re-typed from Danfoss VACON’s own free documentation (linked below) and checked against it.
- Manufacturer
- Danfoss VACON
- Model
- VACON 100 family (built-in Modbus RTU / Modbus TCP)
- Equipment type
- Variable frequency drive
- Registers
- 78 (26 writable)
- Transport
- Modbus RTU, Modbus TCP
- Default unit ID
- 1
- Default serial
- 9600 baud, 8E1
- Documented addressing
- 1-based (subtract 1 for the wire address)
- 32-bit word order
- ABCD high word first (big-endian)
- Firmware
- Application IDs per VACON 100 INDUSTRIAL software FW0072V037 (application guide DPD00927L)
- Also known as
- VACON 100 INDUSTRIAL, VACON 100 FLOW, VACON 100 HVAC, VACON 100 X, VACON0100
Integration notes: Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP)
Enable Modbus RTU with ID 2208 = 1 (Modbus TCP is always on), set Remote control place ID 172 = 1, then write FB control word 2001 (1 = run) and FB speed reference 2003 (0-10000 = 0-100 % of min-max frequency) and poll 2101-2111 for status, actual speed, frequency, current and fault code. Every register number in the manual is 1-based: subtract 1 on the wire.
Minimum registers to map
Addresses are 0-based wire addresses. Enough to monitor and run the unit; map more as the job needs.
| Register | Name | Type | Why | Access |
|---|---|---|---|---|
| HR 2000 | FB control word | BITMAP16 | FB control word: run, direction, fault reset | Read/write |
| HR 2002 | FB speed reference | UINT16 | FB speed reference, 0.01 % of min-max range | Read/write |
| HR 2100 | FB status word | BITMAP16 | FB status word: ready/run/fault/alarm | Read |
| HR 2103 | Process data out 1 (output frequency) | UINT16 | Output frequency, 0.01 Hz | Read |
| HR 44 | Motor current 1 decimal | UINT16 | Motor current, 0.1 A (ID 45) | Read |
| HR 2109 | Process data out 7 (DC link voltage) | UINT16 | DC link voltage | Read |
| HR 2110 | Process data out 8 (active fault code) | UINT16 | Active fault code | Read |
| HR 171 | Remote control place | UINT16 | ID 172 remote control place (1 = fieldbus) | Read/write |
Enable Modbus control & writes
Modbus RTU: set P5.8.1.1 RS-485 protocol (ID 2208) = Modbus RTU, after which its settings appear under P5.8.3 (slave address ID 2320, baud ID 2378, parity ID 2379, stop bits ID 2380, time-out ID 2321). Modbus TCP/UDP is always enabled; set the IP mode and address under P5.9.1. For control set Remote control place P3.2.1 (ID 172) = Fieldbus control, Local/remote (ID 211) = Remote, and leave Fieldbus control reference selection (ID 122) = 3 Fieldbus. Control word bits 8/9 can also force fieldbus control and reference.
Communication loss & watchdog
RTU: ID 2321 communication time-out (seconds, default 10, 0 = off). TCP/UDP: ID 2448 time-out (seconds, default 10); a connection can also set its own timeout at register 40501. The reaction is ID 733 Response to fieldbus communication fault (default 3 = fault, stop per stop function); the fault is code 53 Fieldbus communication fault.
Byte order & addressing
- The manual's register numbers are 1-based: control word 2001 goes on the wire as 2000 (07D0h), as the manual's own write example shows; ID n is wire n-1.
- 16-bit process data at 2001/2101 carries only the low half of the 32-bit control and status words; the full words are at 2051-2052 and 2151-2152, high word first.
- FB speed reference and FB actual speed are 0-10000 = 0-100.00 % of the min-to-max frequency span, not Hz (manual example: 5000 = 25.00 Hz with 0-50 Hz limits).
- Holding and input registers return the same data at the same address; coils and discrete inputs (control/status bits) work on Modbus TCP/UDP only.
- TCP unit identifier defaults to 255 and is checked on TCP as well as UDP.
Network setup
- RS-485 on the standard terminal block terminals A and B (A = negative, B = positive); ground the cable shield with the supplied clamp.
- Set the RS-485 termination DIP switch (next to the keypad) to ON on the first and last device on the bus; biasing is built into the termination.
- RTU defaults: slave address 1, 9600 baud, even parity; 300 to 230400 baud supported.
- Ethernet: DHCP by default; switching to Fixed gives 192.168.0.10 / 255.255.0.0 / gateway 192.168.0.1. Up to three Modbus TCP/UDP connections.
- UDP is supported from firmware FW0072V025 (INDUSTRIAL / 100 X), FW0159V016 (FLOW) and FW0065V035 (HVAC); use UDP for cyclic process data and TCP for parameter reads/writes.
Watch out for
- Updating the control unit firmware restores defaults, which usually puts the control place back to I/O.
- Unused control word bits must be written as 0; on 100 HVAC bits 5, 7 and 10-12 are not supported.
- Reading 30 consecutive IDs fails with Illegal Data Address if any one ID in the range does not exist.
- Exception 04 (slave device failure) is returned for an invalid register count, as in the manual's example.
- Broadcast works only with function codes 06 and 16 on RTU and UDP, never on TCP.
Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP) 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.
| Table | Address | Name | Description | Type | Order | Scale | Units | Access | Values / bits |
|---|---|---|---|---|---|---|---|---|---|
| CO | 0doc 0001 | Run/stop (control word bit 0) | Modbus TCP/UDP only. | BIT | Read/write | ||||
| CO | 1doc 0002 | Direction (control word bit 1) | Modbus TCP/UDP only. | BIT | Read/write | ||||
| CO | 2doc 0003 | Fault reset (control word bit 2) | Modbus TCP/UDP only. | BIT | Read/write | ||||
| CO | 16doc 0017 | Reset operation days trip counter | Write 1 to clear. Modbus TCP/UDP only. | BIT | Write | ||||
| CO | 17doc 0018 | Reset energy trip counter | Write 1 to clear. Modbus TCP/UDP only. | BIT | Write | ||||
| DI | 0doc 10001 | Ready (status word bit 0) | Modbus TCP/UDP only. | BIT | Read | ||||
| DI | 1doc 10002 | Run (status word bit 1) | Modbus TCP/UDP only. | BIT | Read | ||||
| DI | 2doc 10003 | Direction (status word bit 2) | Modbus TCP/UDP only. | BIT | Read | ||||
| DI | 3doc 10004 | Fault (status word bit 3) | Modbus TCP/UDP only. | BIT | Read | ||||
| DI | 4doc 10005 | Alarm (status word bit 4) | Modbus TCP/UDP only. | BIT | Read | ||||
| DI | 5doc 10006 | At reference (status word bit 5) | Modbus TCP/UDP only. | BIT | Read | ||||
| DI | 6doc 10007 | Zero speed (status word bit 6) | Modbus TCP/UDP only. | BIT | Read | ||||
| DI | 7doc 10008 | Flux ready (status word bit 7) | Modbus TCP/UDP only. | BIT | Read | ||||
| HR | 0doc ID 1 (register 1) | Output frequency | INT16 | × 0.01 | Hz | Read | |||
| HR | 1doc ID 2 (register 2) | Motor speed | INT16 | rpm | Read | ||||
| HR | 2doc ID 3 (register 3) | Motor current | Scale varies with drive size; use ID 45 for fixed 0.1 A. | UINT16 | Read | ||||
| HR | 3doc ID 4 (register 4) | Motor torque | INT16 | × 0.1 | % | Read | |||
| HR | 4doc ID 5 (register 5) | Motor shaft power | INT16 | × 0.1 | % | Read | |||
| HR | 5doc ID 6 (register 6) | Motor voltage | UINT16 | × 0.1 | V | Read | |||
| HR | 6doc ID 7 (register 7) | DC link voltage | UINT16 | V | Read | ||||
| HR | 7doc ID 8 (register 8) | Unit temperature | INT16 | × 0.1 | °C | Read | |||
| HR | 8doc ID 9 (register 9) | Motor temperature | INT16 | × 0.1 | % | Read | |||
| HR | 17doc ID 18 (register 18) | Torque reference | INT16 | × 0.1 | % | Read | |||
| HR | 22doc ID 23 (register 23) | PID1 output | INT16 | × 0.01 | % | Read | |||
| HR | 23doc ID 24 (register 24) | PID1 status | UINT16 | Read | 0 = Stopped; 1 = Running; 3 = Sleep mode; 4 = In dead band | ||||
| HR | 24doc ID 25 (register 25) | Frequency reference | INT16 | × 0.01 | Hz | Read | |||
| HR | 36doc ID 37 (register 37) | Last active fault code | 53 = fieldbus communication fault. | UINT16 | Read | ||||
| HR | 42doc ID 43 (register 43) | Drive status word | Bit numbers as printed in the application guide. | BITMAP16 | Read | bit 1 = Ready; bit 2 = Run; bit 3 = Fault; bit 6 = Run enable; bit 7 = Alarm active; bit 10 = DC current in stop; bit 11 = DC brake active; bit 12 = Run request; bit 13 = Motor regulator active; bit 15 = Brake chopper active | |||
| HR | 44doc ID 45 (register 45) | Motor current 1 decimal | Fixed 0.1 A resolution regardless of drive size. | UINT16 | × 0.1 | A | Read | ||
| HR | 58doc ID 59 (register 59) | Analog input 1 | Slot A.1 by default. | INT16 | × 0.01 | % | Read | ||
| HR | 59doc ID 60 (register 60) | Analog input 2 | Slot A.2 by default. | INT16 | × 0.01 | % | Read | ||
| HR | 73doc ID 74 (register 74) | Last active alarm code | UINT16 | Read | |||||
| HR | 76doc ID 77 (register 77) | Motor regulator status | BITMAP16 | Read | bit 0 = Current limit (motor); bit 1 = Current limit (generator); bit 2 = Torque limit (motor); bit 3 = Torque limit (generator); bit 4 = Overvoltage control; bit 5 = Undervoltage control; bit 6 = Power limit (motor); bit 7 = Power limit (generator) | ||||
| HR | 77doc ID 78 (register 78) | Ready status | Conditions needed before the drive is ready. | BITMAP16 | Read | bit 0 = Run enable high; bit 1 = No fault active; bit 2 = Charge switch closed; bit 3 = DC voltage within limits; bit 4 = Power manager initialised; bit 5 = Power unit not blocking start; bit 6 = System software not blocking start | |||
| HR | 88doc ID 89 (register 89) | Application status word 1 | BITMAP16 | Read | bit 0 = Interlock 1; bit 1 = Interlock 2; bit 3 = Ramp 2 active; bit 4 = Mechanical brake control; bit 5 = I/O A control active; bit 6 = I/O B control active; bit 7 = Fieldbus control active; bit 8 = Local control active; bit 9 = PC control active; bit 10 = Preset frequencies active; bit 11 = Jogging active; bit 12 = Fire mode active; bit 13 = Motor preheat active; bit 14 = Quick stop active; bit 15 = Drive stopped from keypad | ||||
| HR | 94doc ID 95 (register 95) | Last active fault ID | UINT16 | Read | |||||
| HR | 102doc ID 103 (register 103) | Acceleration time 1 | 0.1-300.0 s. | UINT16 | × 0.1 | s | Read/write | ||
| HR | 103doc ID 104 (register 104) | Deceleration time 1 | 0.1-300.0 s. | UINT16 | × 0.1 | s | Read/write | ||
| HR | 121doc ID 122 (register 122) | Fieldbus control reference selection | Reference used in fieldbus control place (default 3). | UINT16 | Read/write | 1 = Preset frequency 0; 2 = Keypad reference; 3 = Fieldbus; 4 = AI1; 5 = AI2; 6 = AI1+AI2; 7 = PID reference; 8 = Motor potentiometer; 9 = Joystick reference; 10 = Jogging reference; 11 = Block Out.1; 12 = Block Out.2; 13 = Block Out.3; 14 = Block Out.4; 15 = Block Out.5; 16 = Block Out.6; 17 = Block Out.7; 18 = Block Out.8; 19 = Block Out.9; 20 = Block Out.10 | |||
| HR | 171doc ID 172 (register 172) | Remote control place | Set 1 so the drive takes start/stop from fieldbus. | UINT16 | Read/write | 0 = I/O control; 1 = Fieldbus control | |||
| HR | 210doc ID 211 (register 211) | Local/remote | UINT16 | Read/write | 0 = Remote; 1 = Local | ||||
| HR | 504doc ID 505 (register 505) | Start function | UINT16 | Read/write | 0 = Ramping; 1 = Flying start | ||||
| HR | 505doc ID 506 (register 506) | Stop function | UINT16 | Read/write | 0 = Coasting; 1 = Ramping | ||||
| HR | 732doc ID 733 (register 733) | Response to fieldbus communication fault | Default 3. | UINT16 | Read/write | 0 = No action; 1 = Alarm; 2 = Alarm + preset fault frequency; 3 = Fault (stop according to stop function); 4 = Fault (stop by coasting) | |||
| HR | 887doc ID 888 (register 888) | FB sign of actual | Sign used for FB actual speed (2103). | UINT16 | Read/write | 0 = Positive; 1 = Actual direction; 2 = Follow reference | |||
| HR | 1494doc ID 1495 (register 1495) | Frequency reference source | Where the active frequency reference comes from. | UINT16 | Read | 0 = PC; 1 = Preset freqs; 2 = Keypad reference; 3 = Fieldbus; 4 = AI1; 5 = AI2; 6 = AI1+AI2; 7 = PID controller; 8 = Motor potentiometer; 9 = Joystick; 10 = Jogging; 100 = Not defined; 101 = Alarm, preset freq; 102 = Auto-cleaning | |||
| HR | 2000doc 2001 | FB control word | Low 16 bits of the 32-bit fieldbus control word. | BITMAP16 | Read/write | bit 0 = Start/stop: 1 = run request, 0 = stop request; bit 1 = Direction: 0 = forward, 1 = reverse; bit 2 = Fault reset on rising edge 0->1 (faults, alarms, infos); bit 3 = Stop mode 1: 1 = override stop mode to coasting; bit 4 = Stop mode 2: 1 = override stop mode to ramping; bit 5 = Quick ramp time: 1 = shorter deceleration ramp (not on 100 HVAC); bit 6 = Freeze setpoint: 1 = ignore changes to FB speed reference; bit 7 = Setpoint to zero: 1 = fieldbus setpoint forced to 0 (not on 100 HVAC); bit 8 = Request fieldbus control: 1 = control place forced to fieldbus; bit 9 = Request fieldbus reference: 1 = reference source forced to fieldbus; bit 10 = Jogging 1 (not on 100 HVAC); bit 11 = Jogging 2 (not on 100 HVAC); bit 12 = Quick stop / emergency stop (not on 100 HVAC) | |||
| HR | 2001doc 2002 | FB general control word | Application-specific bits; write 0 if unused. | UINT16 | Read/write | ||||
| HR | 2002doc 2003 | FB speed reference | 0-10000 = 0.00-100.00 % between min and max frequency. | UINT16 | × 0.01 | % | Read/write | ||
| HR | 2100doc 2101 | FB status word | Low 16 bits of the 32-bit fieldbus status word. | BITMAP16 | Read | bit 0 = Ready: drive ready to run; bit 1 = Run: motor running; bit 2 = Direction: 0 = clockwise, 1 = counterclockwise; bit 3 = Fault active; bit 4 = Alarm active; bit 5 = At reference speed; bit 6 = At zero speed; bit 7 = Flux ready (motor magnetized) | |||
| HR | 2101doc 2102 | FB general status word | Application-specific (high half of the 32-bit status word). | UINT16 | Read | ||||
| HR | 2102doc 2103 | FB actual speed | 0.00-100.00 % between min and max frequency; sign per ID 888. | INT16 | × 0.01 | % | Read | ||
| HR | 2103doc 2104 | Process data out 1 (output frequency) | Default ID 1; remap with P3.6.1 (ID 852). | UINT16 | × 0.01 | Hz | Read | ||
| HR | 2104doc 2105 | Process data out 2 (motor speed) | Default ID 2; remap with ID 853. | UINT16 | rpm | Read | |||
| HR | 2105doc 2106 | Process data out 3 (motor current) | Default ID 3 (45 on 100 HVAC); scale varies by drive size. | UINT16 | Read | ||||
| HR | 2106doc 2107 | Process data out 4 (motor torque) | Default ID 4; remap with ID 855. | UINT16 | × 0.1 | % | Read | ||
| HR | 2107doc 2108 | Process data out 5 (motor power) | Default ID 5; remap with ID 856. | UINT16 | × 0.1 | % | Read | ||
| HR | 2108doc 2109 | Process data out 6 (motor voltage) | Default ID 6; remap with ID 857. | UINT16 | × 0.1 | V | Read | ||
| HR | 2109doc 2110 | Process data out 7 (DC link voltage) | Default ID 7; remap with ID 858. | UINT16 | V | Read | |||
| HR | 2110doc 2111 | Process data out 8 (active fault code) | Default ID 37; remap with ID 859. | UINT16 | Read | ||||
| HR | 2150doc 2151-2152 | FB status word (32-bit) | Full 32-bit status word incl. control place bits 29-31. | UINT32 | ABCD | Read | bit 0 = Ready: drive ready to run; bit 1 = Run: motor running; bit 2 = Direction: 0 = clockwise, 1 = counterclockwise; bit 3 = Fault active; bit 4 = Alarm active; bit 5 = At reference speed; bit 6 = At zero speed; bit 7 = Flux ready (motor magnetized); bit 29 = Control place, read with bits 30-31: only bit 31 set = fieldbus, only bit 30 = keypad, bits 30+31 = PC tool, only bit 29 = I/O terminals; bit 30 = Control place (see bit 29); bit 31 = Control place (see bit 29) | ||
| HR | 2207doc ID 2208 (register 2208) | RS-485 protocol | Must be 1 for Modbus RTU. | UINT16 | Read/write | 0 = No protocol; 1 = Modbus RTU; 2 = BACnet MSTP; 3 = N2 | |||
| HR | 2319doc ID 2320 (register 2320) | RTU slave address | 1-247, default 1. | UINT16 | Read/write | ||||
| HR | 2320doc ID 2321 (register 2321) | RTU communication time-out | 0 = not used; default 10 s. | UINT16 | s | Read/write | |||
| HR | 2377doc ID 2378 (register 2378) | RTU baud rate | Coded selection; default code 6 = 9600 baud. | UINT16 | Read/write | ||||
| HR | 2378doc ID 2379 (register 2379) | RTU parity type | UINT16 | Read/write | 0 = Even; 1 = Odd; 2 = None | ||||
| HR | 2379doc ID 2380 (register 2380) | RTU stop bits | UINT16 | Read/write | 1 = 1 stop bit; 2 = 1.5 stop bits; 3 = 2 stop bits | ||||
| HR | 2380doc ID 2381 (register 2381) | RTU fieldbus protocol status | UINT16 | Read | 0 = Init; 1 = Stopped; 2 = Operational; 3 = Faulted | ||||
| HR | 2382doc ID 2383 (register 2383) | RTU illegal functions | Count of exception 01h replies. | UINT16 | Read | ||||
| HR | 2383doc ID 2384 (register 2384) | RTU illegal data addresses | Count of exception 02h replies. | UINT16 | Read | ||||
| HR | 2384doc ID 2385 (register 2385) | RTU illegal data values | Count of exception 03h replies. | UINT16 | Read | ||||
| HR | 2388doc ID 2389 (register 2389) | RTU last fault response | Last exception code sent. | UINT16 | Read | ||||
| HR | 2389doc ID 2390 (register 2390) | RTU control word (monitor) | Control word last received over RTU. | UINT16 | Read | ||||
| HR | 2390doc ID 2391 (register 2391) | RTU status word (monitor) | Status word currently sent over RTU. | UINT16 | Read | ||||
| HR | 2445doc ID 2446 (register 2446) | TCP connection limit | 0-3 simultaneous Modbus TCP/UDP clients, default 3. | UINT16 | Read/write | ||||
| HR | 2446doc ID 2447 (register 2447) | TCP unit identifier | 0-255, default 255; checked on TCP and UDP. | UINT16 | Read/write | ||||
| HR | 2447doc ID 2448 (register 2448) | TCP communication time-out | 0 = not used; default 10 s. | UINT16 | s | Read/write | |||
| HR | 2448doc ID 2449 (register 2449) | TCP fieldbus protocol status | UINT16 | Read | 1 = Stopped; 2 = Operational; 3 = Faulted |
Notes on this map
- Register numbers are as the manual prints them (1-based); see addressing. The same values can be read as holding registers (FC03) or input registers (FC04) at the same address; only the holding-register side is listed.
- Application IDs can be read directly: ID n is register n for IDs 1-2000 and 2200-10000 (registers 2001-2199 are process data). Up to 30 consecutive IDs per request, and the whole request fails if any ID in the range does not exist - use the ID map (10501-10530 IDs, 10601-10630 values; 10701-10760 for 32-bit) to gather scattered IDs.
- 32-bit copies of IDs live at 20001-40000 (manual: wire address = 20000 + (ID - 1) x 2, e.g. ID 864 FB status word at 21726) and of process data at 2051-2086 / 2151-2186, high word first. Only the 32-bit status word is listed.
- Monitoring IDs (1-1495) and parameter IDs (103-888) come from the VACON 100 INDUSTRIAL application guide; scales follow its Scale column and the Modbus manual's rule that values are sent without decimals (2500 = 25.00 Hz). VACON 100 FLOW and HVAC use their own application guides - check IDs before use.
- Process data out 1-8 (2104-2111) are typed UINT16 because the INDUSTRIAL guide says FB DataOut values are sent in unsigned 16-bit format. Signedness is not stated for direct ID reads: frequency, speed, torque, power, temperature, PID output and analog levels read by ID are typed INT16, since their positive ranges fit below 32768 (so INT16 decodes them the same as UINT16) and unit temperature can go below 0 °C. FB actual speed (2103) is INT16 because ID 888 FB sign of actual can make it negative.
- Process data out 1-8 (2104-2111) are the defaults of P3.6.1-P3.6.8 (IDs 852-859); if those are changed, the registers carry other values. Process data in 1-8 (2004-2011) are application-defined (e.g. torque reference when ID 64 = ProcessDataIn1) and are not listed.
- Motor current: the Modbus manual says ID 3 / process data out 3 scale depends on drive size (always 0.1 A on 100 HVAC), while the INDUSTRIAL guide's default table shows 0.1 A. Those two registers are left unscaled; read ID 45 for a fixed 0.1 A value.
- Left out: operation-day, energy and fault-history counters (40001-40568) and the per-connection timeout register 40501. Their tables pair holding register 40001 with input register 1, which contradicts the 1-based numbering the rest of the map uses, so the wire address is ambiguous. ID 2382 communication status (combined good/bad counter shown as 0.0-99.999) is also left out.
- Left out: minimum/maximum frequency (IDs 101/102; the guide prints 0.00 and 320.0, so the decimals are unclear), motor nominal values with drive-dependent ranges, digital-input status IDs (bit layout not given) and motor shaft power in kW (ID 73/98, unit kW or hp).
- ID 733 lists a range of 0-5 but only describes values 0-4.
- ID 2380 stop bits defaults to 3 (2 stop bits) in the parameter table while the manual's parity table pairs even parity with 1 stop bit; read it back from the drive.
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 Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP)
What Modbus registers does the Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP) have?
This map lists 78 registers: 5 coils, 8 discrete inputs, 65 holding registers. 26 of them can be written. Registers vary with firmware, options and configuration, so confirm against the device.
Are the Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP) Modbus addresses 0-based or 1-based?
The manufacturer's document numbers registers 1-based (subtract 1 for the wire address). 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. The manual states that addresses in Modbus messages start at zero and prints its register map 1-based: its write example sends starting address 07D0h (2000) for control word 2001, and its read example sends 0836h (2102) for register 2103. So subtract 1 from every printed number; application ID n is register n and wire address n-1 (ID 172 -> 171). Coils 0001-0018 are 1-based too (coil 1 = wire 0), and discrete inputs printed 10001-10008 are Modicon-style references for wire 0-7.
What byte order does the Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP) use for 32-bit values?
Multi-register values in this map use ABCD (high word first (big-endian)). Set your client to this order for every 32/64-bit value in the table.
What are the minimum Modbus registers to integrate the Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP)?
Start with HR 2000 FB control word (FB control word: run, direction, fault reset); HR 2002 FB speed reference (FB speed reference, 0.01 % of min-max range); HR 2100 FB status word (FB status word: ready/run/fault/alarm); HR 2103 Process data out 1 (output frequency) (Output frequency, 0.01 Hz); HR 44 Motor current 1 decimal (Motor current, 0.1 A (ID 45)); HR 2109 Process data out 7 (DC link voltage) (DC link voltage); HR 2110 Process data out 8 (active fault code) (Active fault code); HR 171 Remote control place (ID 172 remote control place (1 = fieldbus)).
How do I enable Modbus control of the Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP)?
Modbus RTU: set P5.8.1.1 RS-485 protocol (ID 2208) = Modbus RTU, after which its settings appear under P5.8.3 (slave address ID 2320, baud ID 2378, parity ID 2379, stop bits ID 2380, time-out ID 2321). Modbus TCP/UDP is always enabled; set the IP mode and address under P5.9.1. For control set Remote control place P3.2.1 (ID 172) = Fieldbus control, Local/remote (ID 211) = Remote, and leave Fieldbus control reference selection (ID 122) = 3 Fieldbus. Control word bits 8/9 can also force fieldbus control and reference.
What happens when the Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP) loses Modbus communication?
RTU: ID 2321 communication time-out (seconds, default 10, 0 = off). TCP/UDP: ID 2448 time-out (seconds, default 10); a connection can also set its own timeout at register 40501. The reaction is ID 733 Response to fieldbus communication fault (default 3 = fault, stop per stop function); the fault is code 53 Fieldbus communication fault.
Where is the official Danfoss VACON VACON 100 family (built-in Modbus RTU / Modbus TCP) Modbus documentation?
The source is VACON 100 INDUSTRIAL / FLOW / HVAC / 100 X AC drives - Modbus TCP/UDP and Modbus RTU User Manual (DPD00156D), revision 2016-11-30, published free by Danfoss VACON at https://assets.danfoss.com/documents/270144/BC361182856709en-000401.pdf.
Source: VACON 100 INDUSTRIAL / FLOW / HVAC / 100 X AC drives - Modbus TCP/UDP and Modbus RTU User Manual · DPD00156D · rev. 2016-11-30. Register numbers, types, scaling and units are reproduced as published; descriptions are our own.