Table 94 defines the list of standard Method call error codes generated by a MDIS Server.

Table 94 - Method error codes

Result Code

Description

Good_Completes_Ascynchronously

See OPC UA Part 4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_MethodInvalid

See OPC UA Part 4 – Services for the description of this result code. (The Method id does not refer to a Method for the specified Object.)

Bad_NotImplemented

See OPC UA Part 4 – Services for the description of this result code. (Requested operation is not implemented.)

Bad_NodeIdUnknown

See OPC UA Part 4 – Services for the description of this result code. (Used to indicate that the specified Object is not valid)

Bad_ArgumentsMissing

See OPC UA Part 4 – Services for the description of this result code (The Client did not specify all of the input arguments for the Method.)

Bad_TooManyArguments

See OPC UA Part 4 – Services for the description of this result code (The Client specified more input arguments than defined for the Method.)

Bad_InvalidArgument

See OPC UA Part 4 – Services for the description of this result code. (Used to indicate in the operation level results that one or more of the input arguments are invalid. The inputArgumentResults contain the specific status code for each invalid argument.)

Bad_TypeMismatch

See OPC UA Part 4 – Services for the description of this result code. (Used to indicate that an input argument does not have the correct data type.)

Bad_OutOfRange

See OPC UA Part 4 – Services for the description of this result code. (Used to indicate that an input argument is outside the acceptable range.)

Bad_Timeout

See OPC UA Part 4 – Services for the description of this result code. (The operation timed out. – the Server did not respond to the command)

Bad_InvalidState

See OPC UA Part 4 – Services for the description of this result code. (The operation cannot be completed because the Object is closed, uninitialized or in some other invalid state.)

Bad_AccessDenied

See OPC UA Part 4 – Services for the description of this result code. (The operation cannot be completed because the server does not allow the client to perform the operation)

Namespaces are used by OPC UA to create unique identifiers across different naming authorities. The Attributes NodeId and BrowseName are identifiers. A Node in the UA AddressSpace is unambiguously identified using a NodeId. Unlike NodeIds, the BrowseName cannot be used to unambiguously identify a Node. Different Nodes may have the same BrowseName. They are used to build a browse path between two Nodes or to define a standard Property.

Servers may often choose to use the same namespace for the NodeId and the BrowseName. However, if they want to provide a standard Property, its BrowseName shall have the namespace of the standards body although the namespace of the NodeId reflects something else, for example the EngineeringUnits Property. All NodeIds of Nodes not defined in this specification shall not use the standard namespaces.

Table 95 provides a list of mandatory and optional namespaces used in an <title> OPC UA Server.

Table 95 – Namespaces used in a <title> Server

NamespaceURI

Description

Use

http://opcfoundation.org/UA/

Namespace for NodeIds and BrowseNames defined in the OPC UA specification. This namespace shall have namespace index 0.

Mandatory

Local Server URI

Namespace for nodes defined in the local server. This may include types and instances used in an AutoID Device represented by the Server. This namespace shall have namespace index 1.

Mandatory

http://opcfoundation.org/UA//MDIS

Namespace for NodeIds and BrowseNames defined in This specification. The namespace index is Server specific.

Mandatory

Vendor specific types

A Server may provide vendor-specific types like types derived from ObjectTypes defined in this specification in a vendor-specific namespace.

Optional

Vendor specific instances

A Server provides vendor-specific instances of the standard types or vendor-specific instances of vendor-specific types in a vendor-specific namespace.

It is recommended to separate vendor specific types and vendor specific instances into two or more namespaces.

Mandatory

Table 96 provides a list of namespaces and their index used for BrowseNames in this specification. The default namespace of this specification is not listed since all BrowseNames without prefix use this default namespace.

Table 96 – Namespaces used in this specification

NamespaceURI

Namespace Index

Example

http://opcfoundation.org/UA/

0

0:EngineeringUnits

This section defines the numeric identifiers for all of the numeric NodeIds defined by the MDIS OPC UA Specification. The identifiers are specified in a CSV file with the following syntax:

<SymbolName>, <Identifier>, <NodeClass>

Where the SymbolName is either the BrowseName of a Type Node or the BrowsePath for an Instance Node that appears in the specification and the Identifier is numeric value for the NodeId.

The BrowsePath for an instance Node is constructed by appending the BrowseName of the instance Node to BrowseName for the containing instance or type. A ‘_’ character is used to separate each BrowseName in the path. For example, OPC UA Part 5 defines the ServerType ObjectType Node which has the NamespaceArray Property. The SymbolName for the NamespaceArray InstanceDeclaration within the ServerType declaration is: ServerType_NamespaceArray. OPC UA Part 5 also defines a standard instance of the ServerType ObjectType with the BrowseNameServer’. The BrowseName for the NamespaceArray Property of the standard Server Object is: Server_NamespaceArray.

The CSV associated with this version of the standard can be found here:

http://www.opcfoundation.org/UA/schemas/MDIS/1.2/MDIS.csv

The XML UANodeSet file that is a definition of the InformationModel generated by this specification. The UANodeSet description is available from the OPC Foundation web site (http://www.opcfoundation.org/UA/schemas/MDIS/1.2/OPC.MDIS.NodeSet2.xml) as an XML file. It uses the import/export format defined in OPC UA Part 5. This file can be directly used by a Server that wishes to expose the InformationModel (types) defined in this specification.