The full power of TDengine, now free forever for up to 5,000 tags.

Explore More

OPC UA Sampling Intervals and Deadbands: How Much Data Should You Collect?

TDengine Team

October 21, 2026 /

The right OPC UA collection rate is the slowest configuration that still preserves the process behavior needed for operations and historical analysis. That rate is not one number. Device updates, server sampling, subscription publishing, filtering, and historian storage are separate stages.

Treating them as a single “scan rate” can create two opposite problems. An aggressive request may add server and collector load without revealing any new information. A slow request or a wide deadband may hide a pressure transient or short state change that the historian was expected to explain.

Start with the five rates in the data path

StageWhat it controlsWhat it does not guarantee
Device or PLC scanHow often control logic or I/O updates the source valueHow often an OPC UA client receives it
Server source updateHow the OPC UA server obtains or refreshes that valueA client-selected rate
Monitored-item sampling intervalThe fastest requested rate at which the server should sample the itemFaster resolution than the source provides
Subscription publishing intervalHow often the subscription attempts to return queued notificationsThat every item changes during each cycle
Historian storage or aggregationWhich received records are retained or summarizedRecovery of changes filtered out upstream

These stages interact, but none replaces another. A PLC may update a temperature every 500 milliseconds while the OPC UA server refreshes its internal value once per second. Asking the server to sample every 100 milliseconds will then read the same underlying value repeatedly or detect changes no sooner than the server makes them available.

Sampling and publishing solve different timing problems

An OPC UA monitored-item sampling interval tells the server how frequently it should check the underlying source for a change. The specification describes this as a best-effort cyclic rate. A request of zero means the fastest practical rate, not an unlimited or guaranteed rate.

Servers commonly support a limited set of intervals. When a client creates or modifies a monitored item, the server can return a revised sampling interval. The client should use the revised value as the actual agreement. The server can likewise revise the requested publishing interval to meet its constraints.

The publishing interval belongs to the subscription. At each cycle, the subscription attempts to send notifications that monitored items have generated and queued. Sampling can therefore occur several times within one publishing interval. The later publication may group those notifications, subject to queue size and other subscription limits.

A shorter publishing interval can reduce delivery latency, but it does not make the source update faster. A shorter sampling interval can improve change detection only when the source and server can supply useful changes at that rate.

Deadbands decide which numeric changes become notifications

An OPC UA DataChangeFilter can suppress small numeric value changes while still reporting changes that meet its trigger rules. This filtering happens before the historian receives the notification, so the historian cannot reconstruct suppressed samples later.

OPC UA defines three deadband types:

  • None applies no deadband calculation.
  • Absolute compares the magnitude of the current value change with a configured value in the measurement’s units. A change is reported when it is greater than the absolute deadband.
  • Percent calculates the threshold as a percentage of the item’s EURange. It applies to AnalogItems that provide that engineering-unit range.

For example, a 1 percent deadband on an EURange of 0 to 200 bar produces a threshold of 2 bar. That is not 1 percent of the current reading. If EURange is missing or does not represent the intended operating range, the percentage setting is unavailable or may produce an unsuitable threshold.

Deadbands are not a general-purpose setting for every value. The OPC UA absolute deadband applies to numeric variables. A Boolean motor-running state has no useful numeric noise band. Its important information is the transition itself. Status changes are also not suppressed merely because a value falls within a deadband.

Tune settings to the measurement, not the tag count

MeasurementEngineering priorityPractical starting approach
Tank temperaturePreserve slow trends without recording sensor noiseSample in line with the process response; consider a small, justified numeric deadband
Pump discharge pressurePreserve transients, cycling, and instabilitySample faster than the shortest event that must be investigated; use a tight or no deadband if peaks matter
Motor running stateCapture every start and stop transitionUse change reporting with no numeric deadband; confirm sampling and queue behavior can retain short transitions

There is no safe universal interval for any of these classes. A temperature used for long-term energy analysis may tolerate slower collection than the same temperature used for trip investigation. A pressure average may look correct even when a damaging one-second excursion was never collected.

Define the evidence requirement first. Ask for the shortest event duration, maximum acceptable detection delay, smallest meaningful value change, and calculations that will use the data. These requirements provide a defensible basis for timing and filtering.

More samples can create load without more information

Short sampling intervals increase the number of evaluations the server may perform. Tight deadbands can generate more notifications. Short publishing intervals can increase message frequency. Across thousands of points, those choices affect server CPU, subscription queues, network traffic, collector processing, and historian writes.

The answer is not to filter everything aggressively. Upstream filtering trades data volume for irreversible information loss. Use it when measurement noise is understood and the suppressed changes are demonstrably irrelevant to the intended use.

Also inspect the values the server actually grants. A configuration screen may show the requested sampling or publishing interval while the server is operating at a revised value. Record both during commissioning.

Prove the configuration with a controlled test

Test representative signals under normal and abnormal operating conditions:

  1. Capture a trusted high-resolution reference from the controller, server, or test instrument.
  2. Record requested and revised OPC UA sampling and publishing settings, plus filter and queue settings.
  3. Generate known ramps, small oscillations, fast transients, and state transitions where the process permits.
  4. Compare event timing, peaks, transition counts, averages, and totals in the collected history with the reference.
  5. Observe server, network, collector, and storage load before expanding the configuration.

Repeat the test after firmware, server, or collector changes. A configuration that was adequate for a slow process may fail after the control strategy or analysis requirement changes.

Where TDengine fits in the collection path

TDengine TSDB-Enterprise OPC UA ingestion supports subscribe mode, in which the server reports data changes, and observe mode, in which the task polls at a configured collection interval. The current OPC UA ingestion documentation states that the observe interval is task-level and that subscribe mode does not scan every point on a fixed interval.

The documentation does not describe a taosExplorer control for OPC UA monitored-item sampling intervals, publishing intervals, or deadbands. Verify those settings in the OPC UA server and the connector version in use rather than assuming the ingestion task exposes them.

Once values reach an industrial time-series database, retention, downsampling, and query design can manage stored data for different consumers. Those downstream choices cannot restore a transient that source sampling or a deadband never reported. Collection tuning therefore needs to be validated before storage optimization begins.

Related Articles