MergenHub Envest
Home/Docs/Modules

Protocol drivers

Modbus, Siemens S7, OMRON, DNP3, IEC 104, IEC 61850, MQTT, OPC UA client, simulator — what each supports.

All drivers ship in every installation; there is nothing to buy or enable. Each driver has an Address hints panel in the tag editor and a help page inside the application.

DriverTransportHighlightsDetail page
ModbusTCP, UDP, RTU/ASCII serial, Ethernet encapsulationFC01–04 reads, FC05/06/15/16/22 writes, zero/one-based addressing, Modicon 5/6-digit, word/bit order, per-area max block size, one socket per channelModbus
Siemens S7ISO-on-TCP (102)S7-300/400/1200/1500, DB/M/I/Q/T/C areas, optimised PDU packing, 64-bit typesSiemens S7
OMRONFINS/TCP, EtherNet/IP CIPCS/CJ/CP FINS memory areas, NJ/NX symbolic tags (CIP), bit and word accessOMRON
DNP3TCPIntegrity/event polls, unsolicited, SBO/Direct Operate, Secure Authentication, time sync, file control, redundancyDNP3
IEC 60870-5-104TCPGeneral interrogation, single/double commands, setpoints, time sync, redundancy, RTU compatibility modesIEC 104
IEC 61850MMSSCL/ICD import, LN-level reads, control model (SBO/direct), reports, VMD addressesIEC 61850
MQTTTCP/TLSBroker per channel, topic devices, JSON/XML/CSV/key-value payload parsing, discovery, arrival watchdog livenessMQTT
OPC UA clientopc.tcpConnect to other UA servers (PLC, gateway, another MergenHub); channel = session, device = subscription, browse for tags—
Simulator—Ramp, sine, random, static functions for testing screens, alarms and logging without hardware—

Channel and device limits

Every driver limits the number of channels it can open and the number of devices in one channel. The values match the limits documented by the industry-standard OPC server for each driver, with channels additionally capped at 1024. The limit is per driver, not per project — channels of different drivers add up beyond it.

DriverMax channelsMax devices per channel
Modbus TCP/IP Ethernet10248192
Modbus RTU Serial1024255
Modbus ASCII Serial100247
DNP3 Client Ethernet10241024
IEC 60870-5-104 Client10241024
IEC 61850 MMS Client256256
MQTT Client601024
OMRON FINS Ethernet51232
OMRON NJ Ethernet2561024
Siemens S7 TCP/IP10241024
OPC UA client256256
Simulator1024999
  • Limits are checked only when adding (UI, REST API, AI assistant, copy, import). When a limit is reached the operation is rejected and the project is left unchanged; an import is rejected as a whole, never partially applied.
  • A saved project is never rejected or trimmed when it loads.
  • Every value was exercised at the limit itself against a running MergenHub with protocol simulators, including all drivers at their limits at the same time (7,584 channels): every tag stayed Good and kept updating.
  • A channel polls its devices one after another, so a crowded channel has a longer cycle (in testing, 8,192 Modbus TCP devices in one channel refreshed about every 40 s). Split devices that need fast updates across several channels — channels run in parallel.

Choosing timeouts and scan rates

  • Start with the driver defaults and the device's documented response time. A scan rate lower than the device round-trip only creates back-pressure.
  • Serial and GSM/radio links: longer request timeout (2–5 s), fewer retries, and demand-driven scanning so idle devices do not keep the link busy.
  • Large Modbus devices: keep max block size below what the device supports (many RTUs reset above 64 registers).

Writes

Writes are executed immediately, ahead of the scan queue, and are verified: the driver checks the device acknowledged the write (Modbus exception codes, S7 return codes, DNP3/104 command responses). Failed writes are reported to the caller (OPC UA StatusCode / REST error) and logged in the audit log with user and value.

Redundancy and recovery

Every channel runs under a supervisor. Broken sockets are reopened, dead workers are recreated, and quarantine/back-off prevents a flapping device from flooding the log. DNP3 and IEC 104 support dual-address redundancy.

Diagnostics

Select a device › Diagnostics to see the raw frames (TX/RX hex), byte counters and last error. For cache-based protocols (DNP3, 104, 61850) the packet tap shows the real link traffic, not the cached values. See Troubleshooting.