DeltaV Client Application connection problem

Hi all,

I'm developing an OPC client application which is able to browse for OPC servers, connect to them and gather Alarms&Events (AE10) or DataAccess (DA20, DA30). 

The application works fine with other OPC servers, but I'm having problems connecting to a DeltaV OPC Server.

The current errors are:

"Could not connect to OPCEnum Session"

"Could not create COM server '13486d51-4821-11d2-a494-3cb306c10000' on host 'localhost'. Reason: 0x80040153."

DeltaV OPC Remote is installed on both server + client PC's. 

OPC WatchIt is able to connect to the OPC Server from the client PC.

I've also tried OPC Expert, and that is also able to connect to the OPC Server from the client PC.

I've noticed that the OPCEnum service is timing out on the client PC - but I'm not sure that's the problem as the above mentioned applications are able to connect to the server.

Are there any special requirements (function calls etc.) for an OPC client application connecting to an DeltaV OPC Server? 

My client application is developed using .NET.

Thanks!

  • From the books on line articles regarding OPC DA and OPC A&E server,  here are some specific client requirements (v12.3.1):

    http://www3.emersonprocess.com/systems/support/bol1231/c_opc_requirements.html (OPC requirements)

    OPC client programs may be written in either Visual C++ or a higher level business application such as Excel, Visual Basic, and so on. All OPC clients written using Visual Basic must use the OPCDaAuto.dll in their project references. Do not use the OPCDisp.tlb type library as it is not fully functional with DeltaV software.

    http://www3.emersonprocess.com/systems/support/bol1231/c_deltav_opc_alarms_and_events_server_system_requirements.html (DeltaV OPC Alarms and Events Server system requirements)

    Client applications must be written in C++.

     

  • Are you sure the .NET application is using credentials valid on both the DeltaV System and the client machine? I some times do a "Run As" to make sure. If it's a service make sure it's set to run as valid account as well.
  • In reply to Youssef.El-Bahtimy:

    Thanks, I'll give the dll a shot.
  • In reply to Travis Neale:

    Hi Travis.
    Credentials 'seem' valid, we can connect to the DeltaV server from WatchIt and OPCExpert and browse items etc.
    The application is running as a service, and we've tried running it as the DeltaV account setup using the OPC Remote program.
  • The statement "DeltaV OPC Remote is installed on both server + client PC's" is a bit confusing, OPC Remote only needs to be installed on the client PC not the server (with DeltaV installed and licensed it is acting as the OPC Server, no need for OPC remote this end).

    When you say OPC Expert connects, where are you pointing it? At the local client machine or to the networked DeltaV OPC Server?
  • In reply to AdrianOffield:

    I might have been a bit to quick there... OPC Remote is only installed on the client PC.

    OPC Expert and WatchIt are running on the client PC, connecting to the networked DeltaV OPC Server.
  • In reply to HOH:

    In that case, with OPC remote installed on the local client machine, have you tried connecting to the local DeltaV OPC Server (installing OPC remote actually installs a local enumerated DeltaV OPC server with all the correct credentials) rather than the networked DeltaV server?

    You only need point OPCWatchit to the local machine and see what the registered OPC servers are, it should list OPC.DeltaV.1 as a local OPC server (in DCOM you'll notice that the location to run the application is set to the networked DeltaV server IP/DNS)

    That might help with credential issues and callbacks not working.
  • In reply to AdrianOffield:

    I've tried connecting to the local opc server as well (using localhost instead of the server's IP), with the same issue.

    Just some more background info:

    The the DeltaV server PC is running on the domain, but the client PC is on a workgroup - this isn't something that can be modified.
    I guess the issue is DCOM settings? Or are there anything special in my client application i need to do?

    Thanks for all your replys so far :)
  • In reply to HOH:

    If you are able to connect from the workgroup client to the domain server using other OPC clients (you mention both OPCWatchit and OPC Expert which is 'vendor neutral') then it certainly points to an issue with your specific client, and not system setup.

    Your error points to client side OPCEnum registration being the issue. What version of OPCEnum.exe are you using? On DeltaV v.11.3.1 systems, v. 1.10.1.10 seems to be installed (with a CLSID of 13486D44-4821-11D2-A494-3CB306C10000, which is notably different than the CLSID you originally referenced in your first posting).

    Have you tried running your application on the DeltaV App station?
    I don't believe access to OPCEnum is mandatory for clients to connect to an OPCserver. Can you debug your client such that the server connection is established without trying to first invoke OPCEnum?
  • In reply to Youssef.El-Bahtimy:

    I haven't tried running it on the server directly.
    The OPC API I'm using is using OPCEnum to connect and obtain a session to the OPC server.
    Isn't DeltaV "exposing" OPCEnum per default? If not, I guess I have to find another method of connecting to DeltaV.
  • In reply to HOH:

    OPCEnum is an optional method for exposing registered OPC Servers on the target machine, it is not required to establish a data link. If you know the connection details of the target OPC Server and have the correct credentials, a client can connect without OPCEnum. The tricky part is having credentials that work in both directions i.e callbacks. Generally, clients can connect but DeltaV returns callbacks under the DeltaVAdmin account.
  • In reply to AdrianOffield:

    Thanks Adrian,
    I guess you're talking about connecting using OPC UA, as opposed to the current connection (OPC Classic) I'm using?
  • In reply to HOH:

    Not really, even if OPCEnum is not installed/working, it is still possible to make a connection to the OPC Classic server. OPCEnum is not a requirement to make OPC data transfer work.
  • In reply to AdrianOffield:

    If you try to run your application on the server and it works, I suggest re-registering / re-installing OPCEnum on the client. This should be achieved by re-installing OPCRemote. You are correct that DeltaV does allow enumeration of its servers, but you do not have to discover them via OPCEnum to connect.
  • In reply to Youssef.El-Bahtimy:

    This issue has been solved!
    It turned out that the OPCEnum wasn't running on all DeltaV servers for some reason.
    The server tested against wasn't setup as the others.

    Thanks for all your help and ideas!