Skip to main content
Loading navigation

Build an OPC UA Tooling Wear and Calibration Alert Queue

Aggregate cutting tool cycle counts and spindle vibration metrics from open62541 OPC UA servers. Queue worn tooling for dimensional recalibration or tool changer carousel replacement.

EngineeringHosted by Vera

What you are building

Aggregate cutting tool cycle counts and spindle vibration metrics from open62541 OPC UA servers. Queue worn tooling for dimensional recalibration or tool changer carousel replacement.

Tooling and CNC Cell Specialist

Subscribe to open62541 spindle telemetry nodes including cumulative engagement time and vibration RMS.

Compare live tool operating cycles against manufacturer life expectancy and regrinding thresholds.

Identify high-wear cutting tools at risk of causing dimensional part out-of-tolerance errors.

Generate tool exchange queues with rack pocket identifiers and replacement insert numbers.

Browser-based tool crib queue showing pocket wear status, remaining cycles, and swap instructions.

Simulate open62541 node dictionaries containing spindle tool cycle counts and vibration telemetry in JSON. Starter examples below are synthetic. They are not downloaded records.

open62541 OPC UA Utilizes open62541 node information structures to monitor spindle and tooling status variables.

dspy, pydantic, pytest. DSPy provides declarative prompt optimization to systematically map noisy vibration readings into maintenance classifications. Local or remote LLM supported by DSPy modules.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Accurately calculates tool life percentage from OPC UA cycle telemetry.

Generates carousel exchange alerts when vibration exceeds degradation limits.

Produces valid structured swap orders specifying tool pocket ID and insert model.

Correctly flags missing spindle vibration node data as unverified tool state.

```json [ { "input": { "cell_id": "CNC-MILL-04", "tool_pocket": 7, "tool_type": "END_MILL_12MM", "cycles_completed": 1280, "max_rated_cycles": 1200, "spindle_vibration_rms": 4.8, "vibration_threshold": 3.5 }, "expected_output": { "cell_id": "CNC-MILL-04", "tool_pocket": 7, "tool_state": "CRITICAL_WEAR", "cycles_remaining": 0, "action": "IMMEDIATE_SWAP", "replacement_insert": "INSERT-12MM-CR4" } }, { "input": { "cell_id": "CNC-MILL-04", "tool_pocket": 2, "tool_type": "DRILL_BIT_8MM", "cycles_completed": 200, "max_rated_cycles": 800, "spindle_vibration_rms": null, "vibration_threshold": 3.5 }, "expected_output": { "cell_id": "CNC-MILL-04", "tool_pocket": 2, "tool_state": "VIBRATION_TELEMETRY_MISSING", "cycles_remaining": 600, "action": "CONTINUE_WITH_OBSERVATION", "replacement_insert": null } } ] ```

Maintains passive logging and triage advice; does not send machine stop commands or alter CNC offsets. Use mock external writes. Require human review before any real deployment.

Rules

Maintains passive logging and triage advice; does not send machine stop commands or alter CNC offsets. Use mock external writes and human review.

How work is evaluated

Evaluation

Accurately calculates tool life percentage from OPC UA cycle telemetry. Generates carousel exchange alerts when vibration exceeds degradation limits. Produces valid structured swap orders specifying tool pocket ID and insert model. Correctly flags missing spindle vibration node data as unverified tool state.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Public datasets, plus the private datasets you have access to.

How submissions are scored

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Subscribe to open62541 spindle telemetry nodes including cumulative engagement time and vibration RMS. Compare live tool operating cycles against manufacturer life expectancy and regrinding thresholds. Identify high-wear cutting tools at risk of causing dimensional part out-of-tolerance errors. Generate tool exchange queues with rack pocket identifiers and replacement insert numbers.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Accurately calculates tool life percentage from OPC UA cycle telemetry. Generates carousel exchange alerts when vibration exceeds degradation limits. Produces valid structured swap orders specifying tool pocket ID and insert model. Correctly flags missing spindle vibration node data as unverified tool state.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

Browser-based tool crib queue showing pocket wear status, remaining cycles, and swap instructions.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Maintains passive logging and triage advice; does not send machine stop commands or alter CNC offsets.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

  • Subscribe to open62541 spindle telemetry nodes including cumulative engagement time and vibration RMS.

  • Compare live tool operating cycles against manufacturer life expectancy and regrinding thresholds.

  • Identify high-wear cutting tools at risk of causing dimensional part out-of-tolerance errors.

  • Generate tool exchange queues with rack pocket identifiers and replacement insert numbers.

Resources

Dataset notes

Simulate open62541 node dictionaries containing spindle tool cycle counts and vibration telemetry in JSON. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Challenge input

Input details are not configured.

DSPy

Prompt and LM program optimization framework.

Evaluated output

No output checks are configured.

Evaluation checks
  • Subscribe to open62541 spindle telemetry nodes including cumulative engagement time and vibration RMS. Comp...
  • Accurately calculates tool life percentage from OPC UA cycle telemetry. Generates carousel exchange alerts...
  • Browser-based tool crib queue showing pocket wear status, remaining cycles, and swap instructions.
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 3 configured tools

Shows the first task, up to three tools, and up to three evidence items.

View technical recipe

Configured tools

Action Space
  • DSPy · Optional
Training Infra
  • DSPy · Optional
Orchestration
  • DSPy · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build an OPC UA Tooling Wear and Calibration Alert Queue