Remote OPC Question

I’ve installed and have been doing some Ignition testing. Looks like you guys have done some nice work - congrats on the release.

I’ve tested the OPC-UA connections to a ControlLogix processor and just for a try CompactLogix(using the ControlLogix option). It may be me, but it seems significantly faster compared to utilizing traditional OPC.

However, I do have a question about traditional OPC connections. I was trying to configure to use an RSLinx server. There are options for remote OPC servers under the advanced check box, but I believe the manual states that remote OPC servers are not supported? Is that the case?

The manual likely does state that remote connections aren’t available- that was originally the plan, but it managed to sneak its way in at the end.

So, it is indeed possible to connect over DCOM using the OPC-COM module. However, we haven’t really tried to make it too user friendly, mainly because we’re trying to leave those nightmare days of troubleshooting DCOM behind us!

The big thing is that if you want to connect remotely, you’ll need to know the server’s CLSID. This can be found in the registry under HKEY_CLASSES_ROOT[i]ServerName[/i]\CLSID

Now, one final point: RSLinx doesn’t allow DCOM connections unless it’s running in the “Gateway” licensed mode.

Regards,

I couldn't agree more. That pain that stuff has caused makes me cringe thinking about it! However for some testing, I wanted to give it a try. I'll try again, but I was using the same CLSID, same server / RSLinx gateway I used in FSQL, so I assume most of the DCOM stuff is already out of the way.

I get status Faulted:

com.jniwrapper.FunctionExecutionException: c0000005
com.jniwrapper.Function.invokeCFunc(Native Method)com.jniwrapper.FunctionCall.a(SourceFile:127)com.jniwrapper.FunctionCall.call(SourceFile:35)com.jniwrapper.Function.invoke(SourceFile:188)com.jniwrapper.win32.com.ComFunctions.coCreateInstanceEx(SourceFile:220)com.inductiveautomation.opccom.COMServerImpl$ConnectServerJob.internalRun(COMServerImpl.java:600)com.inductiveautomation.opccom.wrapper.OleJob.run(OleJob.java:45)com.jniwrapper.win32.MessageLoopThread$ThreadSynchronizedAction.run(MessageLoopThread.java:566)com.jniwrapper.win32.MessageLoopThread$LoopThread.run(MessageLoopThread.java:508)

[quote=“Rockman1_1”]I’ve installed and have been doing some Ignition testing. Looks like you guys have done some nice work - congrats on the release.

I’ve tested the OPC-UA connections to a ControlLogix processor and just for a try CompactLogix(using the ControlLogix option). It may be me, but it seems significantly faster compared to utilizing traditional OPC.

However, I do have a question about traditional OPC connections. I was trying to configure to use an RSLinx server. There are options for remote OPC servers under the advanced check box, but I believe the manual states that remote OPC servers are not supported? Is that the case?[/quote]

Did you have any success with the CompactLogix using the ControlLogix option? I am able to set it up, but am unable to add tags in the designer, so I was curious if you had any luck. I am able to browse the controller tags, select one, and add it. As soon as
I add the tag, it’s status goes to Bad data, and then to unknown, and then the controller faults.

The controller faults? Actually, I did have sucess. I had only done the browse of the controller tags until I read this, but I decided to give it a go. I was able to drag a compactlogix custom data-type based tag from the OPC-UA server browse into the Ignition Designer. It created the tags in Ignition and I was able to use these tags on some display objects. I wouldn't condone using for CompactLogix in a production enviornment until it's blessed by IA, but it does seem to be functioning for me.

Hmm, that error’s a bit strange. Basically a “null pointer” error coming from connect. I’d verify that the host was set, as well as the CLSID (which for me is “{A05BB6D6-2F8A-11D1-9BB0-080009D01446}”). I don’t have gateway edition, however, so my server doesn’t connect - I get an “E_NOINTERFACE” error. In RSLinx, under “communication events”, I get a message that says: “Remote OPC connection attempted on a non RSLinx Classic Gateway machine.”

Do you have any messages in RSLinx that might indicate that the connection was being attempted?

It was the braces! I didn’t have the braces around the CLSID. I read your message and it clicked. I added them and it connected right away. I had just copied and pasted from the edit server in FSQL - it must have worked without the braces in FSQL.

Ah, great. We’ll tweak it so it’s not so picky.

Regards,