Protocol Stack Trace Log

The protocol stack trace log provides the user with an indication of the Modbus messages received and sent by the Modbus TCP Slave Interface at the communications port level. Each logged message is time stamped.

The user may enable or disable trace logging by defining a trace log parameters record within the Modbus TCP Slave Interface configuration file..

When enabled, the Modbus TCP Slave Interface writes protocol stack trace messages to the file MTCPSI.err in the log sub-directory of the Project root directory.


If the Project had been created in the directory C:\Program Files\GE Fanuc\Proficy CIMPLICITY\Projects\test\, then the trace message file specification is C:\Program Files\GE Fanuc\Proficy CIMPLICITY\Projects\test\log\mtcpsi_rp.err.

The following is an excerpt from an actual trace log file.

1999-11-09 16:35:34.876 Started Modbus TCP Slave Interface (MTCPSI_RP) – Using IP address

1999-11-09 16:37:29.010 Accepted connection [id = 524] from IP address – bound to local IP address

1999-11-09 16:37:36.250 <- [id = 524] 000100000006 010300000064

1999-11-09 16:37:36.290 -> [id = 524] 0001000000CB



The above will be repeated several times. It represents the Read Holding Registers transaction


1999-11-09 16:40:11.503 <- [id = 524] 0001000000CF


1999-11-09 16:40:11.674 <- [id = 524] 000100000006 011000630064


The above will be repeated several times. It represents the Read Holding Registers transaction


1999-11-09 16:40:18.373 Closing connection [id = 524] with 1p address

The format for a trace log message is:

<date> <time> <direction> <slave address><function code> <data> <CRC>



is \the date the message was received or sent.


is the time the message was received or sent.


is an arrow indicating whether the message is a request or response message.

Request (left arrow): <-

Response (right arrow): ->

 Note: the remaining fields are displayed as hex values (two characters per byte).

<slave address>

is the emulated slave device address.

<function code>

is one byte representing the requested operation. If an exception response is generated, the high bit is set.


is one or more bytes containing function parameters, data values, and/or exception code.


is trailing two bytes containing the cyclical redundancy check value. 

More information

Modbus TCP Slave troubleshooting.