Next: Performance and Scalability of
Up: Compatibility and Interoperability of
Previous: Compatibility Issues Found During
Contents
As denoted above, a practical test may also produce valuable
information about compatibility and interoperability. All tests were
done for simplicity reasons on PC hardware instead on the IGUANA
hardware. As a first step, a simple client test was done. The OPC
foundation provides various sample OPC servers, which may be used for
testing purposes. As denoted above, client functionality was
implemented in the design, which was used to test all available OPC
operations as shown in listing 37. Most of these
tests worked immediately149,
interoperability issues were not found.
language=C
The next step was to test the IGUANA OPC server, which was done with
an OPC test client150 and a
simple test setup, as depicted in figure 71.
Figure 71:
Interoperability Test Setup
![\begin{figure}\centering
\includegraphics[scale=0.7]{graphics/devel-test1.eps}\end{figure}](img116.png) |
The test results of all available OPC XML-DA operations were as
follows:
- GetStatus:
- This operation worked without any problems.
- Read/Write:
- The read operation also worked right away, but
writing to OPC items returned errors. After thoroughly examining the
SOAP messages, it turned out that the test client expected an empty
OPC item as a result, while the IGUANA OPC client returned an empty
XML element. As denoted above, the OPC XML-DA specification defines
the reply message of write operations very loosely, which led to this
incompatibility problem.
- Subscription:
- The same incompatibility problem was also found
in the AddSubscription operation: Subscribing to an object did not
return any items, which led to an error in the test client. The SPR
and CancelSubscription operations worked without any problems,
buffering, deadband and the advanced subscription architecture also
worked as expected.
- Browse:
- The browse operation of the test client tried to
retrieve certain properties which were not available from the
server. This led to erroneous client behavior. Apart from this
problem, browsing worked properly.
- GetProperties:
- This operation also worked without any
problems.
This short server test shows that loose definitions in the
OPC XML-DA specification lead to multiple interpretations which may
result in incompatible implementations. Nevertheless, most of
the OPC operations worked as expected.
Next: Performance and Scalability of
Up: Compatibility and Interoperability of
Previous: Compatibility Issues Found During
Contents
Hermann Himmelbauer
2006-09-27