Crashing When Browsing OPC DA 3 Tags (64-bit)

I am currently trying to help one of our mutual customers who is having issues getting Ignition to read our data via OPC. I have been able to reproduce his issue of Ignition ‘locking up’ when trying to browse our tags on a Win7 64-bit PC.

When using a DA3 OPC server: Using the Quick Client, I expand our server, and Ignition shows the group, when I click to expand the group Ignition stops responding. I need to restart via the Gateway Control Utility to get it back.

When the OPC server is set to use DA2: I am able to browse all of the tags, but the values never show, and the quality shows stale.

Everything works perfect on my 32-bit Win7 machine, I didn’t try the DA2 option since the DA3 worked fine. I have also tried 3 other OPC Clients. All 3 were able to read our data using DA2. One was DA2 only, the second also crashed when it was forced to use DA3, the third was able to read data via DA1, 2, and 3.

Based on the fact that 2 different clients crashed when trying to access our server via DA3, I don’t want to point fingers, as it could be something we are (or are not) doing. What I am really looking for is things to check, as well as possible diagnostic functions to use to try to get to the bottom of the issue.

Thank you,

Surprised you got this far; the COM module isn’t supported on 64-bit installs of Ignition right now. We’re working to fix this in the future however.

That certainly would explain it.

Thank you,

if you have to use 64 bit kepware and matrikon both sell a wrapper that you can use to turn the opc-da to opc-ua. I use the kepware version and it is solid.

Thank you, I am installing the Matrikon one now.

In addition to the OPC Clients that Dan mentioned, OPC Data Logger from Software Toolbox also had to be modified to get it to work with OPCWorx. They added an Extended Property to their Data Collector section called “Skip GetItemID calls on branches” and needs to be set to True for their program to be able to display tags from OPCWorx. The description says “Set this to True if your OPC Server returns errors when calling GetItemID on branches”. I’m not familiar with the various function calls allowed internally for OPC, but from the wording, it seems OPCWorx would return an error, yet stayed stable enough to not crash OPCWorx, but severe enought that client programs never anticipated an error to be returned and they crash. This may shed some light on the Ignition error of restarting as soon as you try to expand the tree.

I have a screenshot saved if anyone needs to see it.


Don’t know how I didn’t see this thread until just now. Basically, the crashing really has nothing to do with browsing. It has to do with problems in the underlying library we use for COM interaction. If you don’t have the 64-bit core components installed (as most people don’t), you simply can’t browse servers, and can’t connect. If you do have them installed, you get further, but then basically anything you do will eventually lead to a crash. If you didn’t browse, and just added items manually, it would still crash.

We have worked a bit with the supplier of that library on getting this fixed, but haven’t gotten everything worked out. We intend to continue working with them, and hopefully can get it working in time to test it at the next OPC interoperability conference, at the end of March. In the mean time, using 32-bit, or a UA wrapper, is the way to go.


Colby, what exactly should be 32-bits, the Ignition installation, the OPC Foundation Core Components, or the Operating System?

Ignition should be 32 bit. That also means you need 32 bit Java.

Does the 32 bit Java run on a 64 bit machine such as Windows 2008 Server?

Yes, you can run 32-bit java without a problem on 64-bit windows. You can even have multiple versions of java installed side by side- although in this case it’s important to point Ignition to the correct one by modifying the “ignition.conf” file in the install directory.