VFD Modbus RTU Integration with KNX: ABB ACH580 and Danfoss FC102
Variable frequency drives on HVAC fans and pumps deliver the variable air volume control required for EN 15232 Class A HVAC ratings. Integrating these drives with KNX via Modbus RTU allows occupancy and CO2 data from the KNX bus to directly command fan speed — closing the loop between sensors, automation, and motor control.
Why VFD integration in KNX buildings
HVAC fans — supply air fans, extract air fans, condenser fans — and hydronic pumps are historically operated at constant speed (constant air volume, CAV). In a KNX building with variable occupancy, constant-speed operation wastes energy: fans run at 100% when a floor is empty, 100% when it is full. Variable air volume (VAV) with VFD reduces fan speed proportionally to demand.
EN 15232 (Energy Performance of Buildings — HVAC control) classifies HVAC control efficiency from Class D (poor) to Class A (highly efficient). Class A requires variable speed drives on all HVAC motors above 0.75 kW, with speed commanded by room CO2 or occupancy signals. BREEAM Excellent and LEED Gold both require EN 15232 Class A or equivalent HVAC control as part of their energy credit criteria.
Fan affinity law energy savings: fan power is proportional to the cube of speed. Reducing fan speed to 80% of maximum reduces power to 0.8³ = 51% of full-load power. At 60% speed, power drops to 0.6³ = 21.6% of full load. For an 11 kW supply air fan running at an average 70% speed: annual saving versus CAV = 11 × (1 − 0.343) × 8h × 250 days × €0.20/kWh ≈ €2,900/year.
ABB ACH580 HVAC drive
The ABB ACH580 is a dedicated HVAC variable frequency drive available from 0.75 kW to 250 kW, with IP21 and IP55 enclosure ratings. It includes a built-in Modbus RTU port via the RS-485 terminals on the control board and an HVAC application macro pre-configured for fan and pump duty.
ABB ACH580 — key Modbus RTU registers
Register Function Range Notes ------------------------------------------------------------------ 1 Process Reference 0–20000 Speed setpoint: 0 = 0%, 20000 = 100% output freq 3 Process Output 0–20000 Actual speed: read-only feedback 5 Main Status Word Bit field Bit 3 = fault active; Bit 6 = running 10 Output Frequency 0–10000 Actual Hz × 100 (e.g. 5000 = 50.00 Hz) 11 Motor Current 0–65535 Current × 10 (e.g. 125 = 12.5 A) Parameter for Modbus slave address: 58.03 Default baud rate: 9600 (configure in parameter 58.04) Default parity: none, 1 stop bit (8N1) To enable Modbus control: Parameter 19.11 (Ext1 command source): Modbus Parameter 19.06 (Ext1 ref1 source): Modbus reference 1
ABB assistant panel (ACS-AP-I)
The ACH580 assistant control panel provides local display showing output frequency, motor current, and alarm status. Use it during commissioning to verify Modbus communication before connecting the KNX gateway. Navigate to Parameter Menu → Group 58 to set Modbus address and baud rate.
HVAC application macro
ACH580 includes a factory HVAC macro pre-configured for fan/pump ramp times, minimum and maximum speed limits, and energy optimiser. Activate via parameter 96.04. The macro sets sensible HVAC defaults: 10s ramp up, 10s ramp down, minimum speed 20%, maximum 50 Hz.
Danfoss FC102 HVAC drive
The Danfoss FC102 is the comparable HVAC-dedicated VFD range from Danfoss, available from 1.1 kW to 315 kW. It includes a built-in RS-485 Modbus RTU port and the MK102 graphical keypad for local display and parameter access.
Danfoss FC102 — key Modbus RTU registers
Parameter Function Range Notes ------------------------------------------------------------------ 1-00 Speed reference 0–100 % of max frequency (parameter 4-13) 16-00 Control word Bit field Bit 3 = start; Bit 7 = reset fault 16-10 Main actual value 0–32767 Actual speed: 0 = 0%, 32767 = max freq Modbus FC Protocol note: Danfoss uses its own FC protocol addressing offset. When using standard Modbus RTU master (e.g. Intesis gateway): FC protocol address = Modbus register - 1 Verify with Danfoss Modbus FC protocol document MG37A (free download) Modbus slave address: parameter 8-31 Baud rate: parameter 8-32 (default 9600) Parity: parameter 8-33 (default even parity — change to none for most gateways)
KNX to VFD integration architecture
KNX does not speak Modbus natively. A protocol gateway translates KNX group address telegrams to Modbus RTU register writes and reads. The three most common gateway options for KNX-to-VFD integration are described below.
Integration architecture — Intesis IN70xKNX Modbus gateway
KNX occupancy sensor → DPT 1.002 (occupied/unoccupied)
→ KNX TP group address (e.g. 1/0/5)
→ Intesis IN70xKNXxxx000 (KNX TP + Modbus RTU)
→ Modbus RTU write to ACH580 register 1
occupied = 1 → write 20000 (100% speed)
unoccupied = 0 → write 4000 (20% minimum speed)
→ ACH580 output frequency ramps to setpoint
→ Supply air fan speed changes
Intesis MAPS configuration:
Signal 1: KNX GA 1/0/5 (DPT 1.002) → Modbus slave 1, register 1
Scale: 0 → 4000 (20% min); 1 → 20000 (100%)
Read-back: Modbus slave 1, register 3 → KNX GA 1/0/6 (DPT 5.001)
Alternative gateways:
WAGO 750-893 (CODESYS, flexible scripting)
MDT SCN-IP000.03 with Modbus TCP module
Siemens RXB21.1 (BACnet/Modbus — for BMS integration)RS-485 wiring to VFD
Modbus RTU uses RS-485 two-wire differential signalling. Correct cable selection, termination, and screen earthing are essential for reliable communication — RS-485 failures in VFD environments are almost always due to incorrect wiring rather than incorrect configuration.
RS-485 wiring rules for VFD Modbus
Cable specification: Type: screened twisted pair (STP), Belden 9841 or equivalent Conductor size: minimum 0.5mm² (AWG 22) Capacitance: < 100pF/m (twisted pair gives ~50pF/m) Connection at VFD (ACH580 example): Control board terminals: A (non-inverting), B (inverting) A = + (positive data) terminal B = - (negative data) terminal Screen: connect at gateway end only (see below) Termination resistors (120Ω): Install 120Ω between A and B at the VFD (last device on bus) Install 120Ω between A and B at the Modbus master (gateway) Remove termination from all intermediate devices Screen earthing (critical — prevents ground loops): Connect screen at Modbus master (gateway) end to panel PE bar Leave screen floating at VFD end (insulate screen with heat shrink) Never earth screen at both ends — ground loop creates noise Maximum bus length: 1000m at 9600 baud (HVAC VFD typical) 300m at 115200 baud (if higher speed required)
Speed reference scaling
KNX DPT 5.001 represents percentage values from 0 to 100% as 0 to 255 (8-bit). VFD speed registers use different ranges: ABB ACH580 uses 0–20000, Danfoss FC102 uses 0–32767. The gateway must scale between these ranges.
| KNX DPT 5.001 value | Percentage | ABB ACH580 register 1 | Danfoss FC102 param 1-00 |
|---|---|---|---|
| 0 | 0% | 0 | 0 |
| 51 | 20% | 4000 | 6553 |
| 128 | 50% | 10000 | 16383 |
| 204 | 80% | 16000 | 26214 |
| 255 | 100% | 20000 | 32767 |
Multi-drive bus configuration
When multiple VFDs need to be controlled from a single Modbus RTU master, they are daisy-chained on the same RS-485 bus. Each VFD must have a unique Modbus slave address set before connecting to the shared bus. Failure to set unique addresses causes bus conflicts where multiple VFDs respond to every telegram.
Multi-drive commissioning procedure
Before connecting all drives to shared bus: 1. Connect VFD 1 alone to gateway 2. Set Modbus address = 1 (ACH580: param 58.03; FC102: param 8-31) 3. Test: write register 1 = 10000 → verify VFD 1 runs at 50% 4. Disconnect VFD 1 from bus (leave address set) 5. Connect VFD 2 alone to gateway 6. Set Modbus address = 2 7. Test individual VFD 2 control 8. Repeat for all drives Daisy-chain wiring: Gateway → [A/B terminals VFD1] → [A/B terminals VFD2] → [A/B VFD3] Termination 120Ω: gateway end + last VFD only Gateway Intesis MAPS — multiple drives: Signal 1: KNX GA 1/1/1 → Modbus slave 1, register 1 (VFD 1 speed) Signal 2: KNX GA 1/1/2 → Modbus slave 2, register 1 (VFD 2 speed) Signal 3: KNX GA 1/1/3 → Modbus slave 3, register 1 (VFD 3 speed)
VFD fault monitoring in KNX
Reading the VFD status word register on a polling interval enables KNX to detect VFD faults and trigger maintenance alerts through the building automation system. This is particularly important for critical HVAC fans where a VFD fault could result in building overheating or loss of ventilation.
Fault monitoring — Intesis gateway configuration
ACH580 Main Status Word (register 5):
Bit 3 = 1 → fault active
Intesis MAPS signal configuration:
Signal: Modbus slave 1, register 5, bit 3 → KNX GA 1/2/1 (DPT 1.001)
Poll interval: every 10 seconds
On change: send KNX telegram
KNX GA 1/2/1 = 1 (fault active) triggers:
→ Home Assistant push notification: "VFD Fault — Supply Air Fan 1"
→ Gira X1 alarm page indicator (red)
→ Optional: switch to DOL bypass contactor via KNX output relay
(see HVAC Fan Speed Control guide for bypass contactor details)
Reset fault via KNX:
Write Main Control Word bit 7 = 1 to reset fault after cause is resolved
Intesis signal: KNX GA 1/2/5 (DPT 1.001) → Modbus write register 4, bit 7Need a KNX panel with VFD Modbus integration wired and commissioned?
We design KNX panels with fully documented VFD Modbus RTU integration, RS-485 bus wiring, Intesis gateway configuration, and ETS6 group address mapping — delivered tested and commissioned to your specification.
Request a quote →