…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