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:
- Explicitly disconnect from the OPC UA server
- Reconnect
- 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 ofCycleParametersEventType) - Security: username/password authentication, no encryption
Thank you in advance for your help.
Best regards