
'Declaration
<ComDefaultInterfaceAttribute(OpcLabs.EasyOpc.DataAccess.AddressSpace.ComTypes._DANodeElementCollection)> <ComVisibleAttribute(True)> <GuidAttribute("CB8E8501-EA6A-4B4A-A915-9F50F041E618")> <CLSCompliantAttribute(True)> <TypeConverterAttribute(OpcLabs.BaseLib.Collections.ObjectModel.Implementation.KeyedCollection2TypeConverter)> <DefaultMemberAttribute("Item")> <DebuggerTypeProxyAttribute(System.Collections.Generic.Mscorlib_KeyedCollectionDebugView`2)> <DebuggerDisplayAttribute("Count = {Count}")> <SerializableAttribute()> Public NotInheritable Class DANodeElementCollection Inherits OpcLabs.BaseLib.Collections.ObjectModel.KeyedCollection2(Of String,DANodeElement) Implements OpcLabs.EasyOpc.DataAccess.AddressSpace.ComTypes._DANodeElementCollection, System.Collections.Generic.ICollection(Of DANodeElement), System.Collections.Generic.IEnumerable(Of DANodeElement), System.Collections.Generic.IList(Of DANodeElement), System.Collections.Generic.IReadOnlyCollection(Of DANodeElement), System.Collections.Generic.IReadOnlyList(Of DANodeElement), System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.IList, System.ICloneable
'Usage
Dim instance As DANodeElementCollection
[ComDefaultInterface(OpcLabs.EasyOpc.DataAccess.AddressSpace.ComTypes._DANodeElementCollection)] [ComVisible(true)] [Guid("CB8E8501-EA6A-4B4A-A915-9F50F041E618")] [CLSCompliant(true)] [TypeConverter(OpcLabs.BaseLib.Collections.ObjectModel.Implementation.KeyedCollection2TypeConverter)] [DefaultMember("Item")] [DebuggerTypeProxy(System.Collections.Generic.Mscorlib_KeyedCollectionDebugView`2)] [DebuggerDisplay("Count = {Count}")] [Serializable()] public sealed class DANodeElementCollection : OpcLabs.BaseLib.Collections.ObjectModel.KeyedCollection2<string,DANodeElement>, OpcLabs.EasyOpc.DataAccess.AddressSpace.ComTypes._DANodeElementCollection, System.Collections.Generic.ICollection<DANodeElement>, System.Collections.Generic.IEnumerable<DANodeElement>, System.Collections.Generic.IList<DANodeElement>, System.Collections.Generic.IReadOnlyCollection<DANodeElement>, System.Collections.Generic.IReadOnlyList<DANodeElement>, System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.IList, System.ICloneable
[ComDefaultInterface(OpcLabs.EasyOpc.DataAccess.AddressSpace.ComTypes._DANodeElementCollection)] [ComVisible(true)] [Guid("CB8E8501-EA6A-4B4A-A915-9F50F041E618")] [CLSCompliant(true)] [TypeConverter(OpcLabs.BaseLib.Collections.ObjectModel.Implementation.KeyedCollection2TypeConverter)] [DefaultMember("Item")] [DebuggerTypeProxy(System.Collections.Generic.Mscorlib_KeyedCollectionDebugView`2)] [DebuggerDisplay("Count = {Count}")] [Serializable()] public ref class DANodeElementCollection sealed : public OpcLabs.BaseLib.Collections.ObjectModel.KeyedCollection2<String,DANodeElement>, OpcLabs.EasyOpc.DataAccess.AddressSpace.ComTypes._DANodeElementCollection, System.Collections.Generic.ICollection<DANodeElement>, System.Collections.Generic.IEnumerable<DANodeElement>, System.Collections.Generic.IList<DANodeElement>, System.Collections.Generic.IReadOnlyCollection<DANodeElement>, System.Collections.Generic.IReadOnlyList<DANodeElement>, System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.IList, System.ICloneable
Items in an OPC server are typically organized in a tree hierarchy (address space), where the branch nodes serve organizational purposes (similar to folders in a file system), while the leaf nodes correspond to actual pieces of data that can be accessed (similar to files in a file system) – the OPC items. Each node has a “short” name that is unique among other branches or leaves under the same parent branch (or a root). Leaf nodes can be fully identified using a “long” ItemID, which determines the OPC item without a need to further qualify it with its position in the tree. ItemIDs may look like “Device1.Block101.Setpoint”, however their syntax and meaning is fully determined by the particular OPC server they are coming from.
QuickOPC gives you methods to traverse through the address space information and obtain the information available there. It is also possible to filter the returned nodes by various criteria, such as node name matching certain pattern, or a particular data type only, or writeable items only, etc.
If you want to retrieve a list of all sub-branches under a given branch (or under a root) of the OPC server, call the BrowseBranches method. You will receive back a DANodeElementCollection object. Each DANodeElement contains information gathered about one sub-branch node, such as its name, or indication whether it has children.
Similarly, if you want to retrieve a list of leaves under a given branch (or under a root) of the OPC server, call the BrowseLeaves method. You will also receive back a DANodeElementCollection object, this time containing the leaves only. You can find information such as the Item ID from the DANodeElement of any leaf, and pass it further to methods like ReadItem or SubscribeItem.
The most generic address space browsing method is BrowseNodes. It combines the functionality of BrowseBranches and BrowseLeaves, and it also allows the widest range of filtering options by passing in an argument of type DABrowseParameters, or individual arguments for data type filter and access rights filter.
System.Object
System.Collections.ObjectModel.Collection<T>
System.Collections.ObjectModel.KeyedCollection<TKey,TItem>
OpcLabs.EasyOpc.DataAccess.AddressSpace.DANodeElementCollection
Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2012, Windows Server 2016; .NET Core, .NET 5, .NET 6: Linux, macOS, Microsoft Windows