0
0
SCADA systemsdevops~10 mins

Polling vs report-by-exception in SCADA systems - Visual Side-by-Side Comparison

Choose your learning style9 modes available
Process Flow - Polling vs report-by-exception
Start
Polling?
YesSend request to device
Device responds with data
Report-by-exception?
YesDevice sends data only on change
SCADA receives data
End
Polling repeatedly asks devices for data; report-by-exception sends data only when changes happen.
Execution Sample
SCADA systems
1. Polling loop:
   send_request()
   wait_response()
   process_data()
2. Report-by-exception:
   device_detects_change()
   send_update()
   process_data()
Shows how polling requests data regularly, while report-by-exception sends data only on changes.
Process Table
StepMethodActionData SentSCADA ReceivesNext Step
1PollingSend request to deviceRequestNoWait for response
2PollingDevice responds with current dataDataYesProcess data
3PollingProcess dataNoneYesSend next request
4PollingSend next requestRequestNoRepeat steps 2-4
5Report-by-exceptionDevice monitors dataNoneNoWait for change
6Report-by-exceptionData changes detectedData updateYesProcess data
7Report-by-exceptionProcess dataNoneYesWait for next change
8Report-by-exceptionNo data changeNoneNoWait continues
9PollingCondition: polling continuesN/AN/ALoop or stop
10Report-by-exceptionCondition: no change, no sendN/AN/AWait or stop
💡 Polling stops when manual stop or error; report-by-exception waits indefinitely for changes.
Status Tracker
VariableStartAfter Step 2After Step 3After Step 6After Step 7Final
Request SentNoYesYesNoNoDepends on loop
Data ReceivedNoYesYesYesYesDepends on changes
Data ChangedNoNoNoYesNoDepends on device
Waiting StateYesNoNoYesYesDepends on method
Key Moments - 3 Insights
Why does polling send requests even if data hasn't changed?
Polling always sends requests to get current data, shown in execution_table rows 1 and 4, regardless of data changes.
How does report-by-exception reduce network traffic?
Report-by-exception sends data only when changes occur, as seen in rows 6 and 8, avoiding unnecessary data transfer.
What happens if no data changes in report-by-exception?
The device waits silently without sending data, shown in row 8, reducing load compared to polling.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, at which step does polling send a request to the device?
AStep 2
BStep 6
CStep 1
DStep 5
💡 Hint
Check the 'Action' column for 'Send request to device' in polling rows.
According to variable_tracker, after which step does 'Data Changed' become Yes?
AAfter Step 2
BAfter Step 6
CAfter Step 3
DAfter Step 7
💡 Hint
Look at the 'Data Changed' row and see when it switches to Yes.
If the device never detects a change, how does report-by-exception behave according to execution_table?
ASends no data and waits silently
BSends data regularly like polling
CSends data only once at start
DSends error messages
💡 Hint
Refer to row 8 where 'No data change' leads to no data sent.
Concept Snapshot
Polling repeatedly asks devices for data at set intervals.
Report-by-exception sends data only when changes occur.
Polling uses more network traffic; report-by-exception is efficient.
Polling: SCADA initiates communication.
Report-by-exception: device initiates on change.
Full Transcript
Polling and report-by-exception are two ways SCADA systems get data from devices. Polling means SCADA asks devices regularly for data, even if nothing changed. Report-by-exception means devices send data only when something changes. Polling can cause more network traffic because it sends requests and responses all the time. Report-by-exception reduces traffic by sending updates only on changes. In polling, SCADA controls when data is requested. In report-by-exception, the device controls when to send data. This makes report-by-exception more efficient but requires devices to detect changes. Understanding these methods helps optimize SCADA communication.