Applies To:
  • CitectSCADA 5.xx

Modicon have published a document on the Internet that defines the standard for Modbus using TCP/IP communications. This document is commonly called "Open Modbus / TCP Specification". Does Citect support this specification?

Citect supports a specific implementation of this standard. This implementation, using the Citect MODNET driver, supports the Modicon Quantum Ethernet TCP/IP module. This KB article outlines the differences between the Modicon specification (last revision date 3rd of Sept., 1997) and the MODNET driver operation. This article does not cover the issues of the 'conformance classes' that are documented in the specification, as the conformance classes are directly related to the data types supported by the MODNET driver.

Half-duplex Vs Full-Duplex
The specification states that "Requests are sent in half-duplex fashion (response MUST be received before the next request may be sent on a socket)". The MODNET driver operates in a Full-Duplex fashion, effectively having multiple outstanding requests. This feature is supported by the Modicon Quantum Ethernet TCP/IP module, although this feature can be partially disabled in the MODNET driver by setting [MODNET]MaxOutstanding=1.

Invoke Identifier (also known as simply "Identifier")
The specification also indicates that the identifier field is "usually 0". The MODNET driver uses a cycling module 65536 value.

The specification does not explicitly highlight whether the Modbus RTU CRC field is used in the protocol. From experience, we have found that the CRC field is not used by the Modicon Quantum Ethernet TCP/IP module, but rather relies on the TCP/IP Checksum. As a result, the MODNET driver does not use a CRC field but also relies on the TCP/IP Checksum.

Destination ID (also known as 'Unit Identifier' or 'Slave address')
The specification indicates that the Destination ID may be used to take advantage of devices such as gateways and bridges, so that on IP address can support multiple end units. As the MODNET driver was designed specifically for the Modicon Quantum Ethernet TCP/IP module, this Destination ID is permanently hard-coded to 0. Future revisions of the MODNET driver may allow for the Destination ID to be user configurable in Citect.