Table 1 Register Map Guide

Table 1 Register Map Guide

This page is a technical reference for the Kholer Decision Maker 550 Modbus Register Map / Point List. It provides a high-level guide to the register ranges used for monitoring, configuration, history, and remote functions. The table below is commonly used during commissioning and troubleshooting when integrating a Kohler Decision Maker 550 controller into a SCADA system, BMS, PLC, or protocol gateway.

In Modbus terminology, the ranges shown here use the 4xxxx convention, which typically refers to Holding Registers. However, integrators should be aware that Modbus addressing is often presented in multiple ways depending on the tool or driver in use. Some software expects the address as a 4xxxx number (example: 40001), while other software expects a zero-based offset (example: 0), and still others expect a one-based offset (example: 1). If values appear shifted by one register, this is usually an addressing convention issue rather than a device problem.

Before implementing a full point list, confirm the following integration parameters:

  • Function code (typically Read Holding Registers / FC03 for 4xxxx ranges)
  • Register addressing convention (4xxxx vs offset-based addressing)
  • Data type and scaling (UINT16, INT16, 32-bit values, IEEE-754 floats, engineering units)
  • Byte order / word order for multi-register values (varies by client and gateway)
  • Write permissions (some registers may be read-only or write-only)

The ranges below are grouped by functional area so you can quickly locate the correct block during integration. For example, monitoring points are typically read cyclically, while setup and factory ranges are accessed only during configuration or service operations.

Kholer Decision Maker 550 Modbus Register Map / Point List

Table 1: Register Map Guide

DescriptionRegisters
Monitoring40001–40083
Electrical Output40001–40032
Engine Status40033–40060
Analog Input Status40061–40076
Digital Input Status40077–40078
Controller Status40079–40083
Maintenance40084–40112
Time/Date40113–40115
Time Delay Settings40116–40124
Settings and Setpoints40125–40146
Factory Setup40147–40226
Digital Input Setup40227–40499
Analog Input Setup40500–40739
Remapped Registers *40740–40837
Relay Driver Output Status (see Section 2.5.4)40838–40839
Relay Driver Output Setup40840–40870
Event History40871–41270
Customer-Defined Character Strings41271–41295
Reserved and Write-Only Registers41296–41305
Remote Functions41306–41413
Reserved for Factory Use41314–41499
"System Event Stack (status of fault warnings and shutdowns, inputs, outputs, and MDEC alarms; see Section 2.5.6.)"41500–41515
Reserved for Wireless Monitor41516–41536
Reserved41537–41549
Defined Common Faults (Define/Inspect)41550–41805
Reserved41806–49998
Device ID49999
* Registers 40740–40837 have been mapped to 41550–41647 (Defined Common Faults) for compatibility with earlier versions.

Integration Notes and Practical Interpretation

The table is a range guide, not a full point list. In a typical integration workflow, you use this guide to: (1) identify which functional block contains the points you need, (2) locate the detailed register definitions in the manufacturer documentation, and (3) configure the Modbus client (BMS, PLC, SCADA, or gateway) with the correct addressing and data interpretation.

A few practical patterns are worth highlighting:

  • Monitoring (40001–40083) is generally the best starting point for initial connectivity testing. These ranges typically provide read-only status values that can be polled cyclically without affecting operation.
  • Settings, setpoints, and setup ranges often require additional caution. Writes may be restricted, may require certain operating states, or may need confirmation steps (device-specific).
  • Event History (40871–41270) and related logs can be higher volume. If you poll these registers too frequently, you can consume bandwidth and increase scan times. These are usually read on-demand or at a slower rate.
  • Reserved and write-only registers should not be blindly scanned. Many integrators will deliberately exclude reserved/write-only ranges to avoid unexpected behavior or meaningless data.

For clients that require offset addressing, a common rule of thumb is: 40001 (human format) often maps to 0 (offset format). This is not universal, but it explains a large portion of off-by-one or off-by-40001 issues seen in the field. Always validate with a small read test before scaling to hundreds of points.

Finally, note the remapped registers statement. The device maintains compatibility with earlier versions by mapping certain register ranges into a newer block. This matters when comparing documentation revisions or when replacing a controller in an existing integration—two systems might expose similar information under different ranges depending on firmware version.

Frequently Asked Questions (FAQ)

Are these 4xxxx addresses Holding Registers?

Typically yes. The 4xxxx convention is commonly used to represent Modbus Holding Registers and is often read using function code FC03 (Read Holding Registers). However, always confirm the device documentation and your client’s addressing scheme.

Why do I read the wrong value when I request register 40001?

The most common cause is addressing format mismatch. Some clients want 40001, others want a zero-based offset (0), and some require one-based offsets (1). If your values look shifted, test by adjusting the starting address by ±1 and confirm the expected point.

Can I scan the entire range from 40001 to 49999?

It is not recommended. Large scans increase network load and scan time and may include reserved or write-only registers that are not intended for polling. Use the range guide to target specific blocks and only poll the points you need.

How often should I poll the Monitoring registers?

Poll rate depends on the network, controller performance, and required responsiveness. A common approach is to poll key monitoring values on a periodic interval (for example, 1–10 seconds), while polling configuration and history registers only on demand or at slower intervals.

What does “Reserved and Write-Only Registers” mean in practice?

Reserved registers may not contain meaningful data or may be undefined for the current firmware. Write-only registers may be used for commands or internal control functions and may return invalid values when read. Integrations typically avoid these unless a specific function requires them.

What is the purpose of the remapped registers note?

It indicates that registers 40740–40837 have also been mapped to 41550–41647 for backward compatibility. This helps older integrations continue working against newer firmware or configuration layouts. If documentation revisions differ, this note is often the reason.

Contact Us

Contact us via phone (+1 866-383-1657) or leave a detailed message below for sales, support, or any other needs

*Required Field
*Required Field
I'd like to receive the newsletter. *Check email for confirmation.
*Required Field
8:00am - 12:00pm 12:00pm - 5:00pm
Message Sent Successfully