Within the specification the following derived data types are defined:
Table 1 – Supported derived data types
Derived data types: |
Where used |
Supported |
Which structure |
UASessionConnectInfo |
|
|
|
UA_Connect |
|
|
|
UANodeInformation UABrowseDescription UAReferenceDescription UAExpandedNodeID UA_TranslatePathList UA_NodeGetHandleList UA_NodeGetInformation UA_MethodGetHandleList UA_EventItemAdd |
|
|
|
UARelativePathElementUANodeInformation |
|
|
|
UARelativePath |
|
|
|
UABrowserPathUA_EventItemAdd |
|
|
|
UABrowsePathUA_TranslatePathList |
|
|
|
UA_MonitoredItemAddList UA_MonitoredItemOperateList |
|
|
|
UANodeInformation UAReferenceDescription |
|
|
|
|
|
|
|
UA_NodeGetInformation |
|
|
|
UANodeAdditionalInfo |
|
|
|
UA_MonitoredItemAddList UA_ReadList UA_WriteList |
|
|
|
UA_Browse |
|
|
|
UA_Browse |
|
|
|
UA_Browse |
|
|
|
UAReferenceDescription |
|
|
|
UA_HistoryUpdate |
|
|
|
UA_MonitoredItemAddList |
|
|
|
UASessionConnectInfo |
|
|
|
UASessionConnectInfo |
|
|
|
UASessionConnectInfo |
|
|
|
UAUserIdentityToken |
|
|
|
UANodeID |
|
|
|
UAMonitoringParameter |
|
|
|
UANodeAdditionalInfo |
|
|
|
UA_ConnectionGetStatus |
|
|
|
UA_ConnectionGetStatus |
|
|
|
UAHADataValue |
|
|
|
UABrowseDescription |
|
|
|
UA_MonitoredItemAddList |
|
|
|
UANodeInformation UABrowseDescription UAReferenceDescription |
|
|
|
UAReferenceDescription |
|
|
There are systems that only support a limited number of significant characters in the name. For this, rules for shorter names are provided here. These long names are still seen as compliant, although have to be mentioned in the certification document.
Note: The short names are preferred for users and implementers. They should use the short version whenever possible to become more interoperable in future.
Table 2 – List of rules to shorten names
UASecurityMsgMode_ |
UASMM_ |
UASecurityPolicy_ |
UASP_ |
UATransportProfile_ |
UATP_ |
UAUserIdentityTokenType_ |
UAUITT_ |
UAIdentifierType_ |
UAIT_ |
UADeadbandType_ |
UADT_ |
UAAttributeID_ |
UAAI_ |
UAConnectionStatus_ |
UACS_ |
UAServerState_ |
UASS_ |
UAHAUpdateStatusCode_ |
UAHAUSC_ |
UABrowseDirection_ |
UABD_ |
UAMonitoringSyncMode_ |
UAMSM_ |
UANodeClassMask_ |
UANCM_ |
UABrowseResultMask_ |
UABRM_ |
Note: For compatibility reasons please check the note at UAHAUpdateStatusCode_ and UAMonitoringSyncMode_.
Enumerations do not have values in IEC 61131-3 – but in third edition, a new feature called “Type with named value” has been introduced. The column “Value” in tables below address this new feature.
Anyhow a vendor should keep the long names, if possible, for existing programs to compile.
Value |
Name |
Description |
0 |
UASMM_BestAvailable |
Best available message security mode to the UA server. The client receives the available message security from the server and selects the best. This could also result in level “none security”. |
1 |
UASMM_None |
No security is applied. |
2 |
UASMM_Sign |
All messages are signed but not encrypted. |
3 |
UASMM_SignEncrypt |
All messages are signed and encrypted. |
Value |
Name |
Description |
0 |
UASP_BestAvailable |
Provides the best available security connection to the UA server. The client receives the available policies from the server and selects the best. This can also result in level “none security”. |
1 |
UASP_None |
|
2 |
UASP_Basic128Rsa15 |
http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15 – this is deprecated |
3 |
UASP_Basic256 |
http://opcfoundation.org/UA/SecurityPolicy#Basic256 – this is deprecated |
4 |
UASP_Basic256Sha256 |
|
5 |
UASP_Aes128-Sha256-RsaOaep |
http://opcfoundation.org/UA/SecurityPolicy#Aes128_Sha256_RsaOaep |
6 |
UASP_Aes256-Sha256-RsaPss |
http://opcfoundation.org/UA/SecurityPolicy#Aes256_Sha256_RsaPss |
7 |
UASP_EccNnistP256 |
|
8 |
UASP_EccNistP384 |
|
9 |
UASP_EccBrainpoolP256r1 |
http://opcfoundation.org/UA/SecurityPolicy#ECC_brainpoolP256r1 |
10 |
UASP_EccBrainpoolP384r1 |
http://opcfoundation.org/UA/SecurityPolicy#ECC_brainpoolP384r1 |
11 |
UASP_EccCurve25519 |
Value |
Name |
Description |
1 |
UATP_UATcp |
http://opcfoundation.org/UA-Profile/Transport/uatcp-uasc-uabinary |
2 |
UATP_WSHttpBinary |
http://opcfoundation.org/UA-Profile/Transport/https-uabinary |
3 |
UATP_WSHttpXmlOrBinary |
Profile does not exist and was introduced by mistake |
4 |
UATP_WSHttpXml |
http://opcfoundation.org/UA-Profile/Transport/https-uasoapxml-uabinary |
5 |
UATP_HttpsUaJson |
|
6 |
UATP_WssUaScUaBinary |
http://opcfoundation.org/UA-Profile/Transport/wss-uasc-uabinary |
7 |
UATP_WssUaJson |
Value |
Name |
Description |
0 |
UAUITT_Anonymous |
http://opcfoundation.org/UA-Profile/Security/UserToken/Anonymous |
1 |
UAUITT_Username |
http://opcfoundation.org/UA-Profile/Security/UserToken/Client/UserNamePassword |
2 |
UAUITT_x509 |
http://opcfoundation.org/UA-Profile/Security/UserToken/Client/X509Certificate |
3 |
UAUITT_IssuedToken |
http://opcfoundation.org/UA-Profile/Security/UserToken/Client/IssuedToken |
4 |
UAUITT_IssuedTokenWindows |
http://opcfoundation.org/UA-Profile/Security/UserToken/Client/IssuedTokenWindows |
5 |
UAUITT_JsonWebToken |
http://opcfoundation.org/UA-Profile/Security/UserToken/Client/JsonWebToken |
Note: The values changed from V1.0 to V1.1
Value |
Name |
Description |
0 |
UAIT_Numeric |
see OPC 10000-3 or OPC 10000-6 |
1 |
UAIT_String |
see OPC 10000-3 or OPC 10000-6 |
2 |
UAIT_GUID |
see OPC 10000-3 or OPC 10000-6 |
3 |
UAIT_Opaque |
see OPC 10000-3 or OPC 10000-6 |
Value |
Name |
Description |
0 |
UADT_None |
No Deadband calculation should be applied |
1 |
UADT_Absolute |
AbsoluteDeadband (see OPC 10000-4) |
2 |
UADT_Percent |
PercentDeadband (see OPC 10000-4) |
Value |
Name |
Description |
1 |
UAAI_NodeID |
The canonical identifier for the node. |
2 |
UAAI_NodeClass |
The class of the node. |
3 |
UAAI_BrowseName |
A non-localized, human readable name for the node. |
4 |
UAAI_DisplayName |
A localized, human readable name for the node. |
5 |
UAAI_Description |
A localized description for the node. |
6 |
UAAI_WriteMask |
Indicates which attributes are writable. |
7 |
UAAI_UserWriteMask |
Indicates which attributes are writable by the current user. |
8 |
UAAI_IsAbstract |
Indicates that a type node may not be instantiated. |
9 |
UAAI_Symmetric |
Indicates that forward and inverse references have the same meaning. |
10 |
UAAI_InverseName |
The browse name for an inverse reference. |
11 |
UAAI_ContainsNoLoops |
Indicates that following forward references within a view will not cause a loop. |
12 |
UAAI_EventNotifier |
Indicates that the node can be used to subscribe to events. |
13 |
UAAI_Value |
The value of a variable. |
14 |
UAAI_DataType |
The node id of the data type for the variable value. |
15 |
UAAI_ValueRank |
The number of dimensions in the value. |
16 |
UAAI_ArrayDimensions |
The length for each dimension of an array value. |
17 |
UAAI_AccessLevel |
How a variable may be accessed. |
18 |
UAAI_UserAccessLevel |
How a variable may be accessed after taking the user's access rights into account. |
19 |
UAAI_MinimumSamplingInterval |
Specifies (in milliseconds) how fast the server can reasonably sample the value for changes. |
20 |
UAAI_Historizing |
Specifies whether the server is actively collecting historical data for the variable. |
21 |
UAAI_Executable |
Whether the method can be called. |
22 |
UAAI_UserExecutable |
Whether the method can be called by the current user. |
23 |
UAAI_DataTypeDefinition |
The DataTypeDefinition Attribute is used to provide the meta data and encoding information for custom DataTypes. |
24 |
UAAI_RolePermission |
Permissions that apply to a Node for all Roles which have access to the Node. |
25 |
UAAI_UserRolePermissions |
Permissions that apply to a Node for all Roles granted to current Session. |
26 |
UAAI_AccessRestriction |
AccessRestrictions that apply to a Node. |
27 |
UAAI_AccessLevelEx |
The AccessLevelEx Attribute is used to indicate how the Value of a Variable can be accessed (read/write), if it contains current and/or historic data and its atomicity. |
28-32 |
|
Reserved for future use from OPC Foundation |
Value |
Name |
Description |
0 |
UACS_Connected |
UA client is connected to UA server. |
1 |
UACS_ConnectionError |
The connection from UA client to UA server has an error. |
2 |
UACS_Shutdown |
The UA client has been disconnected from the UA server. |
Value |
Name |
Description |
0 |
UASS_Running |
The server is running normally. This is the usual state for a server. |
1 |
UASS_Failed |
A vendor-specific fatal error has occurred within the server. The server is no longer functioning. The recovery procedure from this situation is vendor-specific. Most Service requests should be expected to fail. |
2 |
UASS_NoConfiguration |
The server is running but has no configuration information loaded and therefore does not transfer data. |
3 |
UASS_Suspended |
The server has been temporarily suspended by some vendor-specific method and is not receiving or sending data. |
4 |
UASS_Shutdown |
The server has shut down or is in the process of shutting down. Depending on the implementation, this might or might not be visible to clients. |
5 |
UASS_Test |
The server is in Test Mode. The outputs are disconnected from the real hardware, but the server will otherwise behave normally. Inputs may be real or may be simulated depending on the vendor implementation. StatusCode will generally be returned normally. |
6 |
UASS_CommunicationFault |
The server is running properly, but is having difficulty accessing data from its data sources. This may be due to communication problems or some other problems preventing the underlying device, control system, etc. from returning valid data. It may be a complete failure, meaning that no data is available, or a partial failure, meaning that some data is still available. It is expected that items affected by the fault will individually return with a BAD FAILURE status code indication for the items. |
7 |
UASS_Unknown |
This state is used only to indicate that the OPC UA server does not know the state of underlying servers. |
Note: The correct way to shorten would be UAHAUSC_, but for compatibility reasons we did not change
Value |
Name |
Description |
0 |
UAHAUpdateStatusCode_HistorianRaw |
A raw data value. |
1 |
UAHAUpdateStatusCode_HistorianCalculated |
A data value which was calculated. |
2 |
UAHAUpdateStatusCode_HistorianInterpolated |
A data value which was interpolated. |
3 |
UAHAUpdateStatusCode_Reserved |
Undefined. |
4 |
UAHAUpdateStatusCode_HistorianPartial |
A data value which was calculated with an incomplete interval. |
8 |
UAHAUpdateStatusCode_HistorianExtraData |
A raw data value that hides other data at the same timestamp. |
16 |
UAHAUpdateStatusCode_HistorianMultiValue |
Multiple values match the Aggregate criteria (i.e. multiple minimum values at different timestamps within the same interval). |
Filter the References according to their direction.
Value |
Name |
Description |
0 |
UABD_Forward |
Select only forward References. |
1 |
UABD_Inverse |
Select only inverse References. |
2 |
UABD_Both |
Select forward and inverse References. |
Note: The correct way to shorten would be UAMSM_, but for compatibility reasons we did not change.
Value |
Name |
Description |
0 |
UAMS_Unknown |
Unknown SyncMode – the default and invalid setting |
1 |
UAMS_ControllerSync |
SyncMode is ControllerSync – see chapter 4.2 Monitored Items |
2 |
UAMS_FwSync |
SyncMode is FwSync (FirmwareSync) – see chapter 4.2 Monitored Items |
Value |
Name |
Description |
0 |
UANCM_None |
No node class (unspecified). |
1 |
UANCM_Object |
See OPC 10000-3 |
2 |
UANCM_Variable |
See OPC 10000-3 |
4 |
UANCM_Method |
See OPC 10000-3 |
8 |
UANCM_ObjectType |
See OPC 10000-3 |
16 |
UANCM_VariableType |
See OPC 10000-3 |
32 |
UANCM_ReferenceType |
See OPC 10000-3 |
64 |
UANCM_DataType |
See OPC 10000-3 |
128 |
UANCM_View |
See OPC 10000-3 |
255 |
UANCM_All |
All node classes combined. |
Value |
Name |
Description |
0 |
UABRM_None |
See https://reference.opcfoundation.org/v104/Core/DataTypes/BrowseResultMask/ |
1 |
UABRM_ReferenceType |
See https://reference.opcfoundation.org/v104/Core/DataTypes/BrowseResultMask/ |
2 |
UABRM_IsForward |
See https://reference.opcfoundation.org/v104/Core/DataTypes/BrowseResultMask/ |
3 |
UABRM_ReferenceTypeInfo |
See https://reference.opcfoundation.org/v104/Core/DataTypes/BrowseResultMask/ |
4 |
UABRM_NodeClass |
See https://reference.opcfoundation.org/v104/Core/DataTypes/BrowseResultMask/ |
8 |
UABRM_BrowseName |
See https://reference.opcfoundation.org/v104/Core/DataTypes/BrowseResultMask/ |
16 |
UABRM_DisplayName |
See https://reference.opcfoundation.org/v104/Core/DataTypes/BrowseResultMask/ |
32 |
UABRM_TypeDefinition |
See https://reference.opcfoundation.org/v104/Core/DataTypes/BrowseResultMask/ |
60 |
UABRM_TargetInfo |
See https://reference.opcfoundation.org/v104/Core/DataTypes/BrowseResultMask/ |
63 |
UABRM_All |
See https://reference.opcfoundation.org/v104/Core/DataTypes/BrowseResultMask/ |
UAUserIdentityToken |
DataType |
Description |
UserIdentityTokenType |
UAUserIdentityTokenType |
Defines the identity Token to authenticate a user during the creation of a Session. |
TokenParam1 |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. In case of TokenType “Anonymous” the Param1 will not be evaluated. In case of TokenType “Username” the Param1 contains the user name. In case of TokenType “x509” the Param1 contains the location of the certificate store. |
TokenParam2 |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. In case of TokenType “Anonymous” the Param2 will not be evaluated. In case of TokenType “Username” the Param2 contains the user password. In case of TokenType “x509” the Param2 contains the certificate name. |
UASessionConnectInfo |
DataType |
Description |
SessionName |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Defines the name of the session assigned by the client. The name is shown in the diagnostics information of the server. In case of empty string the server will generate a session name. |
ApplicationName |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Defines the readable name of the OPC UA client application. The string can be empty. |
SecurityMsgMode |
UASecurityMsgMode |
|
SecurityPolicy |
UASecurityPolicy |
|
CertificateStore |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Defines the location of the certificate store used for the application certificates and trust lists. The structure of the certificate store is vendor specific. In case of empty string the default certificate store is used. |
ClientCertificateName |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Defines the name of the client certificate and private key in the certificate store. In case of empty string the default client application certificate is used. Implementation note: The ApplicationURI will be extracted from the certificate. |
ServerUri |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Defines the URI of the server. |
CheckServerCertificate |
BOOL |
Flag indicating if the server certificate should be checked with the trust list of the client application. |
TransportProfile |
UATransportProfile |
|
UserIdentityToken |
UAUserIdentityToken |
|
VendorSpecificParameter |
Vendor specific |
Vendor may define specific parameters, e.g. in case multiple clients are available, client instance can be defined with this parameter. The VendorSpecificParameter can be empty. |
SessionTimeout |
TIME |
Defines how long the session will survive when there is no connection. |
MonitorConnection |
TIME |
Defines the interval time to check the connection. The connection monitoring has to be done by the client vendor implementation and is defined in OPC 10000-4 |
LocaleIDs |
ARRAY [1..5] OF STRING[6] |
<language>[-<country/region>] where <language> is a two letter ISO 639-1:2002 code for language, <country /region> is the three letter ISO 3166 code for the country/region. Sample: en-US, zh-CHS |
UANodeID |
DataType |
Description |
NamespaceIndex |
UINT |
|
Identifier |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. In case of IdentifierType GUID the format is like 00000316-0000-0000-C000-000001000046 In case of IdentifierType Opaque string has to be base 64 encoded byte string. |
IdentifierType |
UAIdentifierType |
UAQualifiedName |
DataType |
Description |
NamespaceIndex |
UINT |
The namespace index to which name is associated. |
Name |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Name of the qualified name. |
UARelativePathElement |
DataType |
Description |
ReferenceTypeId |
UANodeID |
See UANodeID. If the ReferenceTypeId is a NULL-UANodeID the reference type is 33 (HierarchicalReferences) |
IsInverse |
BOOL |
If TRUE, the inverse references will be evaluated. Default is FALSE. |
IncludeSubtypes |
BOOL |
If TRUE also subtypes from ReferenceTypeId will be evaluated. Default is TRUE. |
TargetName |
UAQualifiedName |
UARelativePath |
DataType |
Description |
NoOfElements |
UINT |
Number of Elements. |
Elements |
ARRAY OFUARelativePathElement |
See UARelativePathElement. One relative path element. Length of the array is vendor specific MAX_ELEMENTS_RELATIVEPATH |
UABrowsePath |
DataType |
Description |
StartingNode |
UANodeID |
See UANodeID. Starting NodeId from where the relative path will be evaluated. |
RelativePath |
UARelativePath |
See UARelativePath. The relative path which will be evaluated. |
UAMonitoringParameter |
DataType |
Description |
SamplingInterval |
TIME |
The rate in milliseconds the server checks the underlying data source for changes. |
QueueSize |
UINT |
The queue size for the monitoring item.See also 4.2 Monitored Items |
DiscardOldest |
BOOL |
Determine the discard policy in case of queue overflow:TRUE: Discard the oldest in the sample queue FALSE: Discard the newest in the sample queue |
DeadbandType |
UADeadbandType |
UADeadbandType. This parameter indicates if a deadband is applied and if applied, which type of Deadband. |
Deadband |
REAL |
e.g. percent 0.1%. |
UALocalizedText |
DataType |
Description |
Locale |
STRING[6] |
<language>[-<country/region>] where <language> is a two letter ISO639 code for language, <country /region> is the three letter ISO3166 code for the country/region. Sample: en-US, zh-CHS. |
Text |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. Contains localized text as string. |
This UANodeInfo is the first version of declaration – to ease the handling of BrowseName the usage of the second version UANodeInformation is recommended. This also affects
UANodeInformation.
UANodeInfo |
DataType |
Description |
||||||||||||||||||||||||||||||
AccessLevel |
BYTE |
A bit mask indicating whether the current value of the Value Attribute is readable and writable as well as whether the history of the value is readable and changeable.
|
||||||||||||||||||||||||||||||
ArrayDimension |
ARRAY OFUDINT |
The length for each dimension of an array value. Length is vendor-specific (MAX_ELEMENTS_ARRAYDIMENSION). See Constants of Array Lengths |
||||||||||||||||||||||||||||||
BrowseName |
STRING |
The BrowseName is composed of a namespace index and a name. The String representation is of the format [ns:] BrowseName. The browse name may be prefixed by its namespace index. If the namespace prefix is omitted then namespace index 0 is used. |
||||||||||||||||||||||||||||||
ContainsNoLoops |
BOOL |
Indicates that following forward references within a view will not cause a loop. |
||||||||||||||||||||||||||||||
DataType |
UANodeID |
See UANodeID. The node id of the data type for the variable value. |
||||||||||||||||||||||||||||||
Description |
UALocalizedText |
A localized description for the node. |
||||||||||||||||||||||||||||||
DisplayName |
UALocalizedText |
A localized human readable name for the node. |
||||||||||||||||||||||||||||||
EventNotifier |
BYTE |
This Attribute represents a bit mask that identifies whether the Object can be used to subscribe to Events and whether the history of Events is accessible and changeable.
|
||||||||||||||||||||||||||||||
Executable |
BOOL |
Whether the method can be called. |
||||||||||||||||||||||||||||||
Historizing |
BOOL |
Specifies whether the server is actively collecting historical data for the variable. |
||||||||||||||||||||||||||||||
InverseName |
STRING |
The browse name for an inverse reference. |
||||||||||||||||||||||||||||||
IsAbstract |
BOOL |
Indicates that a type node may not be instantiated. |
||||||||||||||||||||||||||||||
MinimumSamplingInterval |
TIME |
Specifies (in ms) how fast the server can reasonably sample the value for changes. |
||||||||||||||||||||||||||||||
NodeClass |
UANodeClassMask |
See UANodeClassMask. The base type of the node. An enumeration identifying the NodeClass of a Node such as Object, Variable or Method. |
||||||||||||||||||||||||||||||
NodeID |
UANodeID |
|||||||||||||||||||||||||||||||
Symmetric |
BOOL |
Indicates that forward and inverse references have the same meaning. |
||||||||||||||||||||||||||||||
UserAccessLevel |
BYTE |
Contains the same information as the AccessLevel but takes user access rights into account.
|
||||||||||||||||||||||||||||||
UserExecutable |
BOOL |
Whether the method can be called by the current user. |
||||||||||||||||||||||||||||||
UserWriteMask |
UDINT |
Indicates which attributes are writable by the current user. |
||||||||||||||||||||||||||||||
ValueRank |
DINT |
The number of dimensions in the value. |
||||||||||||||||||||||||||||||
WriteMask |
UDINT |
Indicates which attributes are writable. |
Note: Additional added Attributes from OPC UA (like DataTypeDefinition, RolePermissions, etc.) will not be reflected in UANodeInformation. Instead use UA_ReadList for this Attributes. The same is valid for the Attribute “Inverse Name (10)” when it needs to be a WSTRING instead of STRING.
UANodeInformation |
DataType |
Description |
||||||||||||||||||||||||||||||
AccessLevel (17) |
BYTE |
A bit mask indicating whether the current value of the Value Attribute is readable and writable as well as whether the history of the value is readable and changeable.
|
||||||||||||||||||||||||||||||
ArrayDimension (16) |
ARRAY OFUDINT |
The length for each dimension of an array value. Length is vendor-specific (MAX_ELEMENTS_ARRAYDIMENSION). See Constants of Array Lengths |
||||||||||||||||||||||||||||||
BrowseName (3) |
UAQualifiedName |
|||||||||||||||||||||||||||||||
ContainsNoLoops (11) |
BOOL |
Indicates that following forward references within a view will not cause a loop. |
||||||||||||||||||||||||||||||
DataType (14) |
UANodeID |
See UANodeID. The node id of the data type for the variable value. |
||||||||||||||||||||||||||||||
Description (5) |
UALocalizedText |
A localized description for the node. |
||||||||||||||||||||||||||||||
DisplayName (4) |
UALocalizedText |
A localized human readable name for the node. |
||||||||||||||||||||||||||||||
EventNotifier (12) |
BYTE |
This Attribute represents a bit mask that identifies whether the Object can be used to subscribe to Events and whether the history of Events is accessible and changeable.
|
||||||||||||||||||||||||||||||
Executable (21) |
BOOL |
Whether the method can be called. |
||||||||||||||||||||||||||||||
Historizing (20) |
BOOL |
Specifies whether the server is actively collecting historical data for the variable. |
||||||||||||||||||||||||||||||
InverseName (10) |
STRING |
The browse name for an inverse reference. |
||||||||||||||||||||||||||||||
IsAbstract (8) |
BOOL |
Indicates that a type node may not be instantiated. |
||||||||||||||||||||||||||||||
MinimumSamplingInterval (19) |
TIME |
Specifies (in ms) how fast the server can reasonably sample the value for changes. |
||||||||||||||||||||||||||||||
NodeClass (2) |
UANodeClassMask |
See UANodeClassMask. The base type of the node. An enumeration identifying the NodeClass of a Node such as Object, Variable or Method. |
||||||||||||||||||||||||||||||
Symmetric (9) |
BOOL |
Indicates that forward and inverse references have the same meaning. |
||||||||||||||||||||||||||||||
UserAccessLevel (18) |
BYTE |
Contains the same information as the AccessLevel but takes user access rights into account.
|
||||||||||||||||||||||||||||||
UserExecutable (22) |
BOOL |
Whether the method can be called by the current user. |
||||||||||||||||||||||||||||||
UserWriteMask (7) |
UDINT |
Indicates which attributes are writable by the current user. |
||||||||||||||||||||||||||||||
ValueRank (15) |
DINT |
The number of dimensions in the value. |
||||||||||||||||||||||||||||||
WriteMask (6) |
UDINT |
Indicates which attributes are writable. |
UAIndexRange |
DataType |
Description |
StartIndex |
UINT |
Start index. |
EndIndex |
UINT |
End index. |
Note: IndexRange can be defined as follows: For each Dimension:
- Start and EndIndex are to be assigned.
- StartIndex must be smaller than EndIndex.
- To access all the elements in a Dimension it’s a must to assign StartIndex and EndIndex depending on the number of total Elements in the Dimension.
- A single element in a Dimension can be selected by specifying the same StartIndex and EndIndex.
UANodeAdditionalInfo |
DataType |
Description |
AttributeID |
UAAttributeID |
Selects the attribute to be accessed. The default AttributeID is UAAI_Value (13). |
IndexRangeCount |
UINT |
Count of valid IndexRange specified. Vendorspecific. |
IndexRange |
ARRAY OFUAIndexRange |
Length is vendor-specific (MAX_ELEMENTS_INDEXRANGE See Constants of Array Lengths |
UAViewDescription |
DataType |
Description |
ViewID |
UANodeID |
Node ID of the view to limit the browse. Empty for browsing the entire Address Space |
TimeStamp |
Vendor specific |
If ‘0’ - any ViewID which matches should be used. Shall be DT or LDT. The recommendation for new implementation is to use LDT |
Version |
UDINT |
If ‘0’ - any ViewID which matches should be used. |
UABrowseDescription |
DataType |
Description |
StartingNodeID |
UANodeID |
Node ID of the starting node to browse. |
Direction |
UABrowseDirection |
Browse direction forward, inverse, both.
|
ReferenceTypeID |
UANodeID |
Node ID of the Reference Type the server should follow. Default value: HierachicalReferences |
IncludeSubtypes |
BOOL |
Indicates if also subtypes of the Reference Type should be retuned Default: TRUE |
NodeClass |
UANodeClassMask |
Filter on the Node Class of the retuned Nodes |
ResultMask |
UABrowseResultMask |
Selects which fields of the UAReferenceDescription are requested from the server. |
UAReferenceDescription |
DataType |
Description |
ReferenceTypeID |
UANodeID |
Node ID of the ReferenceType followed from the starting Node to the target Node. See UANodeID |
IsForward |
BOOL |
Set if followed a forward Reference |
NodeID |
UAExpandedNodeID |
Node ID of the target Node. This could also be a Node in another server. See UAExpandedNodeID |
BrowseName |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. The qualified name of the target Node. |
DisplayName |
UALocalizedText |
The localized name of the target Node. See UALocalizedText |
NodeClass |
UANodeClassMask |
Node Class of the target Node. See UANodeClassMask |
TypeDefinition |
UAExpandedNodeID |
Node ID of the Object or Variable type of the target Node. See UAExpandedNodeID |
UAExpandedNodeID |
DataType |
Description |
ServerIndex |
UDINT |
The ServerIndex formatted as a base 10 number. |
NamespaceURI |
Vendor specific |
Shall be STRING or WSTRING. The recommendation for new implementation is to use WSTRING. The NamespaceUri formatted as a string. Any reserved characters in the URI shall be replaced with a ‘%’ followed by its 8 bit ANSI value encoded as two hexadecimal digits (case insensitive). For example, the character ‘;’ would be replaced by ‘%3B’. The reserved characters are ‘;’ and ‘%’. |
ID |
UANodeID |
An identifier for a node in the address space of an OPC UA Server. |
UAHADataValue |
DataType |
Description |
Value |
Vendor specific |
Vendor specific |
StatusCode |
UAHAUpdateStatusCode |
|
ServerTimeStamp |
Vendor specific |
Shall be DT or LDT. The recommendation for new implementation is to use LDT |
SourceTimeStamp |
Vendor specific |
Shall be DT or LDT. The recommendation for new implementation is to use LDT |
UAMonitoredVariables |
DataType |
Description |
Values |
ARRAY OFVendor specific |
Vendor specific. Array shall have the minimum length as UAMonitoringParameter QueueSize |
TimeStamps |
ARRAY OFVendor specific |
Shall be DT or LDT. The recommendation for new implementation is to use LDT. It is expected, that the SourceTimeStamp from the server is returned. Optional – If exists it shall have the same length as the Values array. |
NodeQualityIDs |
ARRAY OFDWORD |
Contains an error code for each element of the Values array. Optional – If exists it shall have the same length as the Values array. In case of “Overflow” Bit ‘7’ will be set if queue size is greater than 1. If this bit is set, not every detected change has been returned since the Server’s queue buffer for the MonitoredItem reached its limit and had to purge out data and the MinLostValueCount from UA_MonitoredItemAddList will be incremented by one (1). |
NewValuesCount |
UINT |
Count of Values (Vendorspecific) which were updated starting from the lowest element of the Values. |
There are some data types used which are vendor-specific. Please check the specification of the vendor for the concrete implementation. The following table lists these data types and their usage:
Vendor Specific Data Type |
Usage at |
Variable Identification |
Parameter ‘Variable’ of Function Block ‘UA_MonitoredItemAdd’ Parameter ‘Variables’ of Function Block ‘UA_MonitoredItemAddList’ Parameter ‘Variable’ of Function Block ‘UA_Read’ Parameter ‘Variables’ of Function Block ‘UA_ReadList’ Parameter ‘Variable’ of Function Block ‘UA_Write’ Parameter ‘Variables’ of Function Block ‘UA_WriteList’ |
Method Arguments |
Parameter ‘InputArguments’ of Function Block ‘UA_MethodCall’ Parameter ‘OutputArguments’ of Function Block ‘UA_MethodCall’ |
Event Field Data |
Parameter ‘EventFields’ of Function Block ‘UA_EventItemAdd’ |
UAHADataValue |
Value |
Additionally, the lengths of some arrays have to be defined by the vendors. These are explained in the following chapter.
The described function blocks make use of arrays. The length of these arrays is – if not formally limited by the function block – vendor-specific and could be made changeable for resource optimization.
This is a list of arrays and as a naming convention their length-constants. Every group of arrays should have the same length for ease of use.All arrays should be defined as [1..CONSTANT-LENGTH], so for instance as ARRAY [1.. MAX_ELEMENTS_NODELIST] OF <<DATATYPE>>
CONSTANT-LENGTH |
Description |
MAX_ELEMENTS_ARRAYDIMENSION |
Limits the maximum dimensions of a node, which could be used. |
MAX_ELEMENTS_INDEXRANGE |
Limits the maximum defined.Could be equal to MAX_ELEMENTS_ARRAYDIMENSION as a general dimension limit. |
MAX_ELEMENTS_NODELIST |
Limits the number of nodes, which could be used by the List function blocks |
MAX_ELEMENTS_MONITORLIST |
Limits the number of monitored items, which could be used by the monitored items blocks for each connection. |
MAX_ELEMENTS_BROWSERESULT |
Limits the number of browse results, which could be used by the Browse block |
MAX_ELEMENTS_HISTORYDATA |
Limits the number of browse results, which could be used by the HistoryUpdate block and HistoryRead blocks. |
MAX_ELEMENTS_EVENTITEMOPERATE |
Limits the number of event items, which could be used by the event items operate block |
MAX_ELEMENTS_REGISTER |
Limits the number of NodeIDs which can be registered for each connection. |
MAX_ELEMENTS_RELATIVEPATH |
Limits the number of relative path elements in a relative path. |
MAX_ELEMENTS_NAMESPACES |
Limits the number of namespaces (either Uris or Indexes) |
MAX_ELEMENTS_METHOD |
Limits the number of methods |
MAX_EVENT_FIELD_SELECTIONS |
Limit the number of selections |
MAX_ELEMENTS_EVENTITEMLIST |
Limit the number of event items |