OpcSubscriptionSetup Members

Namespace: Opc.UaFx.Client
Assemblies: Opc.UaFx.Advanced.dll, Opc.UaFx.Advanced.dll
The OpcSubscriptionSetup type exposes the following members.

OpcSubscriptionSetup()

Initializes a new instance of the OpcSubscriptionSetup class.

C#

public OpcSubscriptionSetup()

OpcSubscriptionSetup(IEnumerable<OpcMonitoredItem>)

Initializes a new instance of the OpcSubscriptionSetup class using the sequence of monitoredItems.

C#

public OpcSubscriptionSetup(IEnumerable<OpcMonitoredItem> monitoredItems)


Parameters

monitoredItems IEnumerable<OpcMonitoredItem>

A sequence of OpcMonitoredItem objects.


Exceptions

ArgumentNullException

The monitoredItems is a null reference (Nothing in Visual Basic).

OpcSubscriptionSetup(params OpcMonitoredItem[])

Initializes a new instance of the OpcSubscriptionSetup class using the sequence of monitoredItems.

C#

public OpcSubscriptionSetup(params OpcMonitoredItem[] monitoredItems)


Parameters

monitoredItems OpcMonitoredItem[]

An array of OpcMonitoredItem objects.


Exceptions

ArgumentNullException

The monitoredItems is a null reference (Nothing in Visual Basic).

Changed

Occurs then a monitored is added, modified, deleted or changes on the OpcSubscription were applied.

C#

public OpcSubscriptionChangedEventHandler Changed { get; set; }


Property Value

OpcSubscriptionChangedEventHandler

DataChangeReceived

Occurs then a monitored item receives an event notification which is not handled by an OpcDataChangeReceivedEventHandler on its DataChangeReceived event.

C#

public OpcDataChangeReceivedEventHandler DataChangeReceived { get; set; }


Property Value

OpcDataChangeReceivedEventHandler



Remarks

This event only occurs if an event notification is not handled by the according DataChangeReceived event handler.

DisplayName

Gets or sets the name of the OpcSubscription used just for display purpose in the client application.

C#

public string DisplayName { get; set; }


Property Value

String

The name of the OpcSubscription used just for display purpose in the client application.

EventReceived

Occurs then a monitored item receives an event notification which is not handled by an OpcEventReceivedEventHandler on its EventReceived event.

C#

public OpcEventReceivedEventHandler EventReceived { get; set; }


Property Value

OpcEventReceivedEventHandler



Remarks

This event only occurs if an event notification is not handled by the according EventReceived event handler.

KeepAliveCount

Gets or sets a value which defines the requested number of times the publishing timer have to expire without any notification being sent before the server have to send a keep-alive message to the client.

C#

public long KeepAliveCount { get; set; }


Property Value

Int64

A value of zero indicates that the server have to revise the smallest supported keep-alive count. The default value of this property is 10.

The value of this property configures the keep-alive counter that counts the number of consecutive publishing cycles in which there have been no notifications to report to the client. When the maximum keep-alive count is reached, a publish request is de-queued and used to return a keep-alive message. This keep-alive message informs the client that the subscription is still active. The maximum keep-alive count may be subsequently modified. If there are no publish requests queued, the server waits for the next one to be received and sends the keep-alive immediately without waiting for the next publishing cycle.

The value of the underlying property is an UInt32 which is covered using a Int64 to assure CLS compliance. In fact this restricts the value range of this property to MinValue and MaxValue.

LifetimeCount

Gets or sets a value which defines the requested number of times the publishing timer have to expire without any publish request before the server have to delete this OpcSubscription.

C#

public long LifetimeCount { get; set; }


Property Value

Int64

The number of times the publishing timer have to expire without any publish request. A recommended value is at least a minimum of three times of the KeepAliveCount. The default value of this property is 100.



Remarks

The value of the underlying property is an UInt32 which is covered using a Int64 to assure CLS compliance. In fact this restricts the value range of this property to MinValue and MaxValue.

MaxMessageCount

Gets or sets the maximum number of notifications to keep in the cache.

C#

public int MaxMessageCount { get; set; }


Property Value

Int32

The maximum number of notification to keep in the cache. The default value of this property is 10.

MaxNotificationsPerPublish

Gets or sets a value which defines the maximum number of notifications that the client wants to receive in a single publish response.

C#

