Enron Modbus is a modification to the standard Modicon modbus communication protocol.
It was developed by Enron Corporation. The main differences
between the two protocols is the numbering of the register addresses,
the support of 32 bit registers as well as 16 bit, and the ability to
transmit Event logs and Historical data.

How is data stored in Enron Modbus?

In Enron Modbus, there is a different table for each of the different
data types.

Information is stored in the Slave device in four different tables.
One tables stores on/off discrete values (boolean variables) and three
tables store numerical values.

Each value in a table has a data address and a
corresponding register number.

Data Addresses(hexadecimal)

Register Numbers(decimal)

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

Unlike Standard Modbus, in Enron Modbus the Register Numbers are
equal to the Data Addresses. For example, Register Number 7001 has Data Address
1B59(7001 in hexadecimal).
The offset is 0 for all Enron Modbus Registers.

What function codes are used in Enron Modbus?

A Function code is sent by the master to select a table and command type (read or write).

Function Code

Action

Table Name (and number)

01 (01
hex)

Read

Boolean
variables (1000)

05 (05
hex)

Set Single

Boolean
variables (1000)

03 (03
hex)

Read

Numeric variables (3000,5000,7000)

06 (06
hex)

Set Single

Numeric variables (3000,5000,7000)

What are the formats of Enron Modbus commands and
responses?

Follow the links in this table to see examples of the requests and
responses.

Operator events are changes to mapped items. Therefore, if you want to record
an event when a certain value changes, that value must be included in the map.
Inversely, you cannot define which mapped items create events
because all mapped items create events when they are changed.

The Slave device will store at least 100 of the most current events,
including both operator and alarm events.. A numeric variable
called the Event Index is typically mapped to a 7000 series numerical variable so
it can be read. The Event Index is the number of events that have
occurred since the event buffer was last read.

The response from the slave will contain all the events that have
occurred since the last collection. If more than 255 events have
occurred, only the earliest 255 will be transmitted. If no events have
occurred, the slave sends a response containing no data values.

After an event transmission, the master can send an acknowledgement
message to the slave to reset the Event Index and clear the event log.

What is the format of an event request and response?

There is only one command for both types of events. The type of event is shown in the response.

The Daily and Hourly Archives are lists of historical item values with specific time stamps.
The items included in the lists are defined in the modbus map.
There are two types of history tables, Daily History and Hourly History.
The tables sizes are also defined in the slave device.

A Daily Archive table records are the values for the historical items at the end of each day.

A Hourly Archive table records are the values at the end of each hour.
Therefore an hourly table would contain 24 times more records than a
daily table for the same time period..

Each record is given a specific record number. This number
wraps back to zero when the table fills up and the device starts writing
over old data. The most current record numbers are recoded in
variables called the Hourly Index and Daily Index. These index
variables are typically included in the map as 7000 series numerical variables so they
can be read.

In conclusion, Enron modbus is very similar to standard Modicon modbus.
The main differences include using specific data types in defined blocks
of the modbus map and using zero offset between the register numbers and
the data addresses. Some specific commands were also added to
facilitate the sending of events and historical records.

What else?

If you read this page, We would love to hear your comments. Please
send an email to
info@simplymodbus.ca and let us know what you found helpful and what topics
we could add, expand or clarify.