Internal datapoints of the OPC UA client
_OPCUA
A datapoint _OPCUA<num> of this type is used for several configuration settings for each OPC UA client. <num> stands for the manager number of the started client. By default, 3 datapoints of this type already exist: _OPCUA1, _OPCUA2 and _OPCUA3.
| Datapoint element | Type | Description |
|---|---|---|
| Config.AlarmPrioMapping | dyn_string | Defines the mapping of OPC UA severities to WinCC OA alert classes.
A mapping has the following format:
An example of such a mapping is:
I.e.:
Tip:
For further information see Mapping of alarm data. |
| Config.Servers | dyn_string | Defines which servers are assigned to a client with the corresponding manager number. The appropriate OPC UA server data point must be inserted without the leading "_" character. If there is a periphery address for the server, the server datapoint is inserted automatically. |
| Config.HistoryReadResponseDps | dyn_string | The response datapoints must be registered on this datapoint element in order to write historical data to them. See also _OPCUAHistoryReadResponse. |
| Config.LocalDiscoveryServers | dyn_string | List of local discovery servers that the driver uses to resolve URIs when the connection endpoint is specified as a URI rather than a URL. |
| Command.AddServer | string | Can be used for assigning an OPC UA server to a client dynamically (without using the server config entry and a resulting restart). Therefore, the OPC UA server datapoint must be inserted. The server can thus be added dynamically without creating a peripheral address. |
| Discovery.Discover | dyn_string | Use this DPE to start discovery. The dyn_string contains two elements. The first is an arbitrary request ID, which is echoed in the result so you can match the response to the request. The second is the discovery URL. |
| Discovery.RequestId | string | Returns the request ID to assign the response to the discovery request. The driver sets the resulting DPEs in a single dpSet. |
| Discovery.ApplicationNames | dyn_string | Discovered application names |
| Discovery.ApplicationUris | dyn_string | Discovered application URIs |
| Discovery.DiscoveryUrls | dyn_string | Discovered discovery URLs |
| Discovery.EndpointUrls | dyn_string | Discovered endpoint URLs |
| Discovery.ProductUris | dyn_string | Discovered product URIs |
| Gds.Config.Address | string | The address of the GDS server, e.g.
opc.tcp://gdshost:48060
|
| Gds.Config.UpdateTrustListInterval | uint | The interval in seconds for GDS interaction |
| Gds.State.RegistrationStatus | uint | The registration status enum of the driver, used for diagnostics |
| Gds.State.AvailableCertificateGroups | dyn_string | The available certificate groups in the GDS |
| Gds.State.ApplicationId | string | The application ID received from the GDS, used for interaction also after driver restart |
| Gds.State.LastTrustListUpdate | time | Timestamp of the last trust list update |
| Gds.State.LastCertificateUpdate | time | Timestamp of the last certificate update |
_OPCUAHistoryReadResponse
If a datapoint of this type is created and entered at _OPCUA.Config.HistoryReadResponseDps, data of historical requests can be mapped onto it. The elements of this type are described in the following table.
| Datapoint element | Type | Description |
|---|---|---|
| RequestId | string | Shows the ReguestId used for triggering the history read request. This element can be used to associate the result of a request with the specific request. |
| ReturnCode | int | The return code for the triggered history read request. The
following values are possible:
|
| DpList | dyn_string | In case that a peripheral address wildcard was defined in the parameters, this DPE contains a list of the appropriate datapoint elements where the corresponding peripheral addresses are configured (only when using method 3). |
| ResultCodes | dyn_int | The result codes for the history read request. If a peripheral
address wildcard was defined in the parameters then this DPE
contains a list of result codes for the appropriate datapoint
elements.
The following values are possible:
|
| NodeStatusCodes | dyn_bit32 | The OPC UA node status code from the history read request. If a peripheral address wildcard was defined in the parameters then this DPE will contain a list of OPC UA node status codes for the appropriate server nodes. |
| DataType | string | The data type of the variable for which a history read request
was triggered.
This DPE is only set if either method NodeId or BrowsePath was defined in the parameters. |
| DataValues | dyn_string | The historical values returned for the read request.
This DPE is only set if either method NodeId or BrowsePath was defined in the parameters. |
| SourceTimestamps | dyn_time | The source timestamps in local time returned for the history read
request.
This DPE is only set if either method NodeId or BrowsePath was defined in the parameters. |
| ServerTimestamps | dyn_time | The server timestamps in local time returned for the history read
request.
This DPE is only set if either method NodeId or BrowsePath was defined in the parameters. |
| ValueStatusCodes | dyn_bit32 | The OPC UA value status codes returned for the history read
request.
This DPE is only set if either method NodeId or BrowsePath was defined in the parameters. |
_OPCUAServer
A datapoint of this type contains the configuration and status information of an OPC UA server to which the client connects to.
The connection and security settings will not be applied until the server has been restarted. This means that the connection is not automatically terminated and established with the new parameters.
The elements of this type are described in the following table.
| Datapoint element | Type | Description | ||||||||||||||||||||||||||||||
| Config.ConnInfo | string | Specifies the server URL. This defines how the server can be
reached. An example for the format is:
opc.tcp://localhost:4841 |
||||||||||||||||||||||||||||||
| Config.AccessInfo | string | Contains the user name for the access to the server. If the data point element is empty, the client logs in anonymously. | ||||||||||||||||||||||||||||||
| Config.Flags | bit32 | Each bit (0-based counting) allows additional settings for the
OPC UA Client.
|
||||||||||||||||||||||||||||||
| Config.NamespaceTable | dyn_string | The DPE defines custom numeric IDs for a Node’s namespace. These
IDs replace the namespace index in the Node ID configuration. The
OPC UA client transfers these IDs to the index by reading the
NamespaceArray of the OPC UA server.
Follow these rules when converting namespace indices (for the syntax, see at the end of this chapter):
|
||||||||||||||||||||||||||||||
| Config.Password | blob | Contains the password for the access to the server. The password
is displayed encoded.
Remember:
If the password on the server was changed, the
changes also have to be updated on the client in order to decode
the password correctly. |
||||||||||||||||||||||||||||||
| Config.Security.Policy | uint | The following security policies are possible:
|
||||||||||||||||||||||||||||||
| Config.Security.MessageMode | uint | The following message concepts are possible:
|
||||||||||||||||||||||||||||||
| Config.Security.Certificate | string | Certificate which should be used by the client for connection
establishment (example: myCertificate.der).
If this field is empty, the client uses "WinCC_OA_UA_Client.der". |
||||||||||||||||||||||||||||||
| Config.Active | bool | With this datapoint element the communication to the corresponding server can be deactivated (FALSE) and activated (TRUE). | ||||||||||||||||||||||||||||||
| Config.ReconnectTimer | uint | Time interval in seconds the driver tries to establish a connection to the server, if no connection is available. | ||||||||||||||||||||||||||||||
| Config.StatusMapping | dyn_string | Specifies the mapping of the OPC UA status codes to WinCC OA user bits.
The mapping is specified in a dyn_string. The dyn_string contains entries in the following form:
Whereas one user bit on the right side can be used multiple times: For example:
|
||||||||||||||||||||||||||||||
| Config.StatusFilter | dyn_uint | Allows defining OPC UA status filters for incoming data values.
This means that values from the OPC UA server are filtered and
discarded based on the UPC UA status.
It is possible to specify several status filters. |
||||||||||||||||||||||||||||||
| Config.Separator | string | Separator for the view of the display names. | ||||||||||||||||||||||||||||||
| Config.Subscriptions | dyn_dpid | A subscription is always uniquely assigned to a server. A server
can have multiple subscriptions. In this internal datapoint element
the corresponding subscriptions are stored in the format:
|
||||||||||||||||||||||||||||||
| Config.HistoryReadTimestamps | uint | Defines which timestamp is applied when using method 3 (writing
historical data to _archive config of the appropriate datapoint
element). The following values can be set:
|
||||||||||||||||||||||||||||||
| State.ConnState | uint | Indicates the connection status to the server:
|
||||||||||||||||||||||||||||||
| State.ServerState | string | Displays the server status. The usual state is "Running" which means that everything is OK. Otherwise an error status is indicated. | ||||||||||||||||||||||||||||||
| State.StartTime | time | Displays the startup time of the server.
Format: JJJJ.MM.TT HH:MM:SS:MMM
|
||||||||||||||||||||||||||||||
| State.TimeoutError | int | Contains information of timeout errors. Possible values:
|
||||||||||||||||||||||||||||||
| State.TimeoutItems | string | Lists all items for which the operation fails and a timeout error occurs. | ||||||||||||||||||||||||||||||
| State.VendorInfo | string | Displays the vendor information of the server. | ||||||||||||||||||||||||||||||
| Command.GQ | uint | Triggers a general query on the server. The specified value
indicates whether values, alarms or both are queried:
|
||||||||||||||||||||||||||||||
| Command.HistoryRead | dyn_string | Historical read requests are triggered via this element. The
following parameters must be specified.
Important:
At least two of the parameters
startTime, endTime und
maxNumValuesPerNode must be set!Note:
There are the following special use cases:
|
||||||||||||||||||||||||||||||
| Redu.Config.ConnInfo | string | Specifies the server URL of the redundant server. This defines
how to connect the OPC UA server. An example of the format is:
opc.tcp://localhost:4841 |
||||||||||||||||||||||||||||||
| Redu.Config.Active | bool | With this datapoint element the communication to the redundant server can be switched off (FALSE) and switched on (TRUE). | ||||||||||||||||||||||||||||||
| Redu.Config.HistoryReadMode | uint | Defines the behavior for historical requests in case of redundant
OPC UA servers. The following values are possible:
|
||||||||||||||||||||||||||||||
| Redu.Config.InputMode | uint | Defines the input data source within a redundant server pair.
The allowed values are:
If a server is explicitly selected than the client does not use values of the other server, even if the connection to the selected server fails. In that case the application has to switch manually to the other server. The option only affects input data. In any case, output values are written to both servers. |
||||||||||||||||||||||||||||||
| Redu.State.ConnState | uint | Indicates the connection status to the redundant server.
|
||||||||||||||||||||||||||||||
| Redu.State.ServerState | string | Indicates the server status of the redundant server (Good or Bad). | ||||||||||||||||||||||||||||||
| Redu.State.StartTime | time | Indicates the start time of the redundant server. Format:
JJJJ.MM.TT HH:MM:SS:MMM |
||||||||||||||||||||||||||||||
| Redu.State.TimeoutError | int | Contains information of timeout errors. Possible values:
|
||||||||||||||||||||||||||||||
| Redu.State.TimeoutItems | string | Lists all items for which the operation fails and a timeout error occurs. | ||||||||||||||||||||||||||||||
| Redu.State.VendorInfo | string | Indicates the vendor name of the redundant server. | ||||||||||||||||||||||||||||||
| Browse.GetBranch | dyn_string | With the aid of this datapoint element browsing is triggered. The
following is saved:
|
||||||||||||||||||||||||||||||
| Browse.GetAlarmTypes | dyn_string | Alarm type browsing is triggered via this datapoint element. The
dyn_string contains only the ID from the UI (see
Browse.GetBranch).
The function corresponds to Browse.GetBranchbut . ConditionType is always used as the start node, any number of levels down are used, and only nodes representing alarm types are returned. |
||||||||||||||||||||||||||||||
| Browse.RequestId | string | The client writes to this datapoint element the ID from . Browse.GetBranch or Browse.GetAlarmTypes, to be able to tell the user which request is being answered if there are multiple concurrent users. | ||||||||||||||||||||||||||||||
| Browse.DisplayNames | dyn_string | View of the names up from the start node. The levels are
separated with a separator that was defined in the server data
point.
For example:
|
||||||||||||||||||||||||||||||
| Browse.BrowsePaths | dyn_string | View of the whole browsing path in the defined notation beginning
at the node /0:Objects:
Note:
Special characters as / . < > : # ! & are disguised
by &. |
||||||||||||||||||||||||||||||
| Browse.NodeIds | dyn_string | View of each NodeId per browsed node in the defined notation:
ns=1;s=AGENT.Objects.pUInt32 |
||||||||||||||||||||||||||||||
| Browse.NodeClasses | dyn_string | View of each NodeClass per browsed node:
|
||||||||||||||||||||||||||||||
| Browse.DataTypes | dyn_string | View of the data type. | ||||||||||||||||||||||||||||||
| Browse.ValueRanks | dyn_string | View of the value rank. | ||||||||||||||||||||||||||||||
| Browse.AccessLevel | dyn_bit32 | A bit mask indicating whether the current value of the Value
Attribute is readable and writeable as well as whether the history
of the value is readable and writeable.
|
_OPCUASubscription
This datapoint type provides the configuration of subscriptions and the indication of their status. There are some subscription parameters, which can be configured but might be overwritten by the server. For these parameters there is a datapoint element for configuration (Requested) and one which displays the actual value (Revised*).
| Datapoint element | Type | Default-Werte | Description |
|---|---|---|---|
| Config.RequestedLifetimeCount | uint | 100 | Number of publishing intervals until the subscription is deleted by the server, if no publish request has been received. |
| Config.RequestedMaxKeepAliveCount | uint | 10 | When the publishing timer in the server has expired this number of times without data to be sent, the subscription sends a keep-alive Message to the Client. |
| Config.RequestedPublishingInterval | uint | 500 | In these intervals in seconds the values are read from the server's queues by the client. The intervals are set in milliseconds. |
| Config.MaxNotificationsPerPublish | uint | 0 | This DPE can be used to specify a limit for notifications the
server shall send as response to a Publish request. It can be used
to reduce peaks of communication load, when buffered data are
transmitted.
The value 0 means that the client does not specify a limit and the server will use the maximum number of notifications per publish. The maximum values are server dependent, e.g. the WinCC OA OPC UA server has a maximum value of 65535 |
| Config.PublishingEnabled | bool | FALSE | Activates (TRUE) and deactivates (FALSE) a subscription ((no) reaction on value changes). |
| Config.Priority | uint | 0 | This value indicates with which priority the notifications of
this subscription are sent by the server.
Value range: 0 - 255; whereby 0 means no special priority and 255 the highest priority. |
| Config.SubscriptionType | uint | 1 | Defines whether this is a subscription on :
|
| Config.MonitoredItems.TimestampsToReturn | uint | 3 | Indicates which timestamp of the node should be used.
In WinCC OA the corresponding availability is defined by:
|
| Config.MonitoredItems.QueueSize | uint | 1 | Number of value changes of the items, which will be stored until the next publish. |
| Config.MonitoredItems.DiscardOldest | bool | TRUE | Defines whether the oldest elements (TRUE - default) or the youngest elements (FALSE) are discarded from the queue, if the queue overflows. |
| Config.MonitoredItems.SamplingInterval | uint | 0 | Interval the server uses for querying the monitored items from the underlaying system in milliseconds. |
| Config.MonitoredItems.DataChangeFilter.Trigger | uint | 1 | Defines the trigger to which the filter applies:
|
| Config.MonitoredItems.DataChangeFilter.DeadbandType | uint | 0 | Defines the deadband type for value calculation:
|
| Config.MonitoredItems.DataChangeFilter.DeadbandValue | uint | 0 | Value in whose range from the original value up the deadband is valid. |
| Config.Alarm.Acknowledgment | dyn_string | - | Not used. |
| Config.Alarm.AlarmType | string | - | OPC UA alarm type node ID. |
| State.AssignedOPCUAServer | string | - | Name of the OPC UA server to which the subscription is assigned. |
| State.MonitoredItems.FailedReg | uint | - | The DPE counts the number of items where the registration to the
subscription failed, so if no error occurred the DPE remains with
the value 0.
The DPE can be used by the application to verify if all addresses were correctly subscribed. |
| State.MonitoredItems.RevisedQueueSize | uint | - | Minimum returned queue size for the monitored items in this subscription |
| State.MonitoredItems.RevisedSamplingInterval | uint | - | Maximum returned sampling interval for the monitored items in this subscription |
| State.SubscriptionId | uint | - | Internal identification number for every subscription. This is
unique for each server.
|
| State.RevisedLifetimeCount | uint | - | Returned LifeTimeCount. |
| State.RevisedMaxKeepAliveCount | uint | - | Returned MaxKeepAliveCount.
|
| State.RevisedPublishingInterval | uint | - | Returned publishing interval in milliseconds.
|
| Command.GQ | uint | 0 | Trigger for the general query per subscription. This is triggered
independent of the value.
Since a subscription can be either for values or alarms, the value passed is irrelevant. |
Syntax for the Entry Config.NamespaceTable
|
Syntax
Example:
|
