MVI56E-MCM ♦ ControlLogix Platform Configuration as a Modbus Master
Modbus Communication Module User Manual
ProSoft Technology, Inc. Page 49 of 209
Writes the data from Internal Address 30 of the module memory to the
Slave device. Based on the MCM.CONFIG.MODDEF configuration, this
will write the data from MCM.DATA.WRITEDATA[30] TO [39] to the Slave
device.
Writes 10 consecutive registers to the Slave device.
Issues the Modbus command to node 1 on the network.
Issues Modbus Function Code 16 to write Holding Registers.
Function Code 16, DevAddress of 1050 will write address 41051.
Along with a count of 10, this command writes 41051 to 41060 of the
Slave device.
2.4 Floating-Point Data Handling (Modbus Master)
In many applications, it is necessary to read or write floating-point data to the
Slave device. The sample program 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, you must 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.
The following topics show how to read or write data to a Slave device. These
topics also show 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.
You only need to configure these parameters to issue a Write command to a
device that uses a single Modbus address, such as 47001, to represent a single
floating-point value.
2.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.
To issue a Read command to this parameter, use the following configuration.
Sends the command every time through the command list.
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].
No delay for this command.
Reads 2 consecutive registers from the Slave device. These 2
Modbus registers will make up the "Energy Consumption" floating-
point value.