OPC UA Siemens S1500 connection problem

Hi,
i tried to create a new Siemens S1500 OPC UA device in Ignition 8.0 but i cannot connect.
Status is always on N/A.

Can anyone please help me?

In Ignition log files i found this error:

INFO | jvm 1 | 2021/06/10 14:50:48 | E [c.i.i.g.o.s.DeviceManagerNamespace] [12:50:48]: Device ‘XYZ’ failed to start
INFO | jvm 1 | 2021/06/10 14:50:48 | java.lang.VerifyError: Bad type on operand stack
INFO | jvm 1 | 2021/06/10 14:50:48 | Exception Details:
INFO | jvm 1 | 2021/06/10 14:50:48 | Location:
INFO | jvm 1 | 2021/06/10 14:50:48 | com/inductiveautomation/xopc/drivers/siemens/S7Driver.(Lcom/inductiveautomation/xopc/driver/api/DriverContext;Lcom/inductiveautomation/xopc/drivers/siemens/configuration/settings/S7DriverSettings;)V @440: invokespecial
INFO | jvm 1 | 2021/06/10 14:50:48 | Reason:
INFO | jvm 1 | 2021/06/10 14:50:48 | Type ‘com/inductiveautomation/ignition/gateway/opcua/server/DriverAdapter’ (current frame, stack[5]) is not assignable to ‘org/eclipse/milo/opcua/sdk/server/api/AddressSpaceComposite’
INFO | jvm 1 | 2021/06/10 14:50:48 | Current Frame:
INFO | jvm 1 | 2021/06/10 14:50:48 | bci: @440
INFO | jvm 1 | 2021/06/10 14:50:48 | flags: { }
INFO | jvm 1 | 2021/06/10 14:50:48 | locals: { ‘com/inductiveautomation/xopc/drivers/siemens/S7Driver’, ‘com/inductiveautomation/xopc/driver/api/DriverContext’, ‘com/inductiveautomation/xopc/drivers/siemens/configuration/settings/S7DriverSettings’, ‘com/inductiveautomation/xopc/drivers/siemens/requests/ChannelWriter’, ‘com/inductiveautomation/xopc/drivers/siemens/S7Driver$1’, ‘com/inductiveautomation/xopc/drivers/siemens/requests/ConnectDoneNotifier’, integer, integer, integer, ‘com/inductiveautomation/ignition/gateway/opcua/server/DriverAdapter’ }
INFO | jvm 1 | 2021/06/10 14:50:48 | stack: { ‘com/inductiveautomation/xopc/drivers/siemens/S7Driver’, uninitialized 416, uninitialized 416, ‘com/inductiveautomation/xopc/drivers/siemens/S7Driver’, ‘org/eclipse/milo/opcua/sdk/server/OpcUaServer’, ‘com/inductiveautomation/ignition/gateway/opcua/server/DriverAdapter’, ‘com/inductiveautomation/ignition/gateway/opcua/server/api/DeviceContext’, ‘com/inductiveautomation/xopc/drivers/siemens/configuration/settings/S7DriverSettings’ }
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.xopc.drivers.siemens.configuration.S71500DriverType.createDriver(S71500DriverType.java:35)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.opcua.server.DriverAdapter.startup(DriverAdapter.kt:128)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.opcua.server.DeviceManagerNamespace$DeviceAddressSpace.onStartup(DeviceManagerNamespace.kt:313)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.common.lifecycle.AbstractLifecycle.startup(AbstractLifecycle.java:18)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.opcua.server.DeviceManagerNamespace.createAndStartupDevice(DeviceManagerNamespace.kt:198)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.opcua.server.DeviceManagerNamespace.access$createAndStartupDevice(DeviceManagerNamespace.kt:44)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.opcua.server.DeviceManagerNamespace$DeviceSettingsRecordListener$recordUpdated$1.invokeSuspend(DeviceManagerNamespace.kt:268)
INFO | jvm 1 | 2021/06/10 14:50:48 | at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
INFO | jvm 1 | 2021/06/10 14:50:48 | at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56)
INFO | jvm 1 | 2021/06/10 14:50:48 | at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:272)
INFO | jvm 1 | 2021/06/10 14:50:48 | at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:79)
INFO | jvm 1 | 2021/06/10 14:50:48 | at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:54)
INFO | jvm 1 | 2021/06/10 14:50:48 | at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
INFO | jvm 1 | 2021/06/10 14:50:48 | at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:36)
INFO | jvm 1 | 2021/06/10 14:50:48 | at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.opcua.server.DeviceManagerNamespace$DeviceSettingsRecordListener.recordUpdated(DeviceManagerNamespace.kt:265)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.opcua.server.DeviceManagerNamespace$DeviceSettingsRecordListener.recordUpdated(DeviceManagerNamespace.kt:255)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.localdb.PersistenceInterfaceImpl.notifyRecordUpdated(PersistenceInterfaceImpl.java:178)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.redundancy.RedundantPersistenceInterfaceImpl.doNotifyRecordUpdated(RedundantPersistenceInterfaceImpl.java:111)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.redundancy.RedundantPersistenceInterfaceImpl$RecordUpdateListener.recordUpdated(RedundantPersistenceInterfaceImpl.java:407)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.redundancy.RedundantPersistenceInterfaceImpl$RecordUpdateMessage.notify(RedundantPersistenceInterfaceImpl.java:457)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.redundancy.RedundantPersistenceInterfaceImpl$RecordUpdateListener.receiveCall(RedundantPersistenceInterfaceImpl.java:390)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.redundancy.QueueableMessageReceiver.receiveCall(QueueableMessageReceiver.java:47)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl.dispatchMessage(RedundancyManagerImpl.java:933)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.gateway.redundancy.RedundancyManagerImpl$ExecuteTask.run(RedundancyManagerImpl.java:1008)
INFO | jvm 1 | 2021/06/10 14:50:48 | at com.inductiveautomation.ignition.common.execution.impl.BasicExecutionEngine$ThrowableCatchingRunnable.run(BasicExecutionEngine.java:518)
INFO | jvm 1 | 2021/06/10 14:50:48 | at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
INFO | jvm 1 | 2021/06/10 14:50:48 | at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
INFO | jvm 1 | 2021/06/10 14:50:48 | at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source)
INFO | jvm 1 | 2021/06/10 14:50:48 | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
INFO | jvm 1 | 2021/06/10 14:50:48 | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
INFO | jvm 1 | 2021/06/10 14:50:48 | at java.base/java.lang.Thread.run(Unknown Source)
INFO | jvm 1 | 2021/06/10 14:51:06 | I [P.InternalDatabase ] [12:51:06]: Creating auto-backup of internal database “config.idb”…
INFO | jvm 1 | 2021/06/10 14:51:06 | I [P.InternalDatabase ] [12:51:06]: Created auto-backup of internal database “config.idb” in 144 ms

Do you have mismatched module versions installed or something? Can you get a screenshot of the modules page in the gateway?

Thanks Kevin,
i tried with another gateway on another server and it works.
The other server works with a full installation and a trial license, it’s only for testing purpose.
The production server is installed with the module that i need to use, and Siemens was added later.

You have the wrong version of the Siemens driver. It looks like maybe you’re on an 8.0.18 nightly gateway but installed the Siemens driver that goes with 8.1.6.

If your license allows you should really just upgrade everything to the latest 8.1 release.

1 Like

I’ll try to upgrade everything to the latest release. Thank you very much.

Also FWIW, the S7-1500 has a built-in OPC UA server that you can enable and then instead of using Ignition’s Siemens driver you just make an OPC UA connection directly to it instead. This way you can browse tags and access things in optimized DBs etc. It’s generally a better experience than the driver unless you need to access a lot of tags that come from structure types, which requires a little overhead in setup on the Ignition side to do efficiently.

Thanks Kevin, I’ve updated to 8.1.6 and i fixed the problem.