Skip to main content

OT Protocols

Zerynth provides a set of device drivers that streamline the interfacing with shopfloor equipment (standard or custom protocols). This simplifies data exchange configuration through the use of the Zerynth No-code Configurator.

Standard OT protocols compatible

OPC-UA

OPC Unified Architecture (OPC UA) is a cross-platform, open-source, IEC62541 standard for data exchange from sensors to cloud applications developed by the OPC Foundation. Distinguishing characteristics are:

  • Standardized data models freely available for over 60 types of industrial equipment, published by the OPC Foundation via Companion Specifications
  • Extensible security profiles, including authentication, authorization, encryption and checksums
  • Extensible security key management, including X.509, token and password
  • Support for both client-server and publish-subscribe communication patterns
  • Service-oriented architecture (SOA)

Modbus TCP

Modbus TCP or Modbus TCP/IP is a Modbus variant used for communications over TCP/IP networks, connecting over port 502. It does not require a checksum calculation, as lower layers already provide checksum protection.

Modbus TCP nomenclature is the same as for the Modbus over Serial line protocol, as any device which send out a Modbus command, is the 'client' and the response comes from a 'server'.

The ADU for Modbus TCP is officially called MODBUS TCP/IP ADU (or Modbus TCP/IP ADU) by the Modbus organization and is also called Modbus TCP frame by other parties.

MODBUS TCP/IP ADU = MBAP Header + Function code + Data

Where MBAP - which stands for MODBUS Application Protocol header - is the dedicated header used on TCP/IP to identify the MODBUS Application Data Unit.

The MBAP Header contains the following fields:

NameLenght (bytes)Function
Transaction identifier2For synchronization between messages of server and client
Protocol identifier20 for Modbus/TCP
Lenght field2Number of remaining bytes in this frame
Unit identifier1Server address

A MODBUS TCP/IP ADU/Modbus TCP frame format then will be:

Transaction identifierProtocol identifierLengthUnit identifierFunction codeData
2 bytes2 bytes2 bytes1 byte1 byten bytes

Modbus RTU

Modbus RTU (Remote Terminal Unit), which is the most common implementation available for Modbus, makes use of a compact, binary representation of the data for protocol communication. The RTU format follows the commands/data with a cyclic redundancy check checksum as an error check mechanism to ensure the reliability of data. A Modbus RTU message must be transmitted continuously without inter-character hesitations. Modbus messages are framed (separated) by idle (silent) periods. Every 1 byte (8 bit) data/message of Modbus RTU needs to have 3 more bits to form the total 11 bits:

  • 1 start bit
  • 8 bit data/message, LSB bit is first sent
  • 1 bit parity
  • 1 stop bit

A Modbus RTU frame then will be

Slave AddressFunction CodeDataCRC
1 byte1 byte0-252 byte2 bytes