public long MaxNotificationsPerPublish { get; set; }


Property Value

Int64

The maximum number of notifications that the client wants to receive in a single publish response. The number of notifications per publish is the sum of MonitoredItems in a data change related notification and the number of events in an event notification. The default value of this property is 1000.



Remarks

A value of zero indicates that there is no limit.

The value of the underlying property is an UInt32 which is covered using a Int64 to assure CLS compliance. In fact this restricts the value range of this property to MinValue and MaxValue.

MinLifetimeInterval

Gets or sets a value which defines the minimum lifetime interval to apply in respect of the PublishingInterval and the LifetimeCount configured.

C#

public long MinLifetimeInterval { get; set; }


Property Value

Int64

The interval which should be a multiple of the PublishingInterval to assure that the LifetimeCount requested is sensible enough to get covered within the PublishingInterval.

MonitoredItems

Gets a read-only collection of OpcMonitoredItem instances associated with this OpcSubscription.

C#

public OpcMonitoredItemReadOnlyCollection MonitoredItems { get; }


Property Value

OpcMonitoredItemReadOnlyCollection

An instance of the OpcMonitoredItemReadOnlyCollection class.



Remarks

Use the monitored item related methods of this OpcSubscription to manipulate the items contained in the collection offered by this property.

NotificationReceived

Occurs then a OpcNotification for this OpcSubscription has been received by the session which owns this OpcSubscription.

C#

public OpcNotificationReceivedEventHandler NotificationReceived { get; set; }


Property Value

OpcNotificationReceivedEventHandler

Priority

Gets or sets a value which defines the relative priority of the subscription used to priorize notifications being send then more than one subscription is to be notified.

C#

public int Priority { get; set; }


Property Value

Int32

The relative priority of the subscription to notify.



Remarks

In case of subscriptions with equal priority the server shall send the notifications in a round-robin fashion. A client that does not require special priority settings should set this value to zero.

The value of the underlying property is a Byte which is covered using an Int32 to assure an even API level. In fact this restricts the value range of this property to MinValue and MaxValue.

PublishingInterval

Gets or sets the requested number of milliseconds of the interval within the server have to send cyclic notifications to the client.

C#

public int PublishingInterval { get; set; }


Property Value

Int32

The interval within the server have to send cyclic notifications to the client. A value of zero or negative indicates that the server have to revise the fastest supported publishing interval.



Remarks

The publishing interval of a subscription defines the cyclic rate at which the subscription executes. Each time it executes, it attempts to send a message to the client. Messages contain notifications that have not yet been reported to client.

The negotiated value of this property is used as the default sampling interval for the MonitoredItems assigned to this OpcSubscription.

PublishingIsEnabled

Gets or sets a value indicating whether publishing is enabled for this OpcSubscription.

C#

public bool PublishingIsEnabled { get; set; }


Property Value

Boolean

The value true if publishing is enabled for this OpcSubscription; otherwise the value false. The default value of this property is true.



Remarks

The value of this property does not affect the value of the monitoring mode property of the MonitoredItems.

ReceivedDataChangeCallback

Gets or sets the callback used to process data changes of the monitored items associated with this OpcSubscription.

C#

public OpcDataChangeReceivedCallback ReceivedDataChangeCallback { get; set; }


Property Value

OpcDataChangeReceivedCallback

A OpcDataChangeReceivedCallback used to process data change items. The value can also be a null reference (Nothing in Visual Basic).



Remarks

Use this property to directly handle all data change items without to rely on the chain of registered event handlers.

ReceivedEventCallback

Gets or sets the callback used to process events of the monitored items associated with this OpcSubscription.

C#

public OpcEventReceivedCallback ReceivedEventCallback { get; set; }


Property Value

OpcEventReceivedCallback

A OpcDataChangeReceivedCallback used to process event items. The value can also be a null reference (Nothing in Visual Basic).



Remarks

Use this property to directly handle all event items without to rely on the chain of registered event handlers.

TimestampsToReturn

Gets or sets the timestamps the server shall transmit for each monitored item.

C#

public OpcTimestampsToReturn TimestampsToReturn { get; set; }


Property Value

OpcTimestampsToReturn

One of the members defined by the OpcTimestampsToReturn enumeration. The default value of this property is Both.



Remarks

The “timestamps to return” criteria is only applied to OpcValue instances. This means that in case of monitoring events only event fields of the type OpcValue are effected by the value of this property.

