OPC UA Event Subscription Lost After Network Disconnection – Need Guidance on Reconnection Strategy

Hello,

I am currently developing a data acquisition system using Node-RED with the node-red-contrib-opcua library to connect to an injection moulding machine via OPC UA (EUROMAP 77 / ENGEL CC300 controller).

My goal is to subscribe to Extended OPC UA Events — specifically the EngelCycleParametersEventType — which is fired after each production cycle and contains injection unit parameters (cushion volume, specific pressure, injection time, dosing time, etc.) as well as barrel temperature zone data.

The problem I am facing:

When a network interruption occurs between my OPC UA client (Node-RED) and the machine's OPC UA server, the event subscription is silently dropped. When the network comes back, the TCP connection may be re-established (keepalive is active), but the subscription to the CycleParametersEventType events is no longer active, meaning I stop receiving cycle data without any explicit error being raised.

To recover, I currently need to:

  1. Explicitly disconnect from the OPC UA server
  2. Reconnect
  3. Re-inject the monitored node topic to re-establish the event subscription

This manual process is not reliable in a production environment where network interruptions can happen at any time.

What I am looking for:

I would appreciate guidance on the recommended approach to handle this scenario automatically, specifically:

  • Is there a built-in OPC UA mechanism (e.g. subscription watchdog, keep-alive count, lifetime count) that should handle this transparently?
  • Should the client detect the subscription loss via the status output and trigger a full reconnect + resubscribe sequence programmatically?
  • Are there any known limitations or specific configuration parameters on the ENGEL CC300 side that affect subscription resilience?

Environment:

  • Client: Node-RED with node-red-contrib-opcua
  • Machine: ENGEL injection moulding machine, CC300 controller
  • Interface: EUROMAP 77 / OPC UA, port 4840
  • Event type: EngelCycleParametersEventType (subtype of CycleParametersEventType)
  • Security: username/password authentication, no encryption

Thank you in advance for your help.

Best regards