How to connect PLC with OPC DA2 Server running in the PLC?

Please, is there any user who succeeded in connecting PLC with OPC DA2 Server running directly on the PLC (not a Windows-application-OPC-Server installed locally on the Ignition Gateway machine)?
If yes, is there any step-by-step instruction what to do to make it connected?

We cannot get it connected - DCOM errors 0x80004002 or 0x80040155.

We have Ignition Gateway 7.5.4 (b1206) Trial on Windows 7 Pro machine with Windows firewall turned off. We can ping PLCs IP and other OPC client (PLC vendor’s) connects to the PLC successfully from another machine on the network.

can you connect to it using matrikon explorer from the ignition gateway machine?

Thank you diat150 for your respond.
I tried MatrikonOPC Explorer on the Ignition Gateway machine for connection to our PLC host with PLC vendor’s OPC Server.
It connected immediately (only entered host IP address and name of the OPC Server), but when attempting to add Tags popup error window appeared:

[b]"An error was encountered while communicating with this server.
The server will be disconnected and no further communication
attempts will be made. To prevent dicsonnection, show details.

The error may indicate a non-compliant server.

If the problem persists, contact the server vendor."

“[Name of the OPC Server] caused COM/OPC error 0x8001011B on IConnectionPoint.Advise()
Error string: Unknown error.
Additional: Could not establish data callback connection on group ‘Group1’
Interface address is 0x00B5D1EC
Vendor detail: [Vendor Company Name and Address]”[/b]

When I ignored the error popup window, everything works and I can add all Tags and see live data in MatrikonOPC Explorer pane, seems that everything works OK.

UPDATE: We managed to connect Ignition to the PLC’s OPC Server this way:

  • enter not only OPC Server Name, but also CLSID (maybe Ignition then overrides some Win7 DCOM security settings and allow for incoming “data” from remote OPC Server? - don’t know).

Is there some way not to specify CLSID (GUID) and make connection to remote OPC Server DA2 from Windows7/Ignition Gateway? I mean OPC Server directly in PLC.

You can try connecting to the remote OPC-COM server without specifying the CLSID. Ignition will try to use the ProgID instead. But one or the other is required in order to make a connection. Hope this helps.


I’ve seen a few embedded servers like this, and generally they’re a little different:

  1. Usually you do need to specify the CLSID, since these devices are generally running Windows CE, and OPCEnum, the program used for converting ProgId to CLSID, can’t run on that. If you know the clsid, why do you want to avoid using it?

  2. Generally you need to force the machine to connect as “anonymous”. In dcomcnfg, this is the “Default Impersonation Level” setting on the “Default Properties” tab. Set it to “Anonymous” on the Ignition machine.

  3. Your error about Group.Advise indicates to me a very common dcom settings problem that most people run into working with remote servers. The remote server must be allowed to connect back to the client machine. In other words, the dcom settings on the windows 7 machine must be configured so that the embedded device has access. This usually means allowing access for “anonymous” and “everyone” in all categories under “COM Security” in dcomcnfg.

I’d recommend looking over our Setting up DCOM knowledge base article, and trying some of the suggestions there. Post back with updates about different results, error messages, and hopefully we can get things worked out!


Thank you michael, Colby. We are already connected (yes, the only way was to write CLSID into IG field). I was afraid if the CLSID couldn’t be somehow dynamic (e.g. after IG/PLC restarts), but it’s static.

Yes, we had to make the things in dcomcnfg - allow everything for Anonymous and Everyone.

Making this topic as Solved.