Skip to content

Reference

IOpcNode Members

Defines an interface which can be used to access and change the properties of a node and to notify about the changes performed on it.

Reference

IOpcNode Members ​

Type
IOpcNode
Namespace
Opc.UaFx
Assembly
Opc.UaFx.Advanced.dll
Package
Opc.UaFx.Advanced v2.59.0
Also in
Opc.UaFx.Client

Inherits members from IOpcNodeInfo.

Properties ​

Description ​

Gets or sets the value of the optional Description attribute which shall explain the meaning of the node.

csharp
OpcText Description { get; set; }
vbnet
Property Description As OpcText

Property value

OpcText

A localizable instance of the OpcText class which optionally explains the meaning of the node or a null reference (Nothing in Visual Basic) if there is no description associated with the node.

Remarks

The menaning of the node defines the usage, the context and the purpose of the node.

DisplayName ​

since v2.7

Gets or sets the value of the DisplayName attribute which defines the localizable name of the node.

csharp
OpcText DisplayName { get; set; }
vbnet
Property DisplayName As OpcText

Property value

OpcText

An instance of the OpcText class which defines the localizable name of the node.

Remarks

Client application should use this attribute if they want to display the name of the node to the user. The string part of the DisplayName is restricted to 512 characters.

HasPendingChanges ​

Gets a value indicating whether there exists any pending change on the node.

csharp
bool HasPendingChanges { get; }
vbnet
ReadOnly Property HasPendingChanges As Boolean

Property value

Boolean

The value true if PendingChanges is not equals to None; otherwise the value false.

Name ​

since v2.7

Gets or sets the value of the BrowseName attribute which defines the non-localizable human-readable name used when browsing the address space.

csharp
OpcName Name { get; set; }
vbnet
Property Name As OpcName

Property value

OpcName

Remarks

The Name should never be used to display the name of the a node. Use the DisplayName instead for this purpose.

Unlike node identifiers the Name cannot be used to unambiguously identify the node. Different nodes may have the same browse name. The namespace is provided to make the browse name unique in some cases in the context of a node (e.g. properties of a node) although not unique in the context of the server. If different organizations define browse names for properties, the namespace of the Name provided by the organization makes the Name unique, although different organizations may use the same string having a slightly different meaning. Servers may often choose to use the same namespace for the node identifier and the browse name. However, if they want to provide a standard property, its browse name shall have the namespace of the standards body although the namespace of the node identifier reflects something else, for example the local server.

It is recommended that standard bodies defining standard type definitions use their namespace for the node identifier of the type definition node as well as for the browse name of the type definition node.

The string-part of the browse name is case sensitive. That is, clients shall consider them case sensitive. Server are allowed to handle browse names passed in service requests as case insensitive.

Use the value of this property to construct browse paths (see OpcNamePath).

Namespace ​

Gets the namespace of the node.

csharp
OpcNamespace Namespace { get; }
vbnet
ReadOnly Property [Namespace] As OpcNamespace

Property value

OpcNamespace

The OpcNamespace assigned to the node or, if no namespace has been assigned to the node, the Namespace of its Id.

Parent ​

Gets the parent node of the node.

csharp
IOpcNode Parent { get; }
vbnet
ReadOnly Property Parent As IOpcNode

Property value

IOpcNode

An instance implementing the IOpcNode interface which represents the physical parent of the node, or a null reference (Nothing in Visual Basic) if the node only has logical parent nodes.

PendingChanges ​

Gets a value indicating the changes performed on the node since their last notification.

csharp
OpcNodeChanges PendingChanges { get; }
vbnet
ReadOnly Property PendingChanges As OpcNodeChanges

Property value

OpcNodeChanges

A bitwise combination of OpcNodeChanges members identifying the changes made on the node, or None if there was no change on the node since the last notification.

Remarks

Use one of the ApplyChanges overloads to notify about the changes and to reset the value of this property to None.

Tag ​

Gets or sets the object that contains additional user data about the node.

csharp
object Tag { get; set; }
vbnet
Property Tag As Object

Property value

Object

An object that contains additional user data about the node. The default is null (Nothing in Visual Basic).

UserWriteAccess ​

Gets or sets the value of the optional UserWriteAccess attribute which exposes the possibilities of a client to write the attributes of the node taking user access rights into account.

csharp
OpcAttributeWriteAccess UserWriteAccess { get; set; }
vbnet
Property UserWriteAccess As OpcAttributeWriteAccess

Property value

OpcAttributeWriteAccess

A combination of the members defined by the OpcAttributeWriteAccess enumeration.

Remarks

The mask value of this attribute can only further restrict the WriteAccess attribute, when it is set to not writable in the general case that applies for every user.

