CANopen HVAC Chiller Integration: Carrier, York, Daikin via Ixxat Gateway
Commercial chillers from Carrier, York, and Daikin expose their operating parameters via CANopen using the CiA 419 HVAC profile — providing supply and return water temperatures, compressor status, energy meter readings, and alarm codes over a single shielded CAN cable. An Ixxat CANopen Gateway translates these objects to Modbus TCP, making chiller data available to any BMS, SCADA, or KNX building automation panel.
Chiller models with native CANopen
Not all chiller models include CANopen as standard — some require a factory-fitted communications option card, and others use CANopen only internally between compressor controller boards while exposing Modbus or BACnet to the BMS. Always check the chiller datasheet section headed “communication options” before specifying a CANopen gateway.
| Manufacturer / Model | CANopen availability | Profile | Bit rate |
|---|---|---|---|
| Carrier 30XA (air-cooled screw) | Option card PRO-BUS — order separately | CiA 419 + manufacturer objects | 250 kbit/s |
| Carrier 30XW (water-cooled) | Integrated on i-Vu controller | CiA 419 + Carrier extension | 250 kbit/s |
| York Magnitude (centrifugal) | YORK YorkTalk 2 option module | CiA 419 subset | 125 kbit/s |
| Daikin Skyair FBQ-B series | CANopen via EKRSC option board | Manufacturer-specific only | 250 kbit/s |
| Daikin Altherma 3 H HT | Internal CAN between boards — not exposed | N/A — use Modbus or BACnet | — |
| Trane CenTraVac CVHE | TechView gateway add-on | BACnet MS/TP preferred over CANopen | — |
CiA 419 object mapping for chiller data
The CiA 419 HVAC profile defines standard object indices for chiller process values. Temperature values are encoded as INT16 in units of 0.01°C — divide the raw value by 100 to get degrees Celsius. A raw value of 0x0BB8 = 3000 decimal = 30.00°C. Negative temperatures use two's complement: 0xFF9C = -100 = -1.00°C.
| Chiller data point | CiA 419 index | Type / unit | R/W |
|---|---|---|---|
| Chilled water supply temperature | 0x6010:01 | INT16, 0.01°C | R |
| Chilled water return temperature | 0x6010:02 | INT16, 0.01°C | R |
| Condenser water inlet temperature | 0x6010:03 | INT16, 0.01°C | R |
| Condenser water outlet temperature | 0x6010:04 | INT16, 0.01°C | R |
| Chilled water setpoint | 0x6011:01 | INT16, 0.01°C | R/W |
| Compressor 1 run status | 0x6020:01 | UINT8: 0=off, 1=run, 2=fault | R |
| Compressor 2 run status | 0x6020:02 | UINT8: 0=off, 1=run, 2=fault | R |
| Chiller operating mode | 0x6040:01 | UINT8: 0=off, 1=cool, 2=heat pump, 3=auto | R/W |
| Active alarm code | 0x6050:01 | UINT32 bit field | R |
| Total active power (W) | 0x6060:01 | UINT32, 1W resolution | R |
| Energy counter (Wh) | 0x6060:03 | UINT32, 1Wh resolution | R |
| COP (coefficient of performance) | 0x6070:01 | UINT16, 0.01 resolution | R |
Carrier 30XA uses a hybrid approach: CiA 419 standard objects for temperatures and operating mode, plus manufacturer-specific objects at 0x2000–0x2FFF for compressor pressures, expansion valve positions, and detailed alarm codes. Always request the Carrier CANopen EDS file from Carrier technical support (file number varies by firmware version) before configuring the gateway.
Ixxat CANopen Gateway to Modbus TCP — configuration
The Ixxat CANopen Gateway (HMS Networks, part number 1.01.0075.00000) acts as a CANopen NMT master and presents all mapped CANopen object values as Modbus TCP holding registers on its Ethernet port. The BMS, KNX Modbus gateway, or SCADA reads chiller data by polling Modbus registers over Ethernet — no CAN knowledge required from the BMS side.
Ixxat CANopen Gateway — web UI configuration steps
1. Hardware connections
CAN port: Connect CAN_H, CAN_L, GND to chiller CAN terminals
ETH port: Connect to building LAN or dedicated HVAC network
Power: 24V DC supply
2. Web UI access
Default IP: 192.168.0.100 — change to site VLAN address
Navigate to: CAN → Bit Rate → Set to 250 kbit/s (match chiller)
3. Import chiller EDS file
CANopen → Devices → Add Device → Upload EDS file
Assign Node ID matching chiller panel setting (e.g. Node 3)
The gateway auto-discovers objects from the EDS
4. PDO configuration
Select TPDO1 of chiller node
Verify mapped objects include 0x6010:01 (supply temp) and 0x6010:02 (return temp)
Set transmission type: 255 (event-driven) with event timer 1000ms
Set inhibit time: 500ms (no more than 2 frames per second per chiller)
5. Modbus TCP register mapping
Modbus → Register Map → Auto-generate from CANopen objects
Or manually: map object 0x6010:01 → Holding register 40001
map object 0x6010:02 → Holding register 40002
map object 0x6040:01 → Holding register 40010
map object 0x6050:01 → Holding registers 40011–40012 (UINT32 = 2 registers)
Modbus TCP port: 502 (default)
Unit ID: 1 (default — change if multiple gateways on same IP)
6. NMT: Start Network → all nodes transition to Operational
Verify green LED on gateway and chiller CANopen boardWiring: shielded twisted pair and termination
The CAN cable from the panel to the chiller must be shielded twisted pair with a characteristic impedance of 120Ω. Plant rooms contain variable-speed drive inverters that generate significant electromagnetic interference — unshielded cable will cause intermittent CAN errors that are difficult to diagnose.
CAN wiring to chiller — panel to plant room
Cable specification:
Belden 9841 (120Ω, 24AWG, single shielded twisted pair)
OR Lapp UNITRONIC BUS CAN (120Ω, available in 2×2×0.22 for multi-pair runs)
Connection (linear bus — no stars):
Ixxat gateway → [Carrier 30XA chiller 1] → [Carrier 30XA chiller 2]
Gateway CAN port:
Terminal CAN_H → Cable pair A
Terminal CAN_L → Cable pair B
Terminal GND → Cable drain wire (shield connected at gateway end only)
120Ω termination resistor: fitted at gateway (it is the first node on bus)
Chiller 1 CANopen board (middle node — no termination):
CAN_H → Incoming pair A AND outgoing pair A (daisy-chain through)
CAN_L → Incoming pair B AND outgoing pair B
GND → Drain wire (DO NOT connect shield to chiller chassis here — ground loop risk)
Chiller 2 (last node — terminate here):
CAN_H and CAN_L: same daisy-chain as chiller 1
120Ω termination: connect between CAN_H and CAN_L at this node
Maximum stub length from trunk to chiller terminal: 0.3m
Run cable in separate conduit from 400V power and VFD cables
Minimum 200mm separation from power cablesCommissioning with PCAN-View
Before connecting the Ixxat gateway, verify the CAN bus with a PEAK-System PCAN-USB adaptor and PCAN-View (free software). This confirms the chiller is transmitting, the bit rate is correct, and there are no error frames before the gateway is involved.
PCAN-View commissioning procedure
1. Connect PCAN-USB to laptop USB
Connect CAN_H, CAN_L, GND to temporary spur at first chiller
DO NOT connect termination from PCAN-USB — bus should already be terminated
(PCAN-USB has no internal termination by default)
2. PCAN-View: Hardware → Connect → Select PCAN-USB
Bit rate: 250 kbit/s (match chiller setting)
Click Connect
3. Observe received frames in Trace window:
Chiller sending heartbeat: COB-ID 0x703 (node ID 3) every ~1000ms
Data: 05 = Node in Operational state
7F = Node in Pre-Operational state — gateway must send NMT start
4. Check Error Frame counter (top-right panel)
Error frames > 0: check termination, bit rate, cable quality
0 error frames: bus is clean — proceed with gateway connection
5. SDO read test — verify temperature object:
Transmit tab → New message:
COB-ID: 0x603 DLC: 8 Data: 40 10 60 01 00 00 00 00
Click Send
Response in Receive window at COB-ID 0x583:
Data: 4B 10 60 01 XX XX 00 00 (bytes 4–5 = supply water temp × 100)
6. Disconnect PCAN-USB, connect Ixxat gateway in its placeCommon problems and solutions
| Symptom | Probable cause | Remedy |
|---|---|---|
| PCAN-View shows error frames immediately on connect | Missing or incorrect termination | Measure CAN_H to CAN_L resistance — should be 60Ω. Add or reposition 120Ω resistors at both physical ends of trunk cable |
| No frames received in PCAN-View | Wrong bit rate or chiller CANopen not enabled | Check chiller front panel / service menu for CANopen enable flag and baud rate setting. Try 125 kbit/s if 250 kbit/s shows no traffic |
| Ixxat gateway shows NMT timeout for chiller node | Node ID mismatch or chiller in Pre-Operational state | Check chiller CANopen node ID in service menu. Send NMT Start Node command (COB-ID 0x000, data 01 + node ID) via PCAN-View to force Operational state |
| Modbus TCP returns 0x0000 for all registers | PDOs not activating — chiller in Pre-Operational | In Ixxat web UI: NMT → Start All Nodes. Verify green Operational LED on chiller CANopen board |
| Temperature reads 32767 or -32768 (0x7FFF / 0x8000) | Sensor fault or object not available on this chiller firmware | Check chiller fault list. Some objects return 0x7FFF when sensor is disconnected — treat as invalid/sensor fault |
| Node ID conflict — two chillers show same COB-IDs | Both chillers shipped with same default node ID (often ID 1) | Access each chiller service menu individually (disconnect others) and set unique node IDs: 3 and 4 |
Carrier 30XA chillers shipped before 2019 may have CANopen firmware that does not support the NMT heartbeat protocol — they use the older Node Guarding protocol instead. If the Ixxat gateway reports “Node Guarding error”, enable Node Guarding in the gateway configuration (guard time 1000ms, life time factor 3) instead of Heartbeat monitoring.
Related guides
Need a chiller CANopen integration panel built and commissioned?
We supply and configure Ixxat CANopen gateways with CiA 419 HVAC profile mapping, shielded CAN wiring to Carrier, York and Daikin chillers, Modbus TCP output for BMS integration, and full commissioning documentation.
Request a quote →