Modbus list block (ml) – Micromod MOD: 1800P - MOD 30ML Identity Module (Version 2) System, I/O and Communications Functions User Manual
Page 79
Logic Functions - Book 1
MODBUS LIST BLOCK
3-53
3.7
MODBUS LIST BLOCK (ML)
The Modbus list block is used to specify and collect data, which is of interest to an external
system that, supports the Modbus message protocol. The list of attributes identifying data for
inclusion in Modbus Slave Communication block (MSC) single register read/write or single
register read only lists must be specified in Modbus List (ML) blocks. The data must be count,
discrete, short state, date, long state, floating point or millisecond time.
A Modbus List allows data (except ASCII and Hex) to be converted (a 2-byte positive value)
and mapped into a Modbus register memory area. Since the content of a Modbus register is a
2-byte (16 bit) positive binary value, the data is presented as follows:
Data Type
Modbus Register 16 Bit Value
Discrete
0 or 1
Short State
0 to 15
Long State
0 to 255
Count
0 to 65535
Date
bits 15 - 9
Year (0 - 99)
bits 8 - 5
Month (1 - 12)
bits 4 - 0
Day (1 - 31)
Floating Point
Top and bottom of range required.
Floating point values that cannot be mapped within the
0 to 65535 range will be set to 0 or 65535 as
appropriate.
Millisecond Time
Scaling factor required (1, 10, 100, 1000, 10000, or
100000). Note that a value of 65535 going out of
MODCELL indicates that the value is out of Count
range.
The following example shows Floating Point values converted to 16 bit Modbus register
values:
If a VCIM input is 1 to 5 volts and the VCI block output range is -100000.0 to +100000.0, then
it is mapped into a Modbus register value by configuring the Top of Range as 100000.0 and
the Bottom of Range as -100000.0.
Vin
VCI, R
Modbus Register Value
< -100000.0
0
1.0V
-100000.0
0
2.0V
-50000.0
16383
3.0V
0.0
32767
4.0V
50000.0
49151
5.0V
100000.0
65535
> 100000.0
65535
The following example shows millisecond time scaled to 16 bit Modbus register values:
The millisecond time data type is an unsigned four byte integer value, which is a count of
milliseconds from 0 to 4294967295. The scaling factor, which must be configured, will effect
the resolution of the time values. The scale factor indicates the number of milliseconds per
count. If a scale factor of 10 is configured, then each count is equal to 10 milliseconds as
described in the following table: