To provide links to digital records, the ObjectType DocumentationLinksType is introduced, which is deployed as AddIn on Objects representing assets. The AddIn serves as entry point to Variables linking to digital records managed outside the Server. The Variable contains a URI, which is typically a URL. Vendors might add additional Properties defining meta data of the linked document, e.g. type of file or size. In addition, it optionally provides the capabilities to add and remove editable links to user-defined documents like operator’s handbooks.
In Figure 6, an example of using the DocumentationLinks AddIn is given.
Figure 6 – Example of the DocumentationLinks AddIn
Instead of providing the optional Methods to add and remove links, a server not capable of the dynamics in its AddressSpace might also just provide some writable Variables that the user can edit and thus manage its links.
The DocumentationLinksType is an AddIn and should be applied to Objects or ObjectTypes representing Assets. It is formally defined in Table 29.
Table 29 – DocumentationLinksType Definition
Attribute |
Value |
||||
BrowseName |
DocumentationLinksType |
||||
IsAbstract |
False |
||||
Description |
AddIn to link documentation provided by the manufacturer and / or end-user. |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the 0:BaseObjectType Type defined in OPC 10000-5 |
|||||
0:HasProperty |
Variable |
0:DefaultInstanceBrowseName |
0:QualifiedName |
PropertyType |
|
0:HasComponent |
Variable |
<Link> |
0:UriString |
BaseDataVariableType |
OP |
0:HasComponent |
Method |
AddLink |
|
|
O |
0:HasComponent |
Method |
RemoveLink |
|
|
O |
Conformance Units |
|||||
AMB DocumentationLinks Base |
The Property 0:DefaultInstanceBrowseName defines the default BrowseName of instances of this ObjectType.
The <Link> Variable represents links provided by instances of this type.
The components of the DocumentationLinksType have additional Attributes defined in Table 30.
Table 30 – DocumentationLinksType Attribute values for child Nodes
BrowsePath |
Value Attribute |
Description Attribute |
0:DefaultInstanceBrowseName |
DocumentationLinks |
|
<Link> |
|
Represents links to externally managed documentation, typically URLs. |
AddLink |
|
Method to add an end-user specific link that is stored persistently in the server. |
RemoveLink |
|
Method to remove an end-user specific link that is managed in the server. |
This Method provides the capability to persistently add a link to an externally managed resource by adding a Variable according to the input arguments with a HasComponent Reference to the Object the Method is called on. The server shall manage the added link persistently, i.e., if the Method was executed successful, the Variable representing the link shall be persistent and available after restart of the Server. It might disappear after resetting or reconfiguring the Server or after calling the RemoveLink Method. The Value Attribute of the created Node should be writable, so the end-user can change the URI. In addition, the BrowseName, DisplayName, and Description might be writable. Servers might restrict the execution of this Method as well as writing the Attributes to specific users / roles.
The signature of this Method is specified below. Table 31 and Table 32 specify the Arguments and AddressSpace representation, respectively.
Signature
AddLink (
[in] 0:UriString LinkToExternalSource,
[in] 0:QualifiedName BrowseName,
[in] 0:LocalizedText DisplayName,
[in] 0:LocalizedText Description,
[out] 0:NodeId LinkVariable);
Table 31 – AddLink Method Arguments
Argument |
Description |
LinkToExternalSource |
Link to an external source. The server might or might not check if a correct URI is provided, or if the URI is available/reachable. |
BrowseName |
The BrowseName of the new created Node. Method fails if a Variable with the same BrowseName already exists. |
DisplayName |
The DisplayName of the new created Node. If the server supports multiple locales, and the Client wants to provide more than one locale, the Write operation on the Variable shall be used. |
Description |
The Description of the new created Node. If the server supports multiple locales, and the Client wants to provide more than one locale, the Write operation on the Variable shall be used. |
LinkVariable |
The NodeId of the newly created Variable. |
Method Result Codes (defined in Call Service)
Result Code |
Description |
Bad_UserAccessDenied |
See OPC 10000-4 for a general description. |
Bad_InvalidArgument |
See OPC 10000-4 for a general description. |
Table 32 – AddLink Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
AddLink |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
0:InputArguments |
0:Argument[] |
0:PropertyType |
0:Mandatory |
0:HasProperty |
Variable |
0:OutputArguments |
0:Argument[] |
0:PropertyType |
0:Mandatory |
Conformance Units |
|||||
AMB DocumentationLinks Base |
This Method provides the capability to remove a Variable representing a link. The Method shall only succeed when the Variable to be deleted is referenced from the Object the Method is called on. Servers might restrict the execution of this Method to specific users / roles. Servers will typically reject the deletion of Nodes not added with the AddLink Method.
The signature of this Method is specified below. Table 33 and Table 34 specify the Arguments and AddressSpace representation, respectively.
Signature
RemoveLink (
[in] 0:NodeId VariableToBeDeleted
);
Table 33 – RemoveLink Method Arguments
Argument |
Description |
VariableToBeDeleted |
NodeId of the Variable containing a link, that should be deleted. Variable shall be referenced from the Object with a HasComponent Reference where the Method is called on. |
Method Result Codes (defined in Call Service)
Result Code |
Description |
Bad_UserAccessDenied |
See OPC 10000-4 for a general description. |
Bad_InvalidArgument |
See OPC 10000-4 for a general description. |
Table 34 – RemoveLink Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
RemoveLink |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
ModellingRule |
0:HasProperty |
Variable |
0:InputArguments |
0:Argument[] |
0:PropertyType |
0:Mandatory |
Conformance Units |
|||||
AMB DocumentationLinks Base |