[python-win32] python and WonderWare (automation server)

Gerrat Rickert grickert at coldstorage.com
Mon Apr 24 17:09:20 CEST 2006


...on the off chance that anyone here can help me, here goes:

 

I'm trying to communicate with an OPC server (WonderWare's Factory Suite
Gateway).  I'm using an OPC Client (OPC Web Client from Software
ToolBox).

I instantiate the client:

 

pythoncom.CoInitialize()

win32com.client.Dispatch('OPCLabs.EasyDA3.0')

 

and I can read and write WonderWare tags successfully for a number of
hours.  Then the communications fail.  

 

Generally, I get one of these three Exceptions:

========================

(-2147352567, 'Exception occurred.', (0, 'OPCLabs.EasyDA3.0', 'Write not
completed. This error indicates that it could not be verified that the
requested write operation was completed during the timeout period. It is
possible that the write operation will actually succeed or fail, but
later. Increase the timeout period if you want to obtain positive or
negative indication of the operation outcome. Other reason for this
error may be that under  heavy loads, topic request or response queue is
overflowing. Check the event log for queue overflow errors. ', None, 0,
-1073430512), None)

=========================

(-2147352567, 'Exception occurred.', (0, 'OPCLabs.EasyDA3.0', 'Read not
completed. This error indicates that it could not be verified that the
requested read operation was completed during the timeout period. It is
possible that the read operation will actually succeed or fail, but
later. Increase the timeout period if you want to obtain positive or
negative indication of the operation outcome. Other reason for this
error may be that under  heavy loads, topic request or response queue is
overflowing. Check the event log for queue overflow errors. ', None, 0,
-1073430509), None)

==========================

(-2147352567, 'Exception occurred.', (0, None, None, None, 0,
-1073426430), None)

==========================

 

There is no heavy load on the server, and there are no queue overflow
errors.  It fails on both tags actually connected to PLC devices and
tags just kept in memory in WonderWare.  My read timeout for the tag is
10second.  It should be able to read that over 1000 times per second (in
the case of memory variables).

 

I have event tried re-instantiating the client - sometimes it works and
I can read and write tags again for a while, sometimes it just keeps
failing, and I have to restart WonderWare (sometimes more than once) for
things to work again.

 

The OPC Client vendor mentioned that they have heard of problems when
there are multiple connections to FSGateway, so I changed my design from
multiple threads connecting to just a single thread.  Still flaky.  

 

I don't really think this is a python issue, but neither WonderWare or
the OPC client vendor seem to have a lot of experience with Python, so
I'd thought I'd post here on the off chance that someone else has
experience communicating with WonderWare and Python.

  

It would be great to talk to someone who's successfully done this. 

 

 

Thanks for any help anyone can give,

Gerrat Rickert

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.python.org/pipermail/python-win32/attachments/20060424/09d9390d/attachment.htm 


More information about the Python-win32 mailing list