MonitoredItem
A MonitoredItem is the server-side object that watches one attribute of one node - usually the Value - samples it at its own sampling interval, applies its filter, and puts the surviving notifications in its queue. The subscription that owns it drains those queues on each publishing cycle. Created with CreateMonitoredItems.
What you specify when you create one
The target is a NodeId plus an AttributeId, optionally narrowed by IndexRange and DataEncoding. The behaviour is set by SamplingInterval, Filter (DataChangeFilter, EventFilter or AggregateFilter), QueueSize, DiscardOldest and MonitoringMode. You also supply a ClientHandle, an opaque number the server echoes in every notification - that handle, not the NodeId, is how your callback identifies which item reported.
Read the revised values back
The response returns RevisedSamplingInterval and RevisedQueueSize alongside a per-item StatusCode. Servers clamp both freely: a request for 50 ms on a node whose MinimumSamplingInterval attribute is 250 ms comes back as 250, and a queue of 100 may come back as 10. A client that logs the requested values and never reads the revised ones will report a data rate it is not actually receiving.
Per-item results, not per-call results
CreateMonitoredItems returns Good for the call while individual items fail. An item on a deleted node returns BadNodeIdUnknown in its own result, an unsupported filter returns BadMonitoredItemFilterUnsupported, and exceeding MaxMonitoredItemsPerSubscription returns BadTooManyMonitoredItems - all inside an otherwise successful response. Always iterate the results array.
Example
Create request and what actually came back
CreateMonitoredItems on SubscriptionId 4 (PublishingInterval 1000 ms)
requested: NodeId ns=3;s="Line3"."Motor"."Speed" AttributeId Value
SamplingInterval 50 QueueSize 1 DiscardOldest true
MonitoringMode Reporting ClientHandle 17
response: StatusCode Good
RevisedSamplingInterval 250 <- clamped by MinimumSamplingInterval
RevisedQueueSize 1
Effective result: 4 samples per publishing cycle, queue of 1 -> 3 discarded per cycle,
overflow bit set, StatusCode still reads Good.
Defined in: Part 4 - Services, MonitoredItem Service Set (CreateMonitoredItems, ModifyMonitoredItems, SetMonitoringMode, SetTriggering, DeleteMonitoredItems).
Last verified 7 September 2026 against OPC UA 1.05.07. OPC UA Connect is an educational resource and is not affiliated with the OPC Foundation.