
MVI56-MCM
♦
ControlLogix Platform
Configuration as a Modbus Slave
Modbus Communication Module
Page 58 of 159
ProSoft Technology, Inc.
July 24, 2008
To copy data from the MVI module to a floating point tag within the CLX
processor.
1
Setup a tag within the CLX processor as shown.
2
Then setup the COP statement to move data from the MCM.DATA.ReadData
array, and over to the new tag MCM_Read_Floats tag as shown here.
Once again, the COP statement will take as many of the Source elements
required to fill the Dest tag for the length specified. Therefore the COP statement
will take MCM.DATA.ReadData[0]-[19] to fill the MCM_Read_Floats[0]-[9].
5.6.1 Enron/Daniel Float Setup
Sometimes it is necessary for the module to emulate Enron or Daniel floating
point addressing.
Copying the data to the MCM.DATA.WriteData array and from the
MCM.DATA.ReadData array is the same as described in the section above. The
main difference is the addressing of the module.
For instance, and Enron Float device is required to access address 47001 for
floating point data, and each Modbus register would emulate a single float value
(does not require 2 Modbus addresses for 1 float value).
A master device requiring this type of addressing, would require that for every
count of 1, the MVI module responds to the request message with 4 bytes (1
32bit REAL) value.
To emulate this addressing, the module has the parameters
MCM.CONFIG.PortX.FloatFlag, FloatStart, and FloatOffset.
Value Description
FloatFlag
Tells the module to use the FloatStart and FloatOffset parameters
listed below
FloatStart
Determines what starting address on the Modbus network to treat
as floating point data. A value of 7000 will signal the module that
address 47001 on the Modbus network is the starting location for
Modbus floating point data. Every address will occupy 2 registers
within the modules database
FloatOffset
Determines what address within the module to associate the data
from the FloatStart section to.
Here is a sample configuration for the module.