Professional OPC
Development Tools

logos

Error "Server failed", no reconnection

More
17 Sep 2019 10:09 #7731 by support
After this error, QuickOPC immediately disconnects (that means, releases interface pointers to COM objects of the target server). OPC items and OPC groups are not removed, because a) it makes no sense to do so on a server that indicates a failure, b) it is implied by releasing the COM objects anyway.

If there were some items subscribed to, QuickOPC will reconnect (and add the OPC groups, items etc. as necessary) after a configurable time.

Best regards

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

More
16 Sep 2019 10:43 #7728 by Andriy
Hi,
What is the built-in reaction of quickopc library on GetStatus call failed? ("Server failed. This error originates in the OPC Data Access server. A vendor specific fatal error has occurred within the server. The server is no longer functioning. The recovery procedure from this situation is vendor specific. The application will try to reconnect to the server after a configurable period. Technical information: The call to IOPCServer::GetStatus on the OPCServer object has returned OPC_STATUS_FAILED in the OPCSERVERSTATUS structure.")

That is,
1. Unsubscribe all monitored items
2. Close connection
3. Open new connection
3. Subscribe items

Best regards

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

More
29 Aug 2019 12:12 #7684 by support
Yes, it is possible.

The idea of disabling the GetStatus calls and the consequent failure detection and recovery was based on the hypothesis that the failure reported through GetStatus may not be genuine, and therefore ignoring it might help.

But if disabling the GetStatus calls leads to problems, then obviously the failures reported through GetStatus were genuine and do require reconnection. Hence, disabling GetStatus is not good in this case.

Best regards
The following user(s) said Thank You: Andriy

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

More
29 Aug 2019 11:27 #7680 by Andriy
Hi,
Sorry, I didn't express my thoughts clearly. I meant, I should know whether disabling GetStatus call can potentially cause reconnection problem.

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

More
29 Aug 2019 10:39 #7678 by support
What do you mean by " I need to know exactly if this is a false message"? Are you saying that you are not sure whether the error message about GetStatus returning "Failed" corresponds to the real server behavior?

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

More
29 Aug 2019 10:31 #7677 by Andriy
Hello,

Thank you for your quick reply. Customer has noticed reconnection problem with OPC server when I disabled GetStatus call. Besides, there is a Tunneller between client and server. I need to know exactly if this is a false message or I have to fix this potential problem on the opc client side

Best regards

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

More
29 Aug 2019 10:08 #7676 by support
No.

If there is an "always changing tag" on the server, subscribe to it and observe on the client whether it receives the required changes .
In absence of such tag, do a periodic "read" of some tag, and if it succeeds, the server is OK.

Note that you might be worried too much. Most servers only ever report the Success through GetStatus, and nothing else. GetStatus can only report internal issues that the server knows about. But in case of true problems like server crash etc., there is no working GetStatus anyway. Issues like network communication problems, server crash etc. are recognizes either by our client software, or directly by COM/DCOM infrastructure, and reported to you reliably. And no GetStatus is needed for that.

Best regards

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

More
29 Aug 2019 09:40 #7673 by Andriy
Hello,

We are talking about GE OPC DA server. No one will fix it in the server side, rather I should find a solution.
I need some kind of "soft" reaction on server failed state through GetStatus.
if I receive any answer on GetStatus call it means that at least server is running, otherwise - server is down
Do you expose interface/method that I can use to call GetStatus programmatically (C#)?

Best regards

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

More
29 Aug 2019 09:25 #7671 by support
Well, as the original error message says, the server reports it is in Failed state, through GetStatus. But it has not failed, as it can be seen form the fact that by not using GetStatus, everything works OK. So, if you are worried about losing the information about server aliveness, you definitely need to talk to whoever delivered the server, and make *them* fix it.

What OPC server are we talking here?

In absence of working GetStatus, you will need to employ some technique of your own to make sure the connection/subscription is OK.

Best regards

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

More
29 Aug 2019 09:16 #7670 by Andriy
Hello,

Your advice to disable periodic GetStatus calls has been helpful. But I'm worried, if i disable periodic OPC server ping does it mean that I lose information about server aliveness? That is critical for OPC items subscription

Best regards

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

Moderators: support
Time to create page: 0.217 seconds

      

 Recommend this on Google