Annex A (informative): OPC COM DA to UA Mapping ToC Previous

A.4 COM UA proxy for DA Client ToC Previous

A.4.3 Data and error mapping ToC Previous Next

A.4.3.1 General ToC

In an OPC UA Server, Automation Data is represented as a Data Value and and status, in addition additional error data can be provided via Diagnostic Info for a tag

The COM UA Proxy maps the Data Value structure into VQT data and error code.

For successful operations(StatusCode of Good and Uncertain), the COM UA Proxy maps the Status Code of the DataValue to the OPC DA Quality But in case of error(StatusCode of Bad), the Status Code is mapped to the OPC DA Error code.

The StatusCode in the Diagnostic Info returned by the OPC UA Server are mapped to OPC DA Error codes. Figure A.9 illustrates this mapping.

readme_files/image011.png Figure A.9 – OPC UA to OPC DA data & error mapping

A.4.3.2 Value ToC

The COM UA Proxy converts the OPC UA Data Value to the corresponding OPC DA Variant type. The mapping is shown in Table A.36. For DataTypes that are subtypes of an existing base DataType the conversion for the Base DataType is used.

Table A.36 – DataTypes and Mapping

OPC UA
Data type (Bin UA Server)
Variant Data
Type (In DA server)
Int16 VT_I2
Int32 VT_I4
Float VT_R4
Double VT_R8
Decimal VT_DECIMAL
String VT_BSTR
Boolean VT_BOOL
Byte VT_UI1
SByte VT_I1
UInt16 VT_UI2
UInt32 VT_UI4
Int64 VT_I8
UInt64 VT_UI8
Guid VT_BSTR
DateTime VT_DATE
NodeId VT_BSTR
XmlElement VT_BSTR
ExpandedNodeId VT_BSTR
QualifiedName VT_BSTR
LocalizedText VT_BSTR
StatusCode VT_UI4
ExtensionObject Array of VT_UI1
Array of above OPC UA types Array of corresponding Variant type

A.4.3.3 Quality ToC

The Quality of a Data Value in the OPC UA Server is represented as a StatusCode.

The COM UA Proxy maps the Severity, Subcode and the limit bits of the OPC UA Status code to the lower 8 bits of the OPC DA Quality structure (of the form QQSSSSLL).

readme_files/image009.png Figure A.10 – OPC UA Status Code to OPC DA quality mapping

The Severity field of the Status code is mapped to the primary quality. The SubCode is mapped to the Sub Status and the Limit Bits are mapped to the Limit field.

Table A.37 shows a mapping of the OPC UA status code to OPC DA primary quality

Table A.37 – Quality mapping

OPC UA Status Code OPC DA Primary Quality (Quality & Sub status QQSSSS)
Good GOOD
Good_LocalOverride LOCAL_OVERRIDE
Uncertain UNCERTAIN
Uncertain_SubNormal SUB_NORMAL
Uncertain_SensorNotAccurate SENSOR_CAL
Uncertain_EngineeringUnitsExceeded EGU_EXCEEDED
Uncertain_LastUsableValue LAST_USABLE
Bad BAD
Bad_ConfigurationError CONFIG_ERROR
Bad_NotConnected NOT_CONNECTED
Bad_NoCommunication COMM_FAILURE
Bad_OutOfService OUT_OF_SERVICE
Bad_DeviceFailure DEVICE_FAILURE
Bad_SensorFailure SENSOR_FAILURE
Bad_WaitingForInitialData WAITING_FOR_INITIAL_DATA

A.4.3.4 Timestamp ToC

If available, the SourceTimestamp of the DataValue in the OPC UA Server is assigned to the Timestamp for the value in the COM UA Proxy. If SourceTimestamp is not available, then the ServerTimestamp is used.

Previous Next