The mixed-fleet question: a company that runs both vehicles and a plant, and wants one data layer over both.
| J1939 (CAN) | OPC UA | |
|---|---|---|
| Specification | SAE J1939 | IEC 62541 |
| First published | 1994 | 2008 |
| Transport | CAN 2.0B, 29-bit identifiers, 250 or 500 kbit/s | TCP binary on 4840, or HTTPS |
| Data model | PGNs (parameter group numbers) containing SPNs (suspect parameter numbers): a fixed, published dictionary of what each bit field means. | A full information model: typed nodes, references, objects, methods and historical access. The richest model in industrial automation. |
| Discovery | None needed: the dictionary is the standard. Address claiming identifies nodes. | Built in. Browse the address space, read the type definitions. |
| Security | None. It is a vehicle bus. | Built in and mandatory to configure: X.509 certificates, signing, encryption, user authentication. |
| Polling or subscription | Broadcast at fixed rates. Everything on the bus hears everything. | Both. Polled reads and subscriptions with monitored items and dead-banding. |
| Implementation complexity | Moderate: bit-level decoding and multi-packet transport, but against a published spec. | High. The stack is large, certificate handling is a real operational task, and server implementations vary. |
| Typical industries | Heavy-duty and off-highway vehicles: trucks, agriculture, construction, gensets. | Modern machine tools, robotics, packaging, anything specified after ~2015. |
| Forge support | Adapter shipped. 19 verticals mapped. | Adapter shipped. 19 verticals mapped. |
Strength. Genuinely standardised semantics. SPN 190 is engine speed on every compliant vehicle ever built.
What it costs you. Manufacturer-proprietary PGNs sit alongside the standard ones and are documented nowhere.
J1939 (CAN) 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 →These are not alternatives; they never meet on the same wire. The reason to compare them is that a fleet operator and a plant manager inside the same company are each holding a different, incompatible telemetry stack, and someone above both of them wants one number. J1939 has better standardised semantics than OPC UA does, SPN 190 means the same thing on every truck, but it stops at the vehicle.
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.
These two protocols do not carry a canonical field in common in the corpus: they serve different domains, and pretending otherwise would make a better diagram and a worse answer. What they do share is the output schema.
Different fields, different domains, one schema and one query surface across both.