OPC-DA COM connection fail, error code: 0x80040154

I have installed Ignition on my Windows Server 2008 R2 64bit.
I am trying to connect to IFIX 5.5 with OPC-DA on the same machine.

error detail

[quote]com.jniwrapper.win32.com.ComException: COM object method returns error code: 0x80040154; REGDB_E_CLASSNOTREG (類別未登錄)
com.jniwrapper.win32.com.ComException.checkResult(SourceFile:172)
com.jniwrapper.win32.com.ComFunctions.coCreateInstanceEx(SourceFile:230)
com.inductiveautomation.opccom.COMServerImpl$ConnectServerJob.internalRun(COMServerImpl.java:676)
com.inductiveautomation.opccom.wrapper.OleJob.run(OleJob.java:47)
com.jniwrapper.win32.MessageLoopThread$ThreadSynchronizedAction.run(MessageLoopThread.java:585)
com.jniwrapper.win32.MessageLoopThread$LoopThread.run(MessageLoopThread.java:527)[/quote]

I have successfully connect to ifix opc da with matrikon explorer and read tags.

what could I do next to resolve this problem?

The 0x80040154 error is (specifically) a class not registered. Usually, this is a DCOM setting or a specific library or service is not started.

Ive used OPC Expert a couple of times to troubleshoot issues. The free version has a four-hour time limit. It may provide you with some answers. :slight_smile:

I follow these steps and got the problem solved.
https://support.inductiveautomation.com/index.php?/Knowledgebase/Article/View/4/2/setting-up-and-troubleshooting-opc-com-connections

the problem is caused by Ignition could not find the right COM object to create. so, install OPC Core component and then reboot the machine, should resolve the problem.

My machine is 64 bit windows, choose x64. during the intallatin process, it might come up with a question, telling you that some process need to stop before proceeding, like OpcEnum, I just kill that process and click cont. (beware, do this at your own risk)


3 Likes

Hello all,

I'm trying to connect to an OPC DA Server.
I installed the OPC Core components (several times) with the same architecture than my OS. I also rebooted (several times) but I keep having this error when trying to connect to my OPCDA Server :

com.jniwrapper.win32.com.ComException: COM object method returns error code: 0x80040154; REGDB_E_CLASSNOTREG (Classe non enregistrée)

From what I understand, this is caused when Ignition can't access to the OPC Core Components. I can't figure why.

My situation:

  • I can define the connection to my OPC Server (it appears in the list)
  • The OPC Server is local
  • Another OPC Client is working well
  • COM / DCOM settings set to full access to Everyone and Anonymous logon
  • Ignition 7.9.3 / Java 64 bits / OPC Core Components 64 bits installed (it apprears in the Windows Programs list)
  • Rebooted several times.
  • Followed and applied the troubleshooting guide provided in the previous posts

How can I make Ignition use those OPC Core components (it seems that the problem is really here).

Regards.

You don’t mention having Ignition’s OPC-COM module installed — that’s also necessary to connect to OPC-DA servers.

Indeed. It is of course installed :slight_smile: (Mandatory to be able to declare an OPCDA Connection)

Hi.
Have you found any solution for this?
Same situation with you.

  • I can define the connection to my OPC Server (it appears in the list)
  • The OPC Server is local
  • Another OPC Client is working well
  • COM / DCOM settings set to full access to Everyone and Anonymous logon
  • Ignition 7.9.9 / Java 64 bits / OPC Core Components 64 bits installed
  • Rebooted several times
  • Followed and applied the troubleshooting guide

but I keep on getting this error:
com.jniwrapper.win32.com.comException: COM object method returns error code: 0x80040154; REGDB_E_CLASSNOTREG (Class not registered)

Hope anyone can help.
Thanks in advance.

2 Likes

Having the same problem… strange.

1 Like

I have same problem . even it's OPC expert wasn't able to connect or browes but once install kepware on same machine then OPC EXPERT was able to retrive data .
But ignition still unable to connect to to OPC DA servers .
issue solved once i install OPC core(Classic - OPC Foundation))

Start stop ignition services

second note : please check if ignition is running as a local account or you need to run it under certain account .

2 Likes

5 years old...

But installing OPC Core Components worked for me. One thing I'll note is that I also made sure to set the Ignition service (IgnitionGateway.exe) and the OPC-DA server to run under the same user. By default, Ignition runs under the SYSTEM user in Windows.