How does data actually get from a remote device into a SCADA system? Two models dominate, and the choice has real consequences for bandwidth, battery, and how fresh your data is - especially on cellular and satellite links. This guide explains polling, report-by-exception, and when each wins.
The short answer: Polling means the SCADA system asks each device for its values on a fixed schedule. Report-by-exception (RBE) means the device sends data only when a value changes beyond a threshold. Polling is simple and predictable; RBE saves bandwidth and battery and suits remote cellular and satellite sites.
In a polling architecture, the SCADA master cycles through its devices asking "what are your values now?" on a set interval - every few seconds to every few minutes. It is simple, predictable, and easy to reason about, and it confirms a device is alive on every poll. The cost is traffic: you pay for every poll whether or not anything changed, which adds up across hundreds of remote sites on metered cellular.
With report-by-exception (also called unsolicited reporting), the field device watches its own values and transmits only when something changes beyond a configured deadband - plus a periodic "I'm still here" heartbeat. This slashes bandwidth and power consumption, which is why it is the norm for solar-powered RTUs on cellular or satellite. DNP3 and MQTT Sparkplug B are built around this model. The trade-off is slightly more device-side configuration and reliance on the heartbeat to detect a dead link.
| Dimension | Polling | Report-by-Exception |
|---|---|---|
| Who initiates | SCADA master asks on a schedule | Field device sends on change |
| Bandwidth | Constant, even when nothing changes | Low - only meaningful changes + heartbeat |
| Power | Higher (device answers every poll) | Lower - ideal for solar/battery |
| Best for | Reliable networks, simple setups | Remote cellular/satellite sites |
Report-by-exception (RBE) is when a field device transmits data only when a value changes beyond a set threshold, rather than on a fixed schedule, plus a periodic heartbeat. It conserves bandwidth and battery - important on cellular and satellite links.
Polling has the SCADA master ask each device for values on a schedule (simple, predictable, constant traffic). Report-by-exception has the device send only on change (low bandwidth and power). Polling suits reliable networks; RBE suits remote, metered links.
DNP3 is designed around unsolicited/report-by-exception messaging, and MQTT Sparkplug B publishes by exception. Modbus is traditionally polled, though gateways can add change-based publishing.
This page references the protocol specifications published by the organizations below. Editions, product capabilities, and documentation change over time - confirm current requirements and specifications directly with the source.
Last reviewed: July 27, 2026. Merobix is not affiliated with, endorsed by, or sponsored by these organizations; their names are used only to identify the standards and products discussed.
Merobix supports report-by-exception via DNP3 and MQTT Sparkplug B - fresh data without burning cellular data or battery.