Introduction

Protocol drivers are the components that interpret the configuration of the tags linked to them, turn that into a data packet in the protocol’s format, send the packet through the communication port, receive the answer, decode it and update the tags’ values — or the reverse path, for writes.

It is the second component to be inserted in a data-acquisition application, right after the communication port and before every tag that will use the protocol driver.

Supported protocols
Protocol class Protocol Protocol type Talks to Required port class Supported tags Tag properties to configure Notes
TModBusRTUDriver
Seleção_092
Modbus RTU 1 protocol component for many stations Any device supporting Modbus RTU (station addresses 1 to 247)

TSerialPortDriver
Seleção_090

TPLCTagNumberplctagnumber
TPLCBlockplcblock
TPLCStructplcstruct
TPLCStringplcstring

PLCStation

MemReadFunction

MemWriteFunction

MemAddress

TagType

Blocks and structures use, by default, up to 125 registers per read/write block (driver properties HoldingRegsMaxBlockSize/AnalogRegsMaxBlockSize) and up to 2000 bits for digital inputs/outputs (InputsMaxBlockSize/OutputsMaxBlockSize) — all configurable. See Modbus RTU and TCP.
TModBusTCPDriver
modbus_tcp
Modbus TCP 1 protocol component for 1 or more devices, over the same connection Any device supporting Modbus TCP TTCP_UDPPort
Seleção_091
TPLCTagNumberplctagnumber
TPLCBlockplcblock
TPLCStructplcstruct
TPLCStringplcstring

PLCStation

MemReadFunction

MemWriteFunction

MemAddress

TagType

Same block limits as Modbus RTU. See Modbus RTU and TCP.
TWestASCIIDriver
west
West ASCII 1 protocol component for many stations West n6100/P6100 controllers

TSerialPortDriver
Seleção_090

TPLCTagNumberplctagnumber

PLCStation (1 to 99)

MemAddress (0 to 27 — the West parameter)

Every West register is a 32-bit float; the driver ignores the configured TagType and always delivers a float — leave it at pttDefault. Supports reads and writes. Has its own tag wizard.
TIBoxDriver
ibox
Thermo King i-Box 1 protocol component for many stations Thermo King i-Box refrigeration controllers TSerialPortDriver
Seleção_090
TPLCTagNumberplctagnumber

PLCStation (0 to 255)

MemAddress — only registers (PID) 0, 96, 168, 200 to 205 and 247 are accepted

Read-only: the i-Box refuses write commands outright, any attempt returns an error. Values already arrive ready to use (percentage, hours, tenths of a degree) — TagType does not change the result.
TISOTCPDriver
isotcp
Siemens S7 (S7comm) over ISOTCP 1 protocol component for 1 PLC

S7-200 via a CP 243-1

S7-300 / S7-400 (Ethernet)

LOGO! 7 and 8 (Ethernet)

S7-1200 / S7-1500 (Ethernet, with PUT/GET enabled and non-optimized blocks)

S7comm-compatible simulators/gateways (PLCSIM+NetToPLCSim, Snap7 server)

TTCP_UDPPort
Seleção_091
TPLCTagNumberplctagnumber
TPLCBlockplcblock
TPLCStructplcstruct
TPLCStringplcstring

PLCRack, PLCSlot, PLCStation — on the driver, not on the tag

MemReadFunction (area)

MemFile_DB (when the area is DB)

MemAddress

TagType

SwapBytes/SwapWords/SwapDWords according to the type

Does not speak the S7-1200/1500 native protocol (S7CommPlus) and does no symbolic addressing — see S7 Protocol over ISOTCP for the full area and type table.
TMelsecTCPDriver
melsec
Mitsubishi MC Protocol (3E frame, binary) over TCP 1 protocol component for 1 PLC Mitsubishi Q, L and iQ-F/iQ-R series with an Ethernet port or a QJ71E71/LJ71E71 module, configured for binary MC Protocol/SLMP TTCP_UDPPort
Seleção_091
TPLCTagNumberplctagnumber
TPLCBlockplcblock
TPLCStringplcstring

MemReadFunction / MemWriteFunction (device code: M, X, Y, D…)

MemAddress (decimal — mind that X/Y are numbered in hexadecimal in the PLC)

Timers, counters, link registers and the SB/DX/DY areas are not supported yet. See Mitsubishi Melsec TCP.
TS7CommPlusDriver Siemens S7CommPlus 1 protocol component for 1 PLC S7-1200 and S7-1500 (the native protocol TIA Portal uses, with blocks in optimized access — no need to disable it, unlike ISOTCP) TTCP_UDPPort
Seleção_091
TPLCTagNumberplctagnumber
TPLCBlockplcblock
TPLCStringplcstring

LongAddress — the tag’s symbolic path in the PLC (e.g. DB4.Var1, MArea.Clock_10Hz)

Addresses by the tag’s name in the PLC program, not by a memory offset. Dedicated page in preparation.
TLGXDriver EtherNet/IP (CIP), Rockwell/Allen-Bradley 1 protocol component for 1 PLC Rockwell/Allen-Bradley Logix-family PLCs (ControlLogix, CompactLogix…) with an EtherNet/IP port TTCP_UDPPort
Seleção_091
TPLCTagNumberplctagnumber
TPLCBlockplcblock
TPLCStringplcstring

LongAddress — the Logix tag name (e.g. Motor1.Speed, MyString.DATA for a STRING)

Symbolic addressing, as in TIA Portal/Studio 5000: there is no memory offset to configure. Dedicated page in preparation.
Basic structure of a data-acquisition application

The image below summarizes the port → driver → tags → controls chain, common to every protocol in the table above:

Basic structure of a data-acquisition applicationBasic structure of a data-acquisition application

Related examples

Leave a Reply

Your email address will not be published. Required fields are marked *