The default retrofit question. You have a plant of Modbus devices, a new machine arrives speaking OPC UA, and someone has to decide what the site standard is.
| Modbus TCP | OPC UA | |
|---|---|---|
| Specification | Modicon Modbus, TCP encapsulation (Modbus-TCP) | IEC 62541 |
| First published | 1979 (serial), 1999 (TCP) | 2008 |
| Transport | TCP, port 502 | TCP binary on 4840, or HTTPS |
| Data model | Flat 16-bit registers and single-bit coils. No types, no names, no metadata: a register is a number at an address. | A full information model: typed nodes, references, objects, methods and historical access. The richest model in industrial automation. |
| Discovery | None. You need the vendor's register map, usually a PDF. | Built in. Browse the address space, read the type definitions. |
| Security | None in the base specification. Whatever the network gives you. | Built in and mandatory to configure: X.509 certificates, signing, encryption, user authentication. |
| Polling or subscription | Polling only. The client asks; the device answers. | Both. Polled reads and subscriptions with monitored items and dead-banding. |
| Implementation complexity | Lowest of any protocol here. A working client is ~200 lines. | High. The stack is large, certificate handling is a real operational task, and server implementations vary. |
| Typical industries | Everything. Drives, meters, inverters, sensors, PLCs, BESS. | Modern machine tools, robotics, packaging, anything specified after ~2015. |
| Forge support | Adapter shipped. 19 verticals mapped. | Adapter shipped. 19 verticals mapped. |
Strength. Universal, trivial to implement, works on hardware from 1985.
What it costs you. Carries no semantics whatsoever. Scaling, byte order and register meaning all live outside the protocol.
Modbus TCP adapter →Strength. Self-describing. You can walk a server you have never seen and learn what it holds.
What it costs you. Self-describing is not the same as standardised, two vendors model the same machine differently, so the names still need mapping.
OPC UA adapter →They are not competitors so much as different eras. Modbus gives you a number and no context; OPC UA gives you context and charges you a stack for it. Most real plants end up running both, which is precisely the situation that makes a normalization layer worth having rather than a nice-to-have.
Forge is not an argument for a protocol. It is the layer that makes the choice stop mattering downstream: 2,086 curated mappings across 13 protocol adapters, resolving to 985 canonical fields defined with enforced units and physics bounds.
Two devices, two protocols, two vendors, two entirely different tag names, and one canonical field out. Both of these are real mappings from the corpus, not illustrations.
Same field: feed_rate. Same unit contract, same physics
bounds, same shape. Your query does not need to know which protocol the reading
arrived on.