Professional OPC
Development Tools

logos

Online Forums

Technical support is provided through Support Forums below. Anybody can view them; you need to Register/Login to our site (see links in upper right corner) in order to Post questions. You do not have to be a licensed user of our product.

Please read Rules for forum posts before reporting your issue or asking a question. OPC Labs team is actively monitoring the forums, and replies as soon as possible. Various technical information can also be found in our Knowledge Base. For your convenience, we have also assembled a Frequently Asked Questions page.

Do not use the Contact page for technical issues.

EasyDAClient Issue - Connection Attempt Causes Server Error

More
25 Oct 2013 05:22 #1512 by support
Yes - you definitely should not use "Launching User". I suppose it truly was the cause of the problem.

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

More
24 Oct 2013 15:58 - 24 Oct 2013 16:30 #1511 by celder
We sometimes have multiple clients connected to the server, but under no circumstances would it be more than 4 clients. Generally speaking (outside of debugging and testing) there's only 1 client connected.

The user accounts which run the client are either a local user account on the server machine, or a domain admin account which is also a local admin on the server machine.

The Identity setting of the server is "Launching User".

EDIT:
I've changed the Identity setting to be the domain/local admin. I haven't encountered the error again so far.
Last edit: 24 Oct 2013 16:30 by celder. Reason: Additional information added - changed a setting.

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

More
24 Oct 2013 10:07 #1509 by support
OPC clients do not directly "start" OPC servers, and have no influence on how they are started. OPC clients just connect to servers. The "connection" may, in some cases, involve starting of the server process. When and how the OPC server is launched is determined and performed by the COM/DCOM infrastructure in Windows, and can be done in many ways. For example, an OPC server may be pre-started as a Windows service. Or a Windows service may be started when the first client attempts to connect. Or, when the OPC server is not a Windows service, COM/DCOM will also attempt to start it upon first connection, when it is not running.

Some (or most) servers expect that they are started only "once", i.e. that their process is started simultaneously two or more times. The error message you are seeing probably comes from the OPC server itself, when it has detected that something has attempted to start it for a second time.

Normally COM/DCOM will only start one instance of the server process, BUT it can also be configured in such a way that multiple process instances can be started. For OPC purposes, this is mostly incorrect (but can be correct for other purposes).

One can often see multiple instances of OPC server being started when in DCOMCNFG, the server is set to run under "Launching User" or "Interactive User" identity, instead of a pre-configured, fixed account. For example, when the server identity is set to "Launching user", COM will start a separate server process for each different OPC user accessing the server.

I suspect that this is your case. Do you have more OPC clients connecting to the same server? And, what are the user accounts under which the CLIENTS are run? What is the setting on the "Identity" tab of the OPC server app in DCOMCNFG?

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

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

More
23 Oct 2013 23:06 #1508 by celder
Hello,

I'm using the EasyDAClient in a C# Windows Forms application.

My client application works fine sometimes.
Once in a while the initial read fails due to timeout, and the server machine gets a popup message that says "server already started".

I'm using EasyDAClient.Subscribe (3 subscriptions with 1 callback method for each), EasyDAClient.Write, and EasyDAClient.Read.

I have tested the client both from a separate machine on the domain and from the server machine, and this happens either way.

Is there a common cause of this error?

Also, it sounds like something is asking the OPC server to start.
Is there some indirectly-called function in EasyDAClient that does this?

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

Moderators: support
Time to create page: 0.050 seconds