How to Fix an OPC UA Subscription Not Delivering Data Changes
The subscription is created, the monitored items are there, the process is moving - and no data changes arrive at the client. Because the session is healthy and the items exist, this is not a connection fault; something in the subscription's own configuration is suppressing delivery. This page orders the realistic causes, from a disabled monitoring mode to a deadband so wide nothing clears it, each with the check that confirms or clears it.
Fix an OPC UA Subscription Not Delivering Changes in one line: When an OPC UA subscription delivers no data changes, the session is fine and the subscription is misconfigured. Check, in order: the monitored item's monitoring mode is set to Reporting not Disabled or Sampling, the subscription's publishing is enabled, the deadband is not so wide it suppresses everything, and the sampling interval was not revised to something too slow to see the change.
First Checks
Confirm you are actually getting keep-alive publishes with no data, versus nothing at all. A subscription sending periodic empty keep-alives is alive but reporting no changes - a configuration issue. A subscription sending literally nothing, not even keep-alives, is a different, more basic problem closer to the session. Watch the wire for that distinction first; it splits the diagnosis.
Then confirm the underlying value is genuinely changing more than any deadband would allow, by reading it directly a few times. If the value truly is not moving, the subscription is behaving correctly and there is nothing to fix. Prove there is a real change to deliver before concluding the subscription is swallowing it.
Set the Monitoring Mode to Reporting
Each monitored item has a monitoring mode with three states: Disabled, Sampling, and Reporting. Only Reporting actually sends notifications to the client. Sampling reads the value but does not report changes; Disabled does neither. A monitored item left in Sampling or Disabled will produce exactly this symptom - it exists, it may even be reading, but it never delivers. This is the single most common cause.
Read back each item's monitoring mode and set the ones that should report to Reporting. It is easy to create items in the wrong mode or have a management step leave them Disabled. Grounding in how the objects behave is in OPC UA subscriptions and monitored items; the monitoring mode is the switch that turns delivery on.
Confirm Publishing Is Enabled on the Subscription
Above the item level, the subscription itself has a publishing-enabled flag. If publishing is disabled on the subscription, no monitored item under it delivers, regardless of each item's mode - the whole subscription is muted. This produces total silence with, at most, keep-alives. Check and enable publishing on the subscription as a distinct step from the per-item monitoring mode.
The two controls stack: publishing must be enabled on the subscription and monitoring must be Reporting on the item for a change to reach the client. Verifying both is quick and rules out half the causes. If publishing was disabled, enabling it should immediately unmute every correctly-configured item beneath it.
Check the Deadband Is Not Suppressing Everything
A deadband set too wide will suppress every change that does not exceed it, so a value that moves within the deadband produces no notification and the subscription looks dead. If monitoring mode and publishing are correct but a specific analog item is silent while its value moves modestly, an oversized deadband is the likely cause. Read the deadband setting and compare it to the real movement.
Reduce the deadband to just above the instrument's noise floor so real movement reports while noise does not, then confirm changes flow. Setting the deadband correctly is the same discipline as tuning any subscription - see setting OPC UA sampling and publishing intervals. A deadband is meant to filter noise, not silence the point.
Verify the Fix
After correcting the mode, publishing, and deadband, nudge the process and confirm a data change arrives within one sampling-plus-publishing period, carrying the new value with good quality. A clean, timely data change proves the delivery path is restored. Re-read the monitoring mode and publishing flag to confirm they are actually set as intended and did not silently revert.
Also confirm the server did not revise your sampling interval to something too slow to catch the change - a revised interval slower than the change rate can make a correctly-configured subscription still look sluggish. Check the revised value the server returned against what you requested, so a slow interval is not mistaken for a delivery failure you already fixed.
Common Mistakes
The dominant mistake is a monitored item left in Sampling or Disabled mode instead of Reporting, which reads but never delivers - and looks like a broken subscription. The second is overlooking the subscription-level publishing-enabled flag, which mutes everything beneath it at once.
Another is an oversized deadband that silences a moving analog, mistaken for a dead point. And do not forget the server's revised sampling interval: a subscription configured perfectly can still seem slow if the server sampled slower than you asked, so always read back the revised values before declaring the delivery path broken.
Frequently Asked Questions
Why is my OPC UA subscription not delivering any data?
The session is fine, so the subscription is misconfigured. The most common cause is a monitored item left in Sampling or Disabled mode instead of Reporting, which reads but never delivers. Next check that publishing is enabled on the subscription, that the deadband is not suppressing all movement, and that the server did not revise the sampling interval too slow.
What is the difference between Sampling and Reporting monitoring mode?
Reporting reads the value and sends notifications of changes to the client. Sampling reads the value but does not report it, so the client sees nothing. Disabled does neither. Only Reporting delivers data changes, so a monitored item that exists but is silent is very often stuck in Sampling or Disabled and needs to be set to Reporting.
Can a deadband stop an OPC UA subscription from delivering?
Yes. A deadband set wider than the value's real movement suppresses every change, so a modestly moving analog produces no notification and the subscription looks dead. Read the deadband and compare it to the actual movement; reduce it to just above the instrument's noise floor so genuine changes report while noise is filtered out.
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.
- OPC Unified Architecture Specification (IEC 62541) - OPC Foundation
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.