Eurotherm Chessell Recorders
Problem Solution Overview
Verify Modbus TCP/IP communication between ProSoft MVI71-MNET and Eurotherm / Invensys 5100V Graphic data acquisition recorder on 10/100BASE-T network
Solution Brief
We performed testing between the subject device(s) and the ProSoft Technology MVI71-MNET product. Our testing generated the following results:
- We were able to successfully communicate over Modbus TCP/IP with the device. (See below for configuration parameters used during the testing)
- The product supported Modbus functions 3,6 and 16. The device tested supported integer, IEEE floating point read and write commands.
- Procedure used the sample MVI71-MNET ladder logic using RSLogix 5. Some minor changes to the ladder are given below for floating point conversion.
- The purpose of our testing is to assure a level of compatibility in the communications between the two products. Through this testing, we attempt to identify problem areas that may arise when implementing the interface in the field.
Equipment:
ProSoft MVI71-MNET communication module Eurotherm/Invensys chart recorder with Ethernet communication.
Configuration:
The product testing was performed with the following settings used for the Eurotherm Chessell device.
|
|
ETHERNET Configuration
|
|
|
IP Address
|
192.168.0.184
|
|
|
Subnet Mask
|
255.255.255.0
|
|
|
MODBUS Node Configuration
|
|
|
Slave Address
|
1
|
|
|
Port
|
502
|
Channels 2-5 is set to " comms" for the channel values derived form the MVI71-MNET write commands (Function code 6 and 16) listed below.
Follow the 5100V User guide for additional information regarding IP setup. The IP address of the unit was changed to an IP class used by the MVI71 unit. The above figure is derived from the 5100V User Guide.
The following command list shows commands which were used to test the communications: MNET configuration file used the following Client 0 Commands for the above tests: (a copy of this configuration file can be obtained from reference section below)
[MNet Client 0 Commands]
#
# The file contains examples for a Modbus TCP/IP control using MBAP (port 502)
# and MNET (port 2000) service ports.
#
|
#
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
|
#Enable
|
DB Addr
|
Poll Delay
|
Reg Count
|
Swap Code
|
Node IP Address
|
Server Port
|
Slave Address
|
Func Code
|
Address In Dev
|
|
START
|
|
|
|
|
|
|
|
|
|
|
0
|
0
|
0
|
1
|
0
|
192.168.0.184
|
502
|
1
|
6
|
41436
|
|
1
|
0
|
0
|
2
|
0
|
192.168.0.184
|
502
|
1
|
16
|
63687
|
|
1
|
1
|
0
|
1
|
0
|
192.168.0.184
|
502
|
1
|
6
|
41439
|
|
1
|
2
|
0
|
1
|
0
|
192.168.0.184
|
502
|
1
|
6
|
41442
|
|
1
|
3
|
0
|
1
|
0
|
192.168.0.184
|
502
|
1
|
6
|
41445
|
|
1
|
120
|
0
|
4
|
0
|
192.168.0.184
|
502
|
1
|
3
|
24
|
|
1
|
124
|
0
|
1
|
0
|
192.168.0.184
|
502
|
1
|
3
|
41433
|
|
1
|
125
|
0
|
1
|
0
|
192.168.0.184
|
502
|
1
|
3
|
63683
|
|
END
|
Our test command list performs the following functions.
|
1.
|
Read Current Instrument time (Function Code 3)
|
|
|
Function code
|
3
|
|
|
Starting register address
|
24 (decimal)
|
|
|
Number of registers
|
4
|
|
|
Type
|
Double
|
|
|
Expected observation
|
read current time set in module
|
|
2.
|
Read current Channel 1 process value command (Function Code 3)
|
|
|
Function code
|
3
|
|
|
Starting register address
|
41433 (decimal)
|
|
|
Number of registers
|
1
|
|
|
Type
|
Scaled
|
|
|
Expected observation
|
Read current Channel 1 value
|
|
3.
|
Read current Channel 1 process value command (Function Code 3)
|
|
|
Function code
|
3
|
|
|
Starting register address
|
63683 (decimal)
|
|
|
Number of registers
|
2
|
|
|
Type
|
Float
|
|
|
Expected observation
|
Read current Channel 1 value
|
|
4.
|
Write derived Channel 2 process value command (Function Code 6)
|
|
|
Function code
|
6
|
|
|
Starting register address
|
41436
|
|
|
Number of registers
|
1
|
|
|
Type
|
Scaled
|
|
|
Expected observation
|
Write derived Channel 2 value displayed on screen
|
|
5.
|
Write derived Channel 3 process value command (Function Code 6)
|
|
|
Function code
|
6
|
|
|
Starting register address
|
41439
|
|
|
Number of registers
|
1
|
|
|
Type
|
Scaled
|
|
|
Expected observation
|
Write derived Channel 3 value displayed on screen
|
|
6.
|
Write derived Channel 4 process value command (Function Code 6)
|
|
|
Function code
|
6
|
|
|
Starting register address
|
41442
|
|
|
Number of registers
|
1
|
|
|
Type
|
Scaled
|
|
|
Expected observation
|
Write derived Channel 4 value displayed on screen
|
|
7.
|
Write derived Channel 4 process value command (Function Code 6)
|
|
|
Function code
|
6
|
|
|
Starting register address
|
41445
|
|
|
Number of registers
|
1
|
|
|
Type
|
Scaled
|
|
|
Expected observation
|
Write derived Channel 5 value displayed on screen
|
Performing the above test 3, a rung was added to convert floating point to integer data values (MVI71 database address 0-1) for the recorder Channel 2 write operations (Chessell recorder address 63687).
|
#
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
|
#Enable
|
DB Addr
|
Poll Delay
|
Reg Count
|
Swap Code
|
Node IP Address
|
Server Port
|
Slave Address
|
Func Code
|
Address In Dev
|
|
START
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1
|
0
|
0
|
2
|
0
|
192.168.0.184
|
502
|
1
|
16
|
63687
|
|
END
|
Write IEEE data example
The 5100V Chessell product manual reports the following function codes supported.
The above tests were achieved utilizing the debug port and COMMVIEW data analyzer.
|