Project

General

Profile

Actions

Anomalie #18

closed

unable to connect to OpenOpcUa server with Inductive Automation Ignition

Added by Peter Speybrouck over 11 years ago. Updated over 10 years ago.

Status:
Rejeté
Priority:
Normal
Target version:
-
Start date:
02/21/2014
Due date:
% Done:

0%

Estimated time:

Description

While testing a few OPC UA servers, I tried to link OpenOpcUA to Ignition by Inductive Automation.

In this case, Ignition opc ua client is trying to connect to the OpenOpcUa server, both running on the same machine (Windows 7, 64 bit). I have the same issue when connecting to a remote OpenOpcUa server on a Raspberry PI though.

The connection fails and Ignition is reporting a nullreference error in GetEndpoints:
@java.lang.NullPointerException: null
com.inductiveautomation.xopc.client.util.ConnectionUtil.getEndpoint(ConnectionUtil.java:78)
com.inductiveautomation.xopc.client.OpcUaConnection.createUaClient(OpcUaConnection.java:523)
com.inductiveautomation.xopc.client.OpcUaConnection.verifyConnectionState(OpcUaConnection.java:141)
com.inductiveautomation.xopc.client.FailoverAwareOpcUaConnection.verifyConnectionState(FailoverAwareOpcUaConnection.java:75)
com.inductiveautomation.ignition.gateway.opc.OPCManagerImpl$ServerWrapper.verifyConnectionState(OPCManagerImpl.java:742)
com.inductiveautomation.ignition.gateway.opc.OPCManagerImpl$OPCConnectionKeepalive.run(OPCManagerImpl.java:618)
com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$TrackedTask.run(BasicExecutionEngine.java:573)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
java.lang.Thread.run(Thread.java:722)@

I have increased logging in both servers (attached) but it is not clear to me yet whether the problem is with Ignition, OpenOpcUa or the configuration to connect both.
For kepware, Inductive automation recommends using the IP address instead of localhost or the hostname but I tried several configurations.

A comment by an Ignition forum moderator:
@GetEndpointsResponse contains a null EndpointDescription list and Ignition isn't expecting that to be null... @

From debugging OpenOpcUa, it seems to me that it is sending an Endpoint description.
Maybe it is not in a format that Ignition expects, but since for example UAExpert opc UA client has no trouble I am wondering if it is not Ignition that is expecting a value somewhere where there is not necessarily something needed...


Files

debuglogs.zip  (1.28 MB) debuglogs.zip debuglogs from OpenOpcUa and Ignition Peter Speybrouck, 02/22/2014 12:07 AM
wiresharkLog.pcapng  (10.7 KB) wiresharkLog.pcapng Peter Speybrouck, 03/13/2014 01:07 AM
Actions

Also available in: Atom PDF