Anda di halaman 1dari 4

Enron Modbus

What is Enron Modbus?


How is data stored in Enron Modbus?
What function codes are used in Enron Modbus?
What are the formats of Enron Modbus commands and responses?
How are events transmitted?
What is the format of an event request and response?
How is history transmitted?
What is the format of a historical record request and response?

What is Enron Modbus?


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.

Data Addresses

Read

Set Single

Boolean variables 1000

FC01

FC05

Numeric Variables 3000,5000,7000

FC06
FC03

How are events transmitted?


There are two kinds of events, Operator events and Alarm events.
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.
Alarm events occur when mapped items exceed limits. The limits are defined in the Enron
Modbus slave device.
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.
This link shows an example of the request with an Enron operator event response.
This link shows an example of the request with an Enron alarm event response.
This link shows an example of the Enron event acknowledgement request and response.
How is history transmitted?
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.
What is the format of a historical record request?
This link shows an example of the Enron history request and response.
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.