…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

_______________________________________________
Python-win32 mailing list
Python-win32@python.org
http://mail.python.org/mailman/listinfo/python-win32

Reply via email to