I’m trying to get Ignition to connect to a Schneider BMENUA0100 OPC UA Server.
The server works with three other clients:
- Schneider OPC UA Test client running on a windows machine on the same subnet
- Redlion embedded OPC UA client running on a windows machine on the same subnet (Crimson 3.1)
- Python based OPC UA client running on the gateway (Debian 10) (FreeOpcUa)
But it seems to fail when Ignition tries to browse on initial connection. It looks like Ignition is much more aggressive when browsing the device than the other clients.
I’ve attached wireshark packet captures of it working with the test client and not working with ignition.
I’ve tried a fresh install with a clean project and fiddling with the advanced OPC connection settings in Ignition but the documentation for those settings is a bit sparse. Also tried a fresh install on a windows machine with the same result.
Also came across an issue where I could not use the wizard to add the OPC UA connection to ignition when the OPC UA server was unsecured. ie: no encryption, no signing, anonymous access. Ignition would throw an index out of bound exception. See Exception.txt from the ignition log for the details.
When security was enabled this exception did not occur and the OPC UA connection could be setup through the wizard, but still had the same connection problems.
Does anyone know if any of the advanced OPC UA client settings may help in solving this?
OPC test client.pcap (18.5 KB)
Ignition.pcap (40.9 KB)
Exception.txt (9.2 KB)
I’d need some logs to verify this, but I think we already saw this with another customer and the Schneider server just falls flat on its face while we attempt to browse and read the DataType dictionary after connecting.
The next release should cut this traffic down a little bit but I’m not sure there’s anything you can do in the meantime besides maybe increasing the request timeout on the connection settings and being very patient waiting to see if it eventually connects.
The other clients you are testing are not reading this datatype information, which is why the traffic looks less aggressive.
edit: thanks for the stack trace though, that seems to be an unrelated issue.
Are you sure you’re on 8.1.7? This IndexOutOfBoundsException was already fixed for 8.1.5 after being reported occurring against a Schneider server, and the line numbers in your exception trace also indicate you are not on 8.1.7.
Nevermind, read the ticket wrong. Reported against 8.1.5, fixed for 8.1.8.
Here’s the logs from a freshly spun up container, no security on the OPC UA connection, everything else default settings. I’ll give extending the timeouts a try.
sims_Ignition_logs_20210727-0953.idb (68 KB)
I’m going to try to get the OPC UA change into the nightly build this week. You’re probably going to end up needing that.
That would be fantastic, thanks!
I just tested the current nightly build and it worked without an issue.
Thanks for your help!
Oh good, I meant to post here and let you know it was in the nightly.