Report by Exception in SCADA: 6 Smart Tips to Save Bandwidth

Share:
SCADA
Report by Exception in SCADA: 6 Smart Tips to Save Bandwidth

Polling hundreds of remote sites every few seconds wastes radio and cellular bandwidth on values that never change. Sending data only when something moves frees the channel and delivers real changes faster.

DNP3 Unsolicited Event Classes Deadband Integrity Poll

Traditional SCADA masters ask every RTU for every value on a fixed cycle. Exception based reporting flips that model, so field devices send data when a value changes beyond a set limit.

Hello everyone, today we are going to learn how report by exception works in SCADA, how DNP3 event classes and deadbands control it, and how much bandwidth it can save compared with plain polling.
report by exception

What Is Report by Exception?

Report by exception is a SCADA data method in which a remote device sends a value only when it changes by more than a configured deadband, or when a digital point changes state. It replaces much of the fixed cycle polling used in traditional SCADA systems.

Real Time Automation explains that DNP3 unsolicited messaging lets outstations report events without being polled, sending only changes. The master still decides how often to confirm the link.

DNP3 master station communicating with remote outstations
Image credit: Real Time Automation

The method works best on slow or costly links such as licensed radio, satellite and cellular. It is a core feature of DNP3 and IEC 60870 5 104.

Modbus has no native exception reporting, so masters must poll, as explained in Modbus protocol. Gateways can add exception behaviour on top.

How DNP3 Handles Events

Value ChangesAnalog moves beyond its deadband
Event BufferedOutstation stores value and time stamp
Unsolicited SendEvent sent to the master, or held for the next poll
Master ConfirmsApplication confirm clears the buffer
Integrity PollPeriodic Class 0 read checks everything
ClassContentTypical Use
Class 0Static current valuesIntegrity poll
Class 1High priority eventsTrips and alarms
Class 2Medium priority eventsAnalog changes
Class 3Low priority eventsCounters and trends

Time stamped events keep their true order even if the link was down. That is a major advantage over polling, which only sees the value at poll time.

Configure RTU buffers large enough to hold events during outages, as outlined in RTU architecture.

Deadbands Decide the Traffic

A deadband is the change needed before a new analog event is created. Set it too small and noise floods the channel, set it too large and operators miss real trends.

A good starting point is 0.5 to 1 percent of span for most process values. Tighten it for custody transfer and alarms, and relax it for slow tank levels.

6 Smart Report by Exception Tips

1
Keep Integrity Polls
Run a Class 0 poll every 15 to 60 minutes.
2
Tune Deadbands
Use percent of span, not fixed counts.
3
Filter Noise
Add analog filtering before the deadband check.
4
Size Event Buffers
Cover the longest expected outage.
5
Mind Multidrop Links
Avoid unsolicited traffic on shared serial lines.
6
Monitor Link Health
Alarm when no data arrives within a set time.

Real Time Automation warns that on shared RS485 multidrop links, unsolicited messages can collide, so best practice there is to disable them. Point to point IP links handle them well.

DNP3 has no built in keep alive, so a failed outstation can look quiet and healthy. Background polls and link alarms solve this, a common topic in SCADA communication problems.

Bandwidth Estimate

Polling bytes per hour = Points × Bytes per point × (3600 ÷ Poll interval)
Exception bytes per hour ≈ Points × Changes per hour × Bytes per event

Example:
500 points, 4 bytes each, poll every 10 s gives 720000 bytes per hour
Each point changes 6 times per hour, 12 bytes per event with time stamp
Exception traffic ≈ 36000 bytes per hour, about 95 percent less

Protocol overhead adds to both figures, so compare using real frame sizes. Our guide on network bandwidth and throughput helps with link budgets.

Savings shrink when values are noisy or deadbands are tight. Measure event rates during commissioning.

Bandwidth Calculator

Polling vs Exception Traffic
Result
Polling 720000 bytes per hour, exception 36000 bytes per hour, saving 95 percent

Add the integrity poll traffic to the exception figure for a full picture. It is usually small.

Benefits
  • Much lower bandwidth use.
  • Faster delivery of real changes.
  • Time stamped event order.
  • Lower cellular data costs.
Risks
  • Silent failures without keep alive checks.
  • Event floods from noisy signals.
  • Collisions on multidrop serial links.
  • Buffer overflow during long outages.

Modern IIoT protocols such as MQTT use the same publish on change idea, with a broker instead of a master.

Triangle MicroWorks DNP3 Overview PDF

PDF
DNP3 Overview
Triangle MicroWorks guide covering events, classes and unsolicited responses

When to Use Unsolicited Messages Video

Report by Exception FAQ

What is report by exception?
It is a method where field devices send data only when values change beyond a deadband. The master no longer needs to poll every point on a fixed cycle.
Which protocols support it?
DNP3 and IEC 60870 5 104 support it natively, and MQTT uses a similar publish on change model. Modbus needs polling or a gateway to add it.
Why keep integrity polls?
DNP3 has no keep alive, so a dead outstation could look quiet. A periodic Class 0 poll confirms the device and refreshes every value.
What deadband should I use?
Start around 0.5 to 1 percent of span and adjust after watching real traffic. Critical measurements may need tighter settings.
Is it safe on RS485 multidrop lines?
Usually not, because unsolicited messages from several devices can collide. Use polling on shared serial lines and exception reporting on IP links.
How much bandwidth can it save?
Savings of 80 to 95 percent are common when values change slowly. Noisy signals or tight deadbands reduce the benefit.
What happens during a link outage?
Events are buffered with time stamps in the outstation. They are sent once the link returns, preserving the true order of changes.

Related Articles

External References

What We Learn Today

  • Report by exception sends data only when values change beyond a deadband.
  • DNP3 classes, time stamps and integrity polls make it reliable.
  • Tune deadbands and avoid unsolicited traffic on multidrop links.
I hope you like above blog. There is no cost associated in sharing the article in your social media. Thanks for reading!! Happy Learning!!

Leave a Reply

Your email address will not be published. Required fields are marked *