
MVI56-MCM
♦
ControlLogix Platform
Configuration as a Modbus Master
Modbus Communication Module
Page 40 of 159
ProSoft Technology, Inc.
July 24, 2008
4.4
Floating Point Data Handling
In many applications, it is necessary to read or write floating point data to the
slave device. The ProSoft sample ladder only provides an INT array for the
ReadData and Write Data array (16 bit signed integer value). In order to
read/write floating point data to and from the slave device, it is necessary to add
additional ladder to handle the conversion of the data to a REAL data type within
the ControlLogix processor. This is very easy to accomplish. Below are some
examples of reading/writing floating point data to a slave device, and when to use
the Float Flag and Float Start parameters within the module configuration. For all
applications, floating point data can be read from a device without any changes
to the Float Flag and Float Start parameters. These parameters are only required
to be configured when issuing a Write command to a device that utilizes a single
Modbus address like 47001, to represent a single floating point value.
4.4.1 Read Floating Point Data
Here is the addressing of a slave device, with a parameter "Energy
Consumption" that is shown as two registers 40257 and 40258.
Value
Description
Type
40257
--------
KWH
Energy Consumption
Float, upper 16 bits
40258
KWH
Energy Consumption
Float, upper 16 bits
To issue a Read command to this parameter, the following configuration should
be used.
Parameter Value
Description
Enable
1
Sends the command every time through the command list.
IntAddress 1000
Places data at address 1000 of the module memory. Based on
the configuration in ModDef this will put the data at the tag
MCM.DATA.ReadData[0].
PollInt
0
No delay for this command.
Count 2
Reads 2 consecutive registers from the slave device. These 2
Modbus registers will make up the "Energy Consumption"
floating point value.
Swap 0
Swap Code Description
0
None - No Change is made in the byte ordering
(1234 = 1234)
1
Words - The words are swapped (1234=3412)
2
Words & Bytes - The words are swapped then
the bytes in each word are swapped
(1234=4321)
3
Bytes - The bytes in each word are swapped
(1234=2143)
Node
1
Sends the command to Node #1.
Func
3
Issues a Modbus FC 3 to "Read Holding registers."
DevAddress 256 Along with the FC 3, DevAddress 256 will read Modbus address
40257 of the slave device.