FoundryNet / Fields / spindle_speed_rpm
Canonical field reference

spindle_speed_rpm

Actual spindle rotational speed, as measured — not the programmed S-word. This is the single most requested value in machine-tool telemetry and the most inconsistently named: every controller vendor spells it differently, and several report commanded and actual speed under names that differ by one character. Forge maps all of them to one field, and keeps commanded speed separate as spindle_speed_commanded so a control-loop deviation stays visible instead of being averaged away.

21OEMs / profiles mapped
118distinct raw spellings
307corpus source tags
1.00match confidence
Get an API key All canonical fields

Vendor tag table

How 21 vendors spell spindle_speed_rpm

Each of these is a real tag as the device or controller emits it, taken from the Forge mapping corpus. This is the table that does not exist anywhere else — the reason cross-vendor telemetry is hard is visible in a single column.

OEM / profileRaw tag as the device emits itConfidence
SiemensSACTRPM
S_ACT_RPM
SACTRPM_RPM
nIstspindle
SACTRPM(RPM)
nIst_spindle
+41 more spellings
1.00
FanucAct Sp Speed
SSPEED [RPM]
Sp Rpm_min-1
Sp_Rpm [RPM]
SpindleSpeed
SPRPM (1/min)
+23 more spellings
1.00
HaasSRPM
S Speed
S SPEED_RPM
s_speed_RPM
SRPM (1/min)
srpm [min-1]
+10 more spellings
1.00
Bridgeportspindle_rpm1.00
Brotherspindle_rpm1.00
DMG MoriSpindleActualSpeed1.00
Doosanspindle_rpm1.00
HeidenhainS_actual1.00
Hitachi Seikispindle_rpm1.00
Hurcospindle_rpm1.00
Kitamuraspindle_rpm1.00
Komatsu NTCspindle_rpm1.00
Makinospindle_rpm_act1.00
Matsuuraspindle_rpm1.00
MazakS1speed1.00
Mikronspindle_rpm1.00
Mitsubishispindle_rpm1.00
OkumaSpindleRPM1.00
Siemens Sinumerik/Channel/Spindle/actSpeed1.00
Tongtaispindle_rpm1.00
Tormachspindle_rpm1.00
Trumpfspindle_rpm1.00

Every row above is an exact match — a deterministic pack entry or a confirmed corpus mapping — so all of them carry confidence 1.00. That is not a rounding: these are the two exact-match layers, and a tag that resolves here never reaches the embedding or LLM layers. Mappings resolved by the LLM layer do carry sub-1.0 confidence, but those are per-tenant and are not published here.


Unit contract

What Forge guarantees about the value

The canonical field is not just a name. It is a contract about units, sign convention and plausible range, enforced on the way in and re-checked at read time.

SI / canonical unitrpm
Accepted input unitsrpm
Physics bounds-50000 to 50000 rpm
Measurement typeinstantaneous
Distinct source tags in the corpus307

Normalization

Raw tag in, canonical field out

# Siemens emits its own spelling; Forge returns the canonical field
curl -s -X POST https://forge.foundrynet.io/v1/normalize \
-H "Authorization: Bearer $FORGE_KEY" \
-H "Content-Type: application/json" \
-d '{"data": {"SACTRPM": 0}, "oem": "siemens"}'
{ "normalized": { "spindle_speed_rpm": 0 }, "match_type": "deterministic", "confidence": 1.0 }

No mapping table to maintain, and no per-vendor branch in your code. The same request shape works for every OEM in the table above.

# Same thing with no key and no account — the sandbox ships the packs
docker run -p 8000:8000 ghcr.io/foundrynet/forge-sandbox

Where this field appears

Protocols

Transports this field is carried on in the corpus.

MTConnect OPC UA

Related fields

Read alongside this one.

spindle_load_pct program_name part_count feed_rate robot.joint.position

OEMs that map this field

Fanuc Haas Siemens Sinumerik DMG Mori Mazak Okuma Heidenhain Makino Mitsubishi Brother Hurco Doosan Trumpf Bridgeport Hitachi Seiki Kitamura Komatsu NTC Matsuura Mikron Tongtai Tormach
Every one of these tag names is someone’s integration project. The Machine Agent, weekly. Read it →
Get the thesis behind this infrastructure — The Machine Agent, weekly.