Professional OPC
Development Tools

logos

Random Disconnect from OPC server

More
31 Jan 2013 09:14 #1216 by algorithmica
The exception is not thrown. See the code below for exception catching. I see no entries in my log file. try { vResults = new CComVariant((*dac)->ReadMultipleItems(machine.c_str(), server.c_str(), CComVariant(LPSAFEARRAY(*ItemInArray)), vMissing)); } catch(_com_error& e) { _bstr_t bstrSource(e.Source()); _bstr_t bstrDescription(e.Description()); *log << "Exception " << e.Error() << ": " << e.ErrorMessage() << ". Source: " << (LPCTSTR) bstrSource << ". Description: " << (LPCTSTR) bstrDescription << "." << endl; }

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

More
31 Jan 2013 08:43 #1214 by admin
Yes, but does the exception still throw (is caught), and if so, what are its details? Or, do you stop receiving values, without an exception being thrown?

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

More
31 Jan 2013 08:39 #1213 by algorithmica
Hello,At the moment I am running your newest version and I am catching the exceptions. The application does not crash anymore. However, at some point the application stops retriving values from the OPC Server and does not recover on its own -- the application must be manually terminated and re-started. This is the original problem.The problem is not at the server end because, after the client is re-started, the whole process works again. The problem appears to be in automatically re-establishing contact with the server.

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

More
31 Jan 2013 08:33 #1212 by admin
Hello,
I do not quite understand what you mean by that the problem has re-appeared. Can you please re-state the current symptoms.
We have discussed how _com_error should be caught, is your code already doing it?
Thank you

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

More
30 Jan 2013 06:02 #1192 by support
Dear Sir,
I apologize for not replying sooner - it appears that we had a technical problem, and some notifications about forum activity have been lost. I will now answer the posts one by one, hopefully during today and tomorrow.

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

More
22 Jan 2013 06:50 #1184 by algorithmica
For a while it seemed to work, partially because the OPC server crashed twice. However, the problem has re-appeared twice in the last three days. Thus, the update to your newest version did not cure the problem, at least not fully. What can I do? Shall we try via a debug build of this new version?I and paticularly my client are getting a bit desparate for a running system ... time is starting to be important.

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

More
06 Jan 2013 10:09 #1143 by algorithmica
Thank you! Because of the holidays, I only now got to download it but I will try it now and let you know how it goes.

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

More
21 Dec 2012 14:46 #1140 by support
Hello. If you are interested, please download and use the latest build (now on our Web site), 5.20.524. It contains a fix for the issue discovered by our stress test application. The question is whether the same is also a fix for your problem.
Best regards

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

More
23 Nov 2012 08:54 #1114 by support
Yes, I think this will prevent the crash on your side. Assuming that EasyOPC runs out-of-process, which is the default.

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

More
22 Nov 2012 17:45 #1111 by algorithmica
Hi, I'm happy that you can reproduce the error. Good luck hunting the memory error.In the meantime, I have modified my code so that the reading is done like so:try{ vResults = new CComVariant((*dac)->ReadMultipleItems(machine.c_str(), server.c_str(), CComVariant(LPSAFEARRAY(*ItemInArray)), vMissing));}catch(_com_error& e){ _bstr_t bstrSource(e.Source()); _bstr_t bstrDescription(e.Description()); _tprintf(_T("Exception %08lx: %s. Source: %s. Description: %s.\n"), e.Error(), e.ErrorMessage(), (LPCTSTR) bstrSource, (LPCTSTR) bstrDescription);}My question is: Will this prevent a crash eventhough you have a memory corruption? Thanks. I will keep you posted on developments. Thank you very much for your prompt and good help !!Best, Patrick

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

Moderators: support
Time to create page: 0.283 seconds

      

 Recommend this on Google