ProSoft Technology MVI69-MCM User Manual
Page 61

MVI69-MCM ♦ CompactLogix or MicroLogix Platform
Configuring the MVI69-MCM Module
Modbus Communication Module
User Manual
ProSoft Technology, Inc.
Page 61 of 167
March 22, 2011
ENRON Floating Point Support
Many manufacturers have implemented special support in their drivers to support
what is commonly called the Enron version of the MODBUS protocol. In this
implementation, register addresses > 7000 are presumed to be floating point
values. The significance to this is that the count field now becomes a 'number of
values' field. In floating point format, each value represents two words.
Configuring the Floating Point Data Transfer
A common question when using the module as a Modbus Master is how floating
point data is handled. This really depends on the slave device and how it
addresses this application.
Just because your application is reading/writing floating point data, does not
mean that you must configure the Float Flag, Float Start, and Float Offset
parameters within the module.
These parameters are only used to support what is typically referred to as Enron
or Daniel Modbus, where one register address must have 32 bits, or one floating
point value. Below is an example:
Example #1
Modbus Address
Data Type
Parameter
47101
32 bit REAL
TEMP Pump #1
47102
32 bit REAL
Pressure Pump #1
47103
32 bit REAL
TEMP Pump #2
47104
32 bit REAL
Pressure Pump #2
With the module configured as a Master, you only need to enable these
parameters to support a write to this type of addressing (Modbus FC 6 or 16).
If the slave device shows addressing as shown in Example #2, then you need not
do anything with the Float Flag, Float Start parameters, as they use two Modbus
addresses to represent one floating point value:
Example #2
Modbus Address
Data Type
Parameter
47101
32 bit REAL
TEMP Pump #1
47103
32 bit REAL
Pressure Pump #1
47105
32 bit REAL
TEMP Pump #2
47107
32 bit REAL
Pressure Pump #2
Because each 32 bit REAL value is represented by two Modbus Addresses
(example 47101 and 47102 represent TEMP Pump #1), then you need not set
the Float Flag, or Float Start for the module for Modbus FC 6 or 16 commands
being written to the slave.
The next few pages show three specific examples: