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. 11 OEM families mapped. | Adapter shipped. 23 OEM families 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: 16,908 curated mappings across 14 protocol adapters, resolving to 366 canonical fields 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.