Enron Modbus Data Storage and Register Mapping
This article focuses on how data is stored and addressed in Enron Modbus devices. For a protocol-level overview and background, see Enron (Daniels) Modbus protocol overview .
Enron Modbus (often referenced in the field as “Daniels Modbus”) stores values in the slave device using separate tables for different data types. This is similar in concept to standard Modbus tables, but the addressing conventions are different.
In Enron Modbus, data is organized into four tables: one table for discrete (on/off) values and three tables for numeric values. Each value has both a data address (hex) and a corresponding register number (decimal).
Enron Modbus Data Tables
The table below summarizes the Enron Modbus data storage model and the register ranges used for each data type.
|
Data Addresses |
Register Numbers |
Type | Table Name |
|
03E9 to 07CF |
1001-1999 |
Read-Write | Boolean variables |
| 0BB9 to 0F9F |
3001-3999 |
Read-Write | 16 bit Short integer variables |
| 1389 to 176F |
5001-5999 |
Read-Write | 32 bit Long integer variables |
| 1B59 to 1F3F |
7001-7999 |
Read-Write | 32 bit Floating point variables |
Addressing Note: No Offset in Enron Modbus
Unlike standard Modbus conventions (where register numbers and protocol addresses are often related by an offset), Enron Modbus uses a zero offset. In other words, the register number maps directly to the data address.
For example, Register Number 7001 corresponds to Data Address 0x1B59 (because 7001 in decimal equals 1B59 in hexadecimal). This same direct mapping concept applies across the Enron Modbus register ranges listed above.
FAQ: Enron Modbus Data Storage and Addressing
What is Enron Modbus (Daniels Modbus)?
Enron Modbus is a Modbus variant that organizes data into multiple tables by data type and uses direct mapping between register numbers (decimal) and data addresses (hex).
How many data tables exist in Enron Modbus?
Enron Modbus stores data in four tables: one for boolean (on/off) values and three for numeric values (16-bit short integers, 32-bit long integers, and 32-bit floating point values).
What is the key difference between Enron Modbus addressing and standard Modbus addressing?
Enron Modbus uses a zero offset, meaning the register number corresponds directly to the data address (with the register number expressed in decimal and the data address expressed in hexadecimal).
Can Enron Modbus values be read and written?
In the ranges shown on this page, the tables are described as Read-Write for boolean, 16-bit, 32-bit integer, and 32-bit floating point values.
How do I convert an Enron Modbus register number to a data address?
Convert the register number from decimal to hexadecimal. For example, 7001 (decimal) converts to 0x1B59 (hex), so Register 7001 maps to Data Address 1B59.