6.3.1 Definition

AliasNameCategoryType instances are used to organize the AliasNameType instances that a Server defines. They can also include instances of AliasNameCategoryType to allow hierarchical groupings of AliasNames. It includes a mandatory Method for finding instances of AliasNameType in the AliasName hierarchy, starting at this instance of AliasNameCategoryType. For example, if the Method call is made on the Aliases AliasNameCategoryType instance (see 9.2), it would apply the AliasNameSearchPattern to all AliasNames that are defined under TagVariables, Topics and any other AliasNameCategoryType instance in the hierarchy.

Well-known AliasNameCategories are defined in this document. Other documents may also define well-known AliasNameCategories. A well-known AliasNameCategory has a static NodeId allowing it to be aggregated. For details on aggregation of AliasName and AliasNameCategories see Annex B.

The AliasNameCategoryType is a subtype of FolderType and is formally defined in Table 2.

Table 2 – AliasNameCategoryType Definition
Attribute Value
BrowseNameAliasNameCategoryType
IsAbstractFalse
References Node
Class
BrowseName DataType TypeDefinition Modelling
Rule
Subtype of the FolderType from OPC 10000-5
OrganizesObject<Alias>AliasNameTypeOptionalPlaceholder
OrganizesObject<SubAliasNameCategories>AliasNameCategoryTypeOptionalPlaceholder
HasComponentMethodFindAliasDefined in 6.3.2Mandatory
HasComponentMethodFindAliasVerboseDefined in 6.3.3Optional
HasPropertyVariableLastChangeVersionTimePropertyTypeOptional
HasComponentMethodAddAliasesToCategoryDefined in 6.3.4Optional
HasComponentMethodDeleteAliasesFromCategoryDefined in 6.3.5Optional
ConformanceUnits
AliasName Base

The list of AliasNames that an Object contains could be dynamic. For example, AliasNames could be added in an aggregating Server as underlying Servers become available or could be removed if a Server is no longer available.

<Alias> represents any number of instances of AliasNameType. Each instance shall have at least one AliasFor Reference to a Node. Multiple <Alias> instances can point to the same Node.

<SubAliasNameCategories> allows the nesting or structuring of AliasNames into hierarchical groupings.

An <Alias> can appear in more than one place in the hierarchy of AliasNameCategories.

LastChange is the most recent time for any of the following activities:

The last time an AliasName was added to or deleted from the AliasNameCategory,

The last time an AliasNameCategory was added or deleted,

The last time the referenced Nodes of an AliasName in the AliasNameCategory changed.

For AliasNameCategoryType instances that are nested, the value of LastChange shall always be the latest VersionTime of all Organized AliasNames and AliasNameCategories.

The LastChange shall be persisted. A Client that detects a LastChange that is older than what it has cached, shall clear all cached AliasNameCategories and related AliasNames.