Professional OPC
Development Tools

logos

Getting 'Read not completed' and 'Write not completed' errors

More
17 Jul 2019 09:02 #7534 by support
There are differences between API of the versions, but they are relatively minor.The principles of operation remain the same between version since Version 1, so an upgrade means, at worst, changing some statement to use different property names, and similar trivial changes. No need to "rewrite the complete application", that looks like some kind of misunderstanding.

Anyway, we do not officially support version 5.23.

The fact that it gets long to complete the write might be on the server side too. The reason you are getting the timeout error is that you have set the timeout to relative low value (5000 milliseconds), so you get what you have asked for. So the problem is not so much the timeout itself, it is the fact that the Write takes long.

I strongly suggest to remove the setting of UpdatwRates.ReadAutomatic = 500. Instead, please try to use the settings described here: www.opclabs.com/forum/reading-writing-subscriptions-property...scriptions-made-with-opc-reads .

Regards

Please Log in or Create an account to join the conversation.

More
17 Jul 2019 07:11 #7532 by LuisGar
Hi

I attached the old thread, because I got last time an update in the library Version I am using, The new Versions of your library unfortunately it is not backward compatible, it means if I try to use the new library Version I would have to rewrite my complete application.

Anyway, could you explain what could be the reasons why the Problem is showing?

I run the function in a separate thread,

result = EasyDAClientWrite.WriteMultipleItemValues(Parameters);

where Parameters include the OPC items, and the values to be written, The function is not re-call if the thread is busy, in that way I dont overload the opc by performing several Write calls at the same time.

here is the configuration of my Client,

EasyDAClientWrite = new EasyDAClient();
EasyDAClientWrite.Isolated = true;

EasyDAClientWrite.InstanceParameters.Timeouts.ReadItem = 5000;
EasyDAClientWrite.InstanceParameters.Timeouts.WriteItem = 5000;
EasyDAClientWrite.InstanceParameters.UpdateRates.ReadAutomatic = 500;
EasyDAClientWrite.InstanceParameters.Mode.AllowAsynchronousMethod = true;
EasyDAClientWrite.InstanceParameters.Mode.AllowSynchronousMethod = true;
EasyDAClientWrite.InstanceParameters.Mode.DesiredMethod = DAReadWriteMethod.Asynchronous;

EasyDAClientWrite.SynchronizationContext = SynchronizationContext.Current;

I have been noticing that the new values take really long to be shown in the PLC, and if I check the result I got the error described in this thread. Here an example of my error Log file.


<Exception>
<TimeStamp>7/16/2019 2:03:16 PM</TimeStamp>
<ExceptionType>System.Runtime.InteropServices.COMException</ExceptionType>
<ExceptionData>
<OPCItem>/PhoenixContact.AX-Server.21/P3631_S4_XK3.w_Tab_service_function_MC2_9</OPCItem>
</ExceptionData>
<Message>Cannot connect topic (timeout). </Message>
<Source>OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient</Source>
</Exception>
<Exception>
<TimeStamp>7/16/2019 2:03:16 PM</TimeStamp>
<ExceptionType>System.Runtime.InteropServices.COMException</ExceptionType>
<ExceptionData>
<OPCItem>/PhoenixContact.AX-Server.21/P3631_S4_XK3.w_Tab_service_status_MC2_13</OPCItem>
</ExceptionData>
<Message>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 (if event logging is supported by the product and enabled). </Message>
<Source>OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient</Source>
</Exception>
<Exception>
<TimeStamp>7/16/2019 2:03:16 PM</TimeStamp>
<ExceptionType>System.Runtime.InteropServices.COMException</ExceptionType>
<ExceptionData>
<OPCItem>/PhoenixContact.AX-Server.21/P3631_S4_XK3.w_Tab_service_status_MC2_12</OPCItem>
</ExceptionData>
<Message>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 (if event logging is supported by the product and enabled). </Message>
<Source>OpcLabs.EasyOpcRaw.DataAccess.RawEasyDAClient</Source>

Please Log in or Create an account to join the conversation.

More
16 Jul 2019 15:45 #7531 by support
One possible cause for the problem in this thread ("... not completed") has been fixed in 5.54.1115 and later. The fix won't go into any earlier version , we do not maintain them. There may be other causes for the issue as well.

I do not not understand why you have related the issue with the browse dialog to this.

Regards

Please Log in or Create an account to join the conversation.

More
16 Jul 2019 12:06 #7530 by LuisGar
Hi

I am having a similar problem, but I have installed the version QuickOPC 5.23_1371.1

Please check this www.opclabs.com/forum/browsing/1437-opcbrowsedialog-bug/2230?start=0

Best Regards
Luis Garcia

Please Log in or Create an account to join the conversation.

Moderators: support
Time to create page: 0.187 seconds

      

 Recommend this on Google