6.10 OrderedListType Definition ToC Next index

The OrderedListType is a base type to manage an ordered list of Objects. It is formally defined in Table 87B.

Table 87 B - OrderedListType Definition

Attribute Value        
BrowseName OrderedListType        
IsAbstract False        
References Node Class BrowseName DataType TypeDefinition Other
Subtype of the BaseObjectType defined in 6.2, i.e. inheriting the InstanceDeclarations of that Node.          
HasOrderedComponent Object <OrderedObject>   BaseObjectType OP
HasProperty Variable NodeVersion String PropertyType O
GeneratesEvent ObjectType GeneralModelChangeEventType      

The <OrderedObject> Object represents the ordered Objects managed by Instances of the OrderedListType. The order is provided by the 0:HasOrderedComponent References to the Objects. As not all Clients consider the order returned by the Browse Service (e.g. displaying the results in alphabetic order) each <OrderedObject> shall implement the IOrderedObjectType Interface, providing the order by a specific Property (see definition of IOrderedObjectType).

The NodeVersion is intended to be used in conjunction with the GeneralModelChangeEventType in the way defined in OPC 10000-3. The NodeVersion should be provided if the ordered List can change (e.g. new Objects added or removed). This allows Clients to subscribe to the Property or the GeneralModelChangeEvents, instead of polling Browse calls. Changes in the order of the List are considered as adding and deleting References, i.e. if the order changes the NodeVersion shall be changed and a GeneralModelChangeEvent shall be issued, indicating that References have been added and deleted.

In Table 87C, the additional References are defined.

Table 87 C – OrderedListType Additional Subcomponents

SourcePath References NodeClass BrowseName DataType TypeDefinition Others
<OrderedObject> HasProperty Variable NumberInList Number PropertyType M
<OrderedObject> HasInterface ObjectType IOrderedObjectType      

The <OrderedObject> Object shall implement the Interface IOrderedObjectType and therefore contains the mandatory Property NumberInList.