industrial//industrial data layer//fault semantics

Why industrial control does not run on a REST API: three properties a control link needs that a request-response web API does not offer. **Determinism**, **physical state** and **fault semantics**.


Why industrial control does not run on a REST API: three properties a control link needs that a request-response web API does not offer. Determinism, physical state and fault semantics.

REST is excellent at "give me order 1234", "create this user", "fetch this report": stateless requests, one answer each, at IT speeds (REST). Control needs cyclic updates, a watchdog, data quality, timeouts, connection state, change-of-value notification, alarms, precise timestamps and a predictable time behavior (determinism).

The failure model is the core difference. An HTTP 500 does not say what "the physical transmitter lost power and the last valid measurement is 3.8 seconds old" says. Control protocols carry that: a tag has a quality and an age, a fieldbus knows a device fell off the bus, an OPC UA subscription reports a lost connection as data, not as an exception.

REST is perfectly valid above the control layer, between business applications and toward the cloud; it is the wrong tool as a substitute for PROFINET, EtherCAT or OPC UA at the bottom (HTTPS).