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

A.3 COM UA wrapper for OPC DA Server ToC Previous Next

A.3.3 Read data ToC Previous Next

The COM UA Wrapper supports performing Read operations to DA servers of versions 2.05a and 3.

For version 2.05a, the COM UA wrapper creates a Group using the IOPCServer::AddGroup method and adds the items whose data is to be read to the Group using IOPCItemMgmt::AddItems method. The Data is retrieved for the items using the IOPCSyncIO::Read method. The VQT for each item is mapped to the DataValue structure as shown in Figure A.6. Please note that only Read from Device is supported for this version. The “maxAge” parameter is ignored.

For version 3, the COM UA Wrapper uses the IOPCItemIO::Read to retrieve the data. The VQT for each item is mapped to the DataValue structure as shown in Figure A.6. The Read supports both the Read from Device and Cache and uses the “maxAge” parameter.

If there are errors for the items in the Read from the DA server, then these are mapped to the StatusCode of the DataValue in the COM UA Wrapper.

The mapping of the OPC COM DA Read Errors code to OPC UA Status code (in the COM UA Wrapper) is shown in Table A.34:

Table A.34 – OPC DA Read error mapping

OPC DA Error ID OPC UA Status Code
OPC_E_BADRIGHTS Bad_NotReadable
E_OUTOFMEMORY Bad_OutOfMemory
OPC_E_INVALIDHANDLE Bad_NodeIdUnknown
OPC_E_UNKNOWNITEMID Bad_NodeIdUnknown
E_INVALIDITEMID Bad_NodeIdInvalid
E_INVALID_PID Bad_AttributeIdInvalid
E_ACCESSDENIED Bad_OutOfService
Others Bad_UnexpectedError

Previous Next