Polling vs Report-by-Exception
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.
How Polling Works
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.
How Report-by-Exception Works
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 |
Frequently Asked Questions
What is report-by-exception in SCADA?
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.
What is the difference between polling and report-by-exception?
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.
Which protocols support report-by-exception?
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.
Sources and verification
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.
- Modbus Application Protocol Specification - Modbus Organization
- Overview of DNP3 (IEEE Std 1815) - DNP Users Group
- MQTT Version 5.0 (OASIS Standard) - OASIS (v5.0, 2019)
Merobix is not affiliated with, endorsed by, or sponsored by these organizations; their names are used only to identify the standards and products discussed.
Automation services
Need help turning this into a working system?
Merobix integrates SCADA, programs Allen-Bradley and Siemens PLCs, and designs and fabricates industrial control panels.
Meeting requests are reviewed before confirmation.