UseMonitoredItemDataCache

Gets or sets a value indicating whether this OpcSubscription shall forward notifications received from the server to monitored item individual caches. This enables the monitored items to process the data changes and event fields on their own.

C#

public bool UseMonitoredItemDataCache { get; set; }


Property Value

Boolean

The value true if the OpcMonitoredItem instances associated with this OpcSubscription receive their own item-related notification and can process the notification data on their own; otherwise the value false. The default value of this property is true.

AddMonitoredItem(IEnumerable<OpcMonitoredItem>)

Adds the monitored items specified by items to this OpcSubscription.

C#

public void AddMonitoredItem(IEnumerable<OpcMonitoredItem> items)


Parameters

items IEnumerable<OpcMonitoredItem>

A sequence of OpcMonitoredItem istances to add.



Exceptions

ArgumentNullException

The items is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcMonitoredItem)

Adds the monitored item specified by item to this OpcSubscription.

C#

public void AddMonitoredItem(OpcMonitoredItem item)


Parameters

item OpcMonitoredItem

The OpcMonitoredItem to add.



Exceptions

ArgumentNullException

The item is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId)

Adds a new monitored item which subscribes to changes on the Value attribute of the node specified by nodeId.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its Value attribute is to be monitored.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcAttribute)

Adds a new monitored item which subscribes to the attribute of the node specified by nodeId.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcAttribute attribute)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its attribute is to be monitored.

attribute OpcAttribute

The OpcAttribute to monitor.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcAttribute, OpcDataChangeFilter, OpcDataChangeReceivedEventHandler)

Adds a new monitored item which subscribes to the attribute of the node specified by nodeId using the further configured filter.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcAttribute attribute, OpcDataChangeFilter filter, OpcDataChangeReceivedEventHandler received)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its attribute is to be monitored.

attribute OpcAttribute

The OpcAttribute to monitor.

filter OpcDataChangeFilter

The OpcDataChangeFilter to use to apply different conditions while monitoring the attribute.

received OpcDataChangeReceivedEventHandler

The OpcDataChangeReceivedEventHandler method to assign as the event handler of the DataChangeReceived event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcAttribute, OpcDataChangeReceivedEventHandler)

Adds a new monitored item which subscribes to the attribute of the node specified by nodeId.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcAttribute attribute, OpcDataChangeReceivedEventHandler received)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its attribute is to be monitored.

attribute OpcAttribute

The OpcAttribute to monitor.

received OpcDataChangeReceivedEventHandler

The OpcDataChangeReceivedEventHandler method to assign as the event handler of the DataChangeReceived event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcAttribute, OpcEventFilter, OpcEventReceivedEventHandler)

Adds a new monitored item which subscribes to the attribute of the node specified by nodeId using the further configured filter.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcAttribute attribute, OpcEventFilter filter, OpcEventReceivedEventHandler received)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its attribute is to be monitored.

attribute OpcAttribute

The OpcAttribute to monitor.

filter OpcEventFilter

The OpcEventFilter to use to apply different conditions while monitoring the attribute.

received OpcEventReceivedEventHandler

The OpcEventReceivedEventHandler method to assign as the event handler of the EventReceived event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcAttribute, OpcEventReceivedEventHandler)

Adds a new monitored item which subscribes to the attribute of the node specified by nodeId.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcAttribute attribute, OpcEventReceivedEventHandler received)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its attribute is to be monitored.

attribute OpcAttribute

The OpcAttribute to monitor.

received OpcEventReceivedEventHandler

The OpcEventReceivedEventHandler method to assign as the event handler of the EventReceived event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcAttribute, OpcMonitoringFilter)

Adds a new monitored item which subscribes to the attribute of the node specified by nodeId using the further configured filter.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcAttribute attribute, OpcMonitoringFilter filter)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its attribute is to be monitored.

attribute OpcAttribute

The OpcAttribute to monitor.

filter OpcMonitoringFilter

The OpcMonitoringFilter (either a OpcDataChangeFilter or a OpcEventFilter) to use to apply different conditions while monitoring the attribute.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcDataChangeFilter, OpcDataChangeReceivedEventHandler)

Adds a new monitored item which subscribes to changes on the Value attribute of the node specified by nodeId using the further configured filter.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcDataChangeFilter filter, OpcDataChangeReceivedEventHandler received)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its Value attribute is to be monitored.

