Every OPC UA integration starts with the same question: which node holds the spindle load? The traditional answer is a vendor PDF, a browsing tool on a laptop and a spreadsheet of node identifiers, half of which turn out to be wrong once the machine is running. We wanted the controller to answer the question itself.
The constraint
A Sinumerik 840D sl exposes more than ten thousand nodes. Browsing them all takes minutes, the EdgeBox is already polling the controller for live data over the same session, and the box can be restarted at any moment — by a power dip, by a deploy, by an operator. Discovery had to be chunked, checkpointed, resumable and polite.
How it works
- Discovery is started from the UI and runs on the EdgeBox, next to the controller.
- It shares the controller connection with live polling and gives way to it, so acquisition is never interrupted.
- Progress is saved as it goes. If the box restarts, discovery picks up where it left off instead of starting over, and it can be cancelled at any point without losing what was already found.
- The result is a searchable catalog of every node on the controller, per connector.
Results
On the lab's Sinumerik 840D sl tool grinder, discovery catalogued over ten thousand nodes; the Sinumerik 828D Swiss lathe was catalogued the same way. Live polling ran uninterrupted through both discoveries. The catalog now backs a searchable node picker wherever a signal is chosen — for live view, recording, a trigger condition or a computed-signal source — and the Data Recording page can create a data source for any catalogued node on the fly.
A note on enumerations
Discovery tells you where a variable is, not what its values mean. Enumerations such as program status or channel status are checked against the manufacturer's documentation before any value is trusted. Discovery removes the transcription errors; the specification removes the interpretation errors. You need both.