WriteAccess ​

Gets or sets the value of the optional WriteAccess attribute which exposes the posibilities of a client to write the attributes of the node.

csharp
OpcAttributeWriteAccess WriteAccess { get; set; }
vbnet
Property WriteAccess As OpcAttributeWriteAccess

Property value

OpcAttributeWriteAccess

A combination of the members defined by the OpcAttributeWriteAccess enumeration.

Remarks

The mask value of this attribute does not take any user access rights into account, that is, altough an attribute is writable this may be restricted to a certain user / user group.

If a server does not have the ability to get the write mask information for a specific attribute from the underlying system, it should state that it is writable. If a write opertation is called on the attribute, the server should transfer this request and return the corresponding OpcStatusCode if such a request is rejected.

Only in case there a corresponding attribute is set in the mask of this attribute the according attribute is writable; otherwise it can not accessed for writing.

Methods ​

AddNotifier ​

Adds the node to the collection of notifiers (= event sources) of this node.

csharp
void AddNotifier(OpcContext context, IOpcNode node)
vbnet
Sub AddNotifier(context As OpcContext, node As IOpcNode)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to add the node as the notifying event source.
nodeIOpcNodeThe IOpcNode instance acting as the notifier.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe context or node is a null reference (Nothing in Visual Basic).
NotSupportedExceptionThis node does not support notifiers; only object nodes do.

ApplyChanges ​

2 overloads

OverloadDescription
ApplyChanges(OpcContext)Notifies about changes performed on the node since the last notification and resets the pending changes to None.
ApplyChanges(OpcContext, bool)Notifies about changes performed on the node (and optionally on its children) since the last notification and resets the pending changes to None.

Exceptions (all overloads)

ExceptionCondition
ArgumentNullExceptionThe context is a null reference (Nothing in Visual Basic).

ApplyChanges(OpcContext) ​

Notifies about changes performed on the node since the last notification and resets the pending changes to None.

csharp
void ApplyChanges(OpcContext context)
vbnet
Sub ApplyChanges(context As OpcContext)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to notify about changes performed on the node.

ApplyChanges(OpcContext, bool) ​

Notifies about changes performed on the node (and optionally on its children) since the last notification and resets the pending changes to None.

csharp
void ApplyChanges(OpcContext context, bool recursive)
vbnet
Sub ApplyChanges(context As OpcContext, recursive As Boolean)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to notify about changes performed on the node.
recursiveBooleanThe value true if pending changes are to be notified for all children as well; otherwise the value false.

Child ​

since v2.7

Retrieves the child node its Name property matches exactly the name specified.

csharp
IOpcNode Child(OpcContext context, OpcName name)
vbnet
Function Child(context As OpcContext, name As OpcName) As IOpcNode

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to lookup the requested child node.
nameOpcNameThe full qualified OpcName of the node to lookup.

Returns

IOpcNode

An instance implementing the IOpcNode interface its Name exactly matches the name specified, if such a node is a known child node of this node. Otherwise a null reference (Nothing in Visual Basic).

Exceptions

ExceptionCondition
ArgumentNullExceptionThe context or name is a null reference (Nothing in Visual Basic).

Children ​

Retrieves a sequence of all nodes organized as children of this node.

csharp
IEnumerable<IOpcNode> Children(OpcContext context)
vbnet
Function Children(context As OpcContext) As IEnumerable(Of IOpcNode)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to lookup the child nodes.

Returns

IEnumerable<IOpcNode>

A sequence of instances implementing the IOpcNode interface which representing the nodes organized as child nodes of this node.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe context is a null reference (Nothing in Visual Basic).

IsChangePending ​

Determines whether all of the changes specified by the change are pending on the node (see PendingChanges).

csharp
bool IsChangePending(OpcNodeChanges change)
vbnet
Function IsChangePending(change As OpcNodeChanges) As Boolean

Parameters

NameTypeDescription
changeOpcNodeChangesA bitwise combination of OpcNodeChanges members identifying the changes to check.

Returns

Boolean

The value true if all of the changes specified by the change are pending on the node; otherwise the value false.

RemoveNotifier ​

Removes the node from the collection of notifiers (= event sources) of this node.

csharp
void RemoveNotifier(OpcContext context, IOpcNode node)
vbnet
Sub RemoveNotifier(context As OpcContext, node As IOpcNode)

Parameters

NameTypeDescription
contextOpcContextThe OpcContext to use to remove the node as the notifying event source.
nodeIOpcNodeThe IOpcNode instance no longer acting as the notifier.

Exceptions

ExceptionCondition
ArgumentNullExceptionThe context or node is a null reference (Nothing in Visual Basic).