For identifications of the items the OPC
UA server can use either data point or data point elements names
or data point alias. With the alias the user can realize an addressing
independent of the WinCC OA
data point name. Whether data point names or aliases are used
has to be defined in the config file (nodeIdType
entry). It is not allowed to mix one type with the other. That
means that the server can use only names or only aliases.
For detailed information see Access
to WinCC OA
Data.
It is recommended to start only one WinCC OA OPC UA server in
a WinCC OA
project as the data point groups cannot be set. In case of a start
of several WinCC OA
OPC UA servers these would access the same data points.
Mapping of OPC UA <-> WinCC OA Attributes
There are two distinguishable points when
mapping the WinCC OA
structure to the OPC UA server process image. On the one hand
the server needs the WinCC OA
project structure to construct the name space and on the other
hand the OPC UA server needs the data from the process image of
the Event Manager.
The first data is listed in the table below.
In order to keep the data on the server up-to-date the server
reacts to changes of the project structure. That means that the
server evaluates the corresponding WinCC OA
messages.
OPC UA Name |
Data Type |
Comment |
Counterpart
in WinCC OA |
NodeId |
NodeId |
String |
Data point name or alias. |
NodeClass |
NodeClass |
Number of NodeClass |
None. |
BrowseName |
QualifiedName |
Node name |
Data point element name (not
multi-lingual). |
DisplayName |
LocalizedText |
Display text of the Nodes |
Data point element name (not
multi-lingual). |
Description |
LocalizedText |
Description |
Description in the current language
of the _common
WinCC OA
config.
If this does not exist, the DisplayName is used. |
The data from the process image of the WinCC OA Event Manager are
mapped to OPC UA variables. The assignment between WinCC OA attributes and the
OPC UA variable attributes is listed in the following table.
Name |
Data Type |
Comment |
Counterpart
in WinCC OA |
Value |
|
The real value |
Online value (_online.._value).
If a value change is sent by the OPC UA server, the
original value instead of the online value is set. |
Timestamp |
|
|
WinCC OA
attribute _online.._stime
(source time). |
Status |
|
|
WinCC OA
attribute _online.._status64.
The proper mapping of the WinCC OA
status to OPC UA status is described in the "WinCC OA status mapping
to OPC UA status" paragraph below. |
DataType |
NodeId |
|
See mapping
of data types. |
ArraySize |
Int32 |
|
See mapping
of data types. |
AccessLevel |
Byte |
|
Is defined by the data point
group. For data, which is readable only, the CurrentRead
flag is set. For data, which is readable and writable,
CurrentRead and CurrentWrite is set. |
UserAccessLevel |
Byte |
|
The UserAccessLevel equals to
the AccessLevel. That means the definition of the access
rights takes place only via data point groups. All clients
that are permitted to connect to the OPC UA server have
the same access rights to the process image. |
WinCC OA status mapping to
OPC UA status
WinCC OA -> OPC UA
If at least one of the following status
bits is set:
_out_prange
_out_range
_exp_inv
_auth_inv
_stime_inv |
OpcUa_Bad |
In all other cases |
OpcUa_Good |
OPC UA -> WinCC OA
OpcUa_Good |
0 |
OpcUa_BadXXX |
WinCC OA
status bit auth_inv is set |
Analog Item object
The Analog Item Object is currently not supported.
For analog data point elements it is possible
that the OPC UA created an object of the type Analog Item. For
an Analog Item object the existence of a WinCC OA
range config (_pv_range)
is necessary. The attributes of the _pv_range
config can be changed at server runtime.
In case that the _pv_range
config is created at runtime, then the OPC UA server does not
convert the type of the OPC UA object anymore.
The table below lists the concrete mapping
of WinCC OA
attributes to the OPC UA Analog Item object.
OPC
UA |
WinCC OA Config |
Description |
AnalogItemType.InstrumentRange.low |
_pv_range.._min |
Minimal value. |
AnalogItemType.InstrumentRange.high |
_pv_range.._max |
Maximal value. |
AnalogItemType.EURange.low |
_pv_range.._min |
A copy of InstrumentRange.low. |
AnalogItemType.EURange.high |
_pv_range.._max |
A copy of InstrumentRange.high. |
AnalogItemType.EngineeringUnits |
_common.._unit |
Unit of the value. |
FALSE |
_pv_range.._incl_max |
Maximal value is included in
the value range. |
TRUE |
_pv_range.._incl_max |
Minimal value is included
in the value range. |
Mapping
of WinCC OA
<-> OPC UA Data Types
The following
table lists the WinCC OA
data types that are supported by the WinCC OA
OPC UA server. They also contain the assigned OPC UA type.
OPC UA Data Type |
WinCC OA Data Type |
Boolean |
DPEL_BOOL |
Int32 |
DPEL_INT |
Byte |
DPEL_CHAR |
UInt32 |
DPEL_UINT |
Double |
DPEL_FLOAT |
String |
DPEL_STRING |
DateTime |
DPEL_TIME |
ByteString |
DPEL_BLOB |
String |
DPEL_DPID |
LocalizedText |
DPEL_LANGSTRING |
Array of the basic type |
DPEL_DYN_*
(* stands for a basic data type;
Note: The OPC
UA server does not support dyn_char or dyn_blobs) |
|