- ... standards1
- Most
technologies are W3C standards.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
(SOAP)2
- To be correct, SOAP is not an acronym for Simple
Object Access Protocol anymore, instead it's simply ``SOAP''.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... messages3
- More information about XML Schema can be found
in [VLI02].
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... technologies4
- For instance, HTTPS can
be used to secure a HTTP channel.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... pass5
- On some slower machines, certain server operations
may fail as they rely on a predefined execution time of certain operations.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...ex_quickstart6
- A demo server, implemented with
PyOPC, is set up at http://violin.qwer.tk:8000/, which may, however,
not be available all the time. There are several other public OPC
XML-DA compliant servers available. Some addresses for such servers
may be found at http://www.opcfoundation.org, moreover Advosol also
offers access to some demo servers (see http://www.advosol.com).
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... messages7
- This process is
hidden from developers, instead PyOPC provides abstract Python objects
for accessing underlying SOAP messages.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
items8
- OPC items are basically containers which may hold a
piece of information. They resemble fieldbus data points and may
contain arbitrary data.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... operation9
- Every request and
response SOAP message has each a read and write method.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
framework10
- The reason for these unsupported data types is that
the underlying SOAP framework, ZSI, does also not support them.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
lists11
- OPC XML-DA further allows to nest arrays in arrays,
however this is currently not supported by PyOPC
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... client12
- This sample code can also be found in
the file samples/clients/simple.py in the PyOPC distribution
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... made13
- This
event-based mechanism must not be confused with
multi-threading.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ...
parallel14
- The speed gain is currently not very significant, as
fast XML parsers are quite efficient compared to other tasks, such as
serializing the SOAP message.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... empty15
- A ContainerItem is empty, if the attribute
'IsEmpty' is set to true. This happens if it is created such as
i=ItemContainer() and no attribute is ever set.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
- ... error16
- The OPC XML-DA specification
is quite loose on this topic, therefore in PyOPC concurrent SPRs are
prohibited.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.