filter OpcDataChangeFilter

The OpcDataChangeFilter to use to apply different conditions while monitoring the attribute.

received OpcDataChangeReceivedEventHandler

The OpcDataChangeReceivedEventHandler method to assign as the event handler of the DataChangeReceived event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcDataChangeReceivedEventHandler)

Adds a new monitored item which subscribes to changes on the Value attribute of the node specified by nodeId.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcDataChangeReceivedEventHandler received)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its Value attribute is to be monitored.

received OpcDataChangeReceivedEventHandler

The OpcDataChangeReceivedEventHandler method to assign as the event handler of the DataChangeReceived event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcEventFilter, OpcEventReceivedEventHandler)

Adds a new monitored item which subscribes to changes on the EventNotifier attribute of the node specified by nodeId using the further configured filter.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcEventFilter filter, OpcEventReceivedEventHandler received)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its EventNotifier attribute is to be monitored.

filter OpcEventFilter

The OpcEventFilter to use to apply different conditions while monitoring the attribute.

received OpcEventReceivedEventHandler

The OpcEventReceivedEventHandler method to assign as the event handler of the EventReceived event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcEventReceivedEventHandler)

Adds a new monitored item which subscribes to events on the EventNotifier attribute of the node specified by nodeId.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcEventReceivedEventHandler received)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its EventNotifier attribute is to be monitored.

received OpcEventReceivedEventHandler

The OpcEventReceivedEventHandler method to assign as the event handler of the EventReceived event or a null reference (Nothing in Visual Basic) if there no event handler is to be assigned first.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(OpcNodeId, OpcMonitoringFilter)

Adds a new monitored item which subscribes to changes on the Value attribute of the node specified by nodeId using the further configured filter.

C#

public OpcMonitoredItem AddMonitoredItem(OpcNodeId nodeId, OpcMonitoringFilter filter)


Parameters

nodeId OpcNodeId

The OpcNodeId of the node its Value attribute is to be monitored.

filter OpcMonitoringFilter

The OpcMonitoringFilter (either a OpcDataChangeFilter or a OpcEventFilter) to use to apply different conditions while monitoring the attribute.


Returns

OpcMonitoredItem

A new instance of the OpcMonitoredItem class setup with the information specified. The monitored item will then monitor the node identified by the values passed to this method.



Exceptions

ArgumentException

The nodeId is empty.

ArgumentNullException

The nodeId is a null reference (Nothing in Visual Basic).

AddMonitoredItem(params OpcMonitoredItem[])

Adds the monitored items specified by items to this OpcSubscription.

C#

public void AddMonitoredItem(params OpcMonitoredItem[] items)


Parameters

items OpcMonitoredItem[]

An array of OpcMonitoredItem istances to add.



Exceptions

ArgumentNullException

The items is a null reference (Nothing in Visual Basic).

RemoveMonitoredItem(IEnumerable<OpcMonitoredItem>)

Removes the monitored items specified by items from the MonitoredItems of this OpcSubscription.

C#

public void RemoveMonitoredItem(IEnumerable<OpcMonitoredItem> items)


Parameters

items IEnumerable<OpcMonitoredItem>

A sequence of OpcMonitoredItem instances to remove.



Exceptions

ArgumentNullException

The items is a null reference (Nothing in Visual Basic).

RemoveMonitoredItem(OpcMonitoredItem)

Removes the monitored item specified by item from the MonitoredItems of this OpcSubscription.

C#

public void RemoveMonitoredItem(OpcMonitoredItem item)


Parameters

item OpcMonitoredItem

The OpcMonitoredItem to remove.



Exceptions

ArgumentNullException

The item is a null reference (Nothing in Visual Basic).

RemoveMonitoredItem(params OpcMonitoredItem[])

Removes the monitored items specified by items from the MonitoredItems of this OpcSubscription.

C#

public void RemoveMonitoredItem(params OpcMonitoredItem[] items)


Parameters

items OpcMonitoredItem[]

An array of OpcMonitoredItem instances to remove.



Exceptions

ArgumentNullException

The items is a null reference (Nothing in Visual Basic).

ToString()

Returns a string that represents the current OpcSubscription.

C#

public override string ToString()


Returns

String

A string that represents the current OpcSubscription including the used DisplayName, the PublishingIsEnabled and the PublishingInterval.