FoundryNet / Canonical Data Model / Fanuc

CNC · FANUC FOCAS

Canonical Data Model for Fanuc CNC

2,461 mappings·1,027-field schema·ISA-95 categorized·deterministic

Fanuc FOCAS exposes machine state under names that vary by control generation, option package and whoever configured the driver. The canonical data model collapses all of them onto one field set.

Try it on your tags →See pricing →

The problem

780 spellings of the same handful of readings.

A Fanuc control does not have a name for feed rate. Across FOCAS versions, option packages and driver configurations it is ACTFEED, ACT FEED(mm/min), ACTFEED_ipm, ACTFEED_mm/rev and dozens more: the same reading, in different units, under different keys.

That is fine for one machine and fatal for a fleet. An agent asked which machine is running slowest cannot compare a value in mm/min against one in in/min against one in mm/rev, and nothing in the tag name tells it which it has. The Fanuc pack carries 780 tag spellings precisely because the vendor surface really is that wide.


The canonical data model

FOCAS tags in, canonical fields out.

Resolution is deterministic: a curated corpus lookup, not a model guessing from the name. Every row below was produced by the shipping engine.

Raw vendor tagCanonical fieldISA-95 category
SPINDLE_SPEED_ACT→spindle_speed_rpmequipment_performance
ACTFEED→feed_rateequipment_performance
SPINDLE_LOAD→spindle_load_pctequipment_performance
CUT TIME (h)→cutting_time_hoursequipment_state
POWER ON TIME (h)→operating_hoursequipment_state
ALARM→alarm_codeequipment_state

Every row above is produced by the shipping engine, not written by hand. This page fails to build if any of them stops resolving to the field shown.


How it works

Deterministic resolution, in layers, with the answer shown.

Resolution is a lookup, not an inference. A tag is matched against a curated corpus of 2,461 confirmed vendor mappings; only if that misses does it fall to weaker layers: a normalized fold that strips unit suffixes and separators, then a signal classifier that reads structure and unit evidence. Each layer carries a lower confidence, and the layer that answered is named in the response. A mapping you disagree with is visible rather than buried.

Below a confidence threshold the engine abstains. An evidence gate refuses a match it cannot justify and reports the tag unresolved, by name, with the score and the reasons, because a wrong field at high confidence is far more expensive than an honest miss. Six read-time validators then check what survives: sentinel detection, physics bounds, stuck sensors, dropout, operating mode and correlation.

Units are converted to SI where the source unit is known, and every conversion is reported with its factor. A value that fails a physics bound is nulled with the bound it violated attached, not silently dropped.


Limits

What it will not do.

It does not invent fields. A tag outside the corpus that the signal layer cannot justify comes back unresolved and counted, and those names feed the roadmap for the next pack rather than a plausible guess in your data. It is a translation layer, not a historian: it holds no time series and replaces no SCADA system. And the container is a sandbox: it ships the deterministic layers and the canonical schema, not the production embedding, research and corpus-learning layers.


The proof

Pull the container. Send your own tags.

No key, no account, no sales call. The sandbox runs locally and answers with the same canonical schema production does.

docker pull ghcr.io/foundrynet/forge-sandbox

Send your own Fanuc dump, whatever your FOCAS driver actually emits. The response names which layer answered, which pack matched, and the confidence, so a mapping you disagree with is visible rather than buried.

1,027-field schema
2,461vendor mappings
47vendor packs
12protocols

Next

Point it at your controls.

The sandbox resolves Fanuc tags with no key and no account. See platform licensing for embedding the canonical data model in your own product, or pricing for usage-based API access.

Try it on your tags →See pricing →

Related

Other canonical data model pages

Siemens PLC
Haas CNC
Manufacturing
ISA-95
Why does a cross-vendor canonical data model matter? The Machine Agent breaks it down weekly. Read it →
Get the thesis behind this infrastructure: The Machine Agent, weekly.