AliasNameCategoryTypeinstances are used to organize the AliasNameTypeinstances that a Serverdefines. They can also include instances of AliasNameCategoryTypeto allow hierarchical groupings of AliasNames. It includes a mandatory Methodfor finding instances of AliasNameTypein the AliasName hierarchy, starting at this instance of AliasNameCategoryType. For example, if the Methodcall is made on the Aliases AliasNameCategoryTypeinstance (see 9.2), it would apply the AliasNameSearchPattern to all AliasNamesthat are defined under TagVariables, Topicsand any other AliasNameCategoryTypeinstance in the hierarchy.
The AliasNameCategoryTypeis a subtype of FolderType and is formally defined in Table 2.
Table 2– AliasNameCategoryType Definition
Attribute |
Value |
||||
BrowseName |
AliasNameCategoryType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
Subtype of the FolderTypefrom OPC 10000-5 |
|||||
HasComponent |
Object |
<Alias> |
|
AliasNameType |
OptionalPlaceholder |
HasComponent |
Object |
<SubAliasNameCategories> |
|
AliasNameCategoryType |
OptionalPlaceholder |
HasComponent |
Method |
FindAlias |
Defined in 6.3.2 |
Mandatory |
The list of AliasNamesthat an Objectcontains may be dynamic. For example, AliasNamesmay be added in an aggregating Serveras underlying Serversbecome available or may be removed if a Serveris no longer available.
<Alias> represents any number of instances of AliasNameType. Each instance shall have at least one AliasFor Referenceto aNode. Multiple <Alias> instances can point to the same Node.
<SubAliasNameCategories> allows the nesting or structuring of AliasNamesinto hierarchical groupings.
An <Alias> can appear in more than one place in the hierarchy of AliasNameCategories.
The FindAlias Methodallows a Clientto obtain the list of Nodesthat match the provided AliasNamesearch string. The signature of this Methodis specified below, the arguments are defined in Table 3.
Signature
FindAlias(
[in] String AliasNameSearchPattern,
[in] NodeId ReferenceTypeFilter,
[out] AliasNameDataType[] AliasNodeList
);
Table 3- FindAlias Method Arguments
Argument |
Description |
AliasNameSearchPattern |
A string that can contain wild cards, use to find a list of AliasNames(see OPC 10000-4- “Wildcard Characters” table for supported wildcards) |
ReferenceTypeFilter |
A NodeIdthat represent a ReferenceType (i.e. AliasFor or one of its subtypes) that restricts the search. Any ReferenceTypeincludes all subtypes of that ReferenceType. |
AliasNodeList |
The returned list of AliasNameDataType. If no Nodesmatch the search string or have the appropriate ReferenceType, the list shall be empty. |
Methodresult codes are defined in Table 4
Table 4- FindAlias Method Error Codes
Result Code |
Description |
Bad_InvalidArgument |
The input string is not a valid search sting |
Bad_UserAccessDenied |
The current user does not have the rights required. |
Bad_ResponseToLarge |
The response was to large to be returned, try new filter and repeat find |
|
|
The Methodis formally defined in Table 5.
Table 5- FindAlias Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
FindAlias |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
Mandatory |
HasProperty |
Variable |
OutputArguments |
Argument[] |
PropertyType |
Mandatory |
It is important to note that there might be more than one entry for every AliasName. Multiple Serversmight provide an equivalent object (such as a temperature sensor). This Methodwill return the AliasNamesin order of preference. That is the Serverwill return what it recommends as the best match first followed by the next best match etc. The criteria for ordering are Serverspecific. The criteria might be based on the ServerStatusof the Serverthat contains the referenced Node, it might be load balancing of Servers,or it might be some other algorithm.
Clientsshould use the first usable entry in the list.