Modbus address vs register difference explained for HVAC thermostat integration.

Modbus Address vs Register: Key Differences & How to Avoid HVAC Integration Failures

What You‘ll Learn in This Guide

What a Modbus register is and the four standard register types

What a Modbus address (PDU address) is and how it works in real communication

The core differences between Modbus registers and addresses

Why the off-by-one error causes most Modbus HVAC integration failures

Step-by-step method to read any Modbus register map correctly

Modbus address vs register: if you have ever configured Modbus RTU connections for thermostats, FCU controllers, or integrated devices with a BMS or PLC system, you’ve definitely encountered two confusing terms: Modbus Register and Modbus Address.

Although manufacturers often mix these two terms in datasheets, they are not interchangeable.

One brand may state “temperature setpoint at register 40001”, while another writes “setpoint at address 0”. If you fail to identify the manufacturer‘s numbering convention, you will face endless debugging, communication exceptions, or even incorrect data reading/writing across your HVAC building automation system.

This article breaks down Modbus register vs address logic in plain technical English, explains the fatal off-by-one error, and helps you achieve stable Modbus integration for thermostats, FCU systems, VFD drives, and BMS projects.

What Is a Modbus Register?

Modbus register refers to a physical memory location inside a Modbus slave device.

Each register is a 16-bit / 2-byte storage unit that stores a single data value — such as temperature readings, fan speed parameters, or system setpoints.

Think of a register as a numbered data storage “mailbox” inside a Modbus device.

Modbus defines four standard register categories with fixed Modicon number ranges:

Register TypeModicon RangeAccessTypical HVAC Usage
Coils00001 – 09999Read / WriteBinary on/off control (fan enable, valve relay output)
Discrete Inputs10001 – 19999Read OnlyDevice status feedback (alarm signal, running state)
Input Registers30001 – 39999Read OnlyRaw sensor data (ambient temperature, humidity)
Holding Registers40001 – 49999Read / WriteSystem configuration & setpoints (target temp, fan speed, mode settings)

For HVAC thermostats and FCU controllers4xxxx Holding Registers are the most widely used type, as they support both real-time data reading and parameter modification.

What Is a Modbus Address?

Modbus Address (PDU Address) is the raw zero-based numeric ID transmitted inside Modbus communication frames (PDU, Protocol Data Unit).

This is the actual data the master device (BMS/PLC/Modbus scanner) sends over RS485 cables to read or write target data.

The Key Rule:

Modbus Register (Modicon) = 1-based (for human reading)

Modbus Address (PDU) = 0-based (for protocol communication)

Universal Conversion Formula

Modbus PDU Address = Modicon Register Number − 40001 (for holding registers)

Examples

Register 40001 → PDU Address 0

Register 40002 → PDU Address 1

Register 40108 → PDU Address 107 (0x006B Hex)

This fundamental gap between documentation numbering and actual protocol numbering creates nearly all Modbus communication errors.

Understanding the difference between Modbus address vs register is essential for stable HVAC communication.

Core Difference: Register vs Address

The distinction boils down to human-readable documentation vs machine-executable protocol data.

ComparisonModbus Register (Modicon)Modbus PDU Address
Numbering Mode1-based0-based
Type PrefixIncludes category prefix (0/1/3/4xxxx)Pure numeric ID, no prefix
Usage ScenarioDatasheets, register maps, configuration softwareActual RTU communication frames
Example Value400010

Registers are written for engineers; addresses are processed by devices.

Why the Off-by-One Error Causes Most HVAC Integration Failures

Industry practice proves that over 50% of Modbus exception errors (Exception Code 02: Illegal Data Address) are caused by off-by-one addressing mistakes.

The root cause is three coexisting industry conventions that manufacturers use randomly:

  1. Modicon 5-digit convention: 1-based full register (40001)
  2. Simplified 1-based convention: plain register number (1, 2, 3…)
  3. Standard PDU convention: 0-based raw address (0, 1, 2…)

Common Failure Scenario

A datasheet marks “Room Temperature = Register 1”.

If your PLC/BMS software expects Modicon 4xxxx format, it will offset incorrectly and read register 40002 instead — resulting in wrong values or communication failure.

Fast Fix Rule

Whenever you get empty data, abnormal readings, or illegal address errors:
Minus 1 from your target register address and retry.

How to Read a Modbus Register Map Correctly (Step-by-Step)

Follow this standard workflow for any HVAC thermostat, FCU controller, or VFD register map:

Step 1: Confirm the Numbering Convention

Identify which format the official document uses:

  • 5-digit Modicon registers (40001 series)
  • Short 1-based register numbers
  • Hexadecimal / decimal 0-based PDU addresses

Step 2: Understand Register Map Columns

  • Register / Address: Data location ID
  • Parameter: The function description (temp, fan speed, mode)
  • Data Type: 16-bit int, 32-bit float, scaling factor
  • Access Type: R (Read), W (Write), R/W (Read & Write)

Step 3: Apply Correct Offset in Your Software

  • If your tool uses Modicon mode: input the full 5-digit number directly
  • If your tool uses PDU mode: subtract 1 from the documented register number

Always test fixed-value registers (firmware version, device model code) first to verify communication validity before modifying any parameters.

Practical Case: Thermostat Temperature Reading

Take this common FCU thermostat register map as an example:

RegisterParameterAccessDescription
40001Room TemperatureRCurrent ambient temp (0.1°C scaling)
40002Temp SetpointR/WTarget cooling/heating temperature
40003Fan SpeedR/W0=Auto / 1=Low / 2=Med / 3=High
  • Modicon software input: 40001
  • PDU software input: 0

If the return value = 250, the actual temperature = 25.0°C (value ÷ 10 scaling factor).

Common Modbus Integration Mistakes & Solutions

MistakeNegative ResultSolution
Assuming all manufacturers use the same conventionIllegal address errors / wrong dataVerify register map convention before configuration
Mixing 1-based and 0-based addressesReading incorrect register dataConfirm software parsing mode (Modicon / PDU)
Ignoring data scaling factorsGarbage values (65535, random figures)Check 0.1°C, 0.01 unit scaling in datasheets
Skipping pre-test with fixed registersRisk of wrong parameter overwritingTest firmware/version registers first

Modbus RTU Application in HVAC & BMS Systems

Modbus address logic is universal for all RTU devices in building automation:

  • HVAC FCU thermostats
  • VFD fan & pump drives
  • Air handling unit controllers
  • Siemens / Mitsubishi / generic PLC systems
  • Central BMS platforms

Accurate register addressing ensures conflict-free communication, stable data polling, and reliable automatic control in commercial building HVAC projects.

Our RS485 Modbus RTU FCU thermostats fully comply with standard Modicon register rules, feature clear register maps, and offer seamless compatibility with mainstream PLC, VFD, and BMS systems for global building automation projects.

Final Takeaways

  • Registers = human-readable 1-based numbers
  • Addresses = machine-readable 0-based PDU values
  • Off-by-one errors account for most Modbus HVAC communication failures
  • Always confirm convention + scaling factor before integration
  • Standardized register mapping ensures stable BMS & PLC integration

Related Reading

For more technical guides and product information, browse our blog or contact our engineering team for a free consultation.

类似文章