next up previous contents
Next: OPC XML-DA properties and Up: Representing the IGUANA Interface Previous: Addressing Scheme   Contents

OPC XML-DA Faults and Result Codes

[OPCXMLDA] also specifies the handling of abnormal conditions and errors, such as server faults, invalid requests or errors from the underlying fieldbus. The specification distinguishes between the following two errors:

1. Errors concerning whole operations:
In cases, where a whole operation (such as a read or write request) cannot be performed, a SOAP fault is returned to the client105. This may happen if the OPC server fails, or a bad request is received that cannot be processed.
2. Errors concerning single items:
If an operation is partly successful but some items have errors, for instance, if a requested value is unavailable or cannot be converted to the requested datatype, an OPC server processes the operation and outlines which parts of the operation failed through so-called ``result codes''. For this purpose, [OPCXMLDA] specifies the attribute ``ResultID'' which is placed at the erroneous item and outlines the reason for the failure and additionally the element $<OPCError>$, which may be used as a description for the error106.

[OPCXMLDA] defines in section 3.1.9 23 result codes107 that should cover the most common failures. Moreover, the standard allows to define custom result codes.

The IGUANA gateway reports errors through specific ESD response messages, such as depicted in listing 32.

language=XML
\begin{lstlisting}[caption={Example Error Response Message of the
ESD Protocol}
...
...03:04:05:06
5003 Syntax error in the Node or Data Point address
\end{lstlisting}

These ESD error responses may be mapped to OPC errors. ESD errors concerning the whole operations, such as IGUANA gateway or syntax errors may trigger SOAP faults, while errors concerning single items, like addressing or fieldbus specific errors may be represented with OPC result codes, as depicted in figure 53.

Figure 53: Mapping ESD Errors to OPC XML-DA compliant Error Handling
\begin{figure}\centering
\includegraphics[scale=0.7]{graphics/xmlda-esd_errors.eps}\end{figure}

The decision of whether ESD errors are mapped to SOAP fault or result codes cannot be determined from the ESD error codes. Moreover, some ESD errors may be mapped to compliant OPC XML-DA error codes. These issues may be solved by a simple table in the OPC server that denotes how ESD errors will be mapped. However, this has the disadvantage that changes in the ESD error handling will not be reflected by the OPC XML-DA server108.


next up previous contents
Next: OPC XML-DA properties and Up: Representing the IGUANA Interface Previous: Addressing Scheme   Contents
Hermann Himmelbauer 2006-09-27