Hi,
I am currently running an OPC-UA Server connected to Ignition based on the Boiler Server sample project from the official open-source C# OPCUA repository. After about 10 to 15 minutes of normal function, the connection faults. The logs display these messages:
[UascClientMessageHandler] Exception caught: An existing connection was forcibly closed by the remote host
[SessionFsm] Keep Alive failureCount=2 exceeds failuresAllowed=1
[OpcUaSubscriptionModel] ResendData for subscriptionId=1 failed: StatusCode{name=Bad_NotImplemented, value=0x80400000, quality=bad}
[OpcUaSubscriptionSynchronizer] Failed to create subscription ‘Scanclass ‘Default[default]’’: requestId=10260 timed out after 5000ms
[SessionFsm] [120] Initialization failed: OpcUaSession{sessionId=NodeId{ns=5, id=120899177}, sessionName=ignition[Ignition-PCname]_servername_1565300544779}
From the server side, it was unclear what was occurring even in debug mode. It sounds like there’s an unimplemented subscription or session feature, but what could it be? Restarting the server resets the connection correctly, only for the same issue to occur, and messing around with the SessionTimeout and other configuration numbers from both sides yielded no positive results.
I suspected as much, but this is failing rather silently on the server side. I have had trouble finding similar issues and use cases online to help troubleshoot. Let me know if there’s anything I missed on these forums. Thanks!
What are you trying to accomplish here? Can you use one of the other demo servers, e.g. the one from Unified Automation? Are you using the sample server from legacy .NET or .NET standard repo?
I’m doing an MTConnect to OPC-UA transformation, essentially. It relies on the model compiler https://github.com/OPCFoundation/UA-ModelCompiler to generate nodes from MTConnect schema, which then are used in the .NET standard repo.
I don’t know if I could use another demo server unless it was compatible with the generated nodes/model compiler.
I’m not sure what’s wrong with the server. It seems to close the connection and then stop responding to some requests when we reconnect. The message about ResendData not being implemented is fine, but the other errors are not.
It just means the server doesn’t support/implement subscription transfers, which is something Ignition’s OPC UA client will attempt upon reconnection. When it fails the subscriptions are just re-created instead.