Forge reads PROFINET / S7 from 6 OEM families and emits the same canonical JSON for every one of them. No per-vendor parser, no per-vendor schema.
One MCP endpoint serves every protocol adapter — there is no per-protocol URL to configure.
Each links to its own mapping reference with vendor-specific tag shapes.
| OEM | Vertical | Protocols | Coverage | Mapped |
|---|---|---|---|---|
| ABB Robotics | industrial robot | OPC UA EtherNet/IP PROFINET / S7 ROS 2 (DDS) | 99% | 11 fields |
| KUKA | industrial robot | OPC UA ROS 2 (DDS) PROFINET / S7 EtherNet/IP | 99% | 11 fields |
| Siemens Sinumerik | CNC / machine tool | OPC UA PROFINET / S7 MTConnect | 99% | 17 fields |
| Fanuc Robotics | industrial robot | EtherNet/IP PROFINET / S7 ROS 2 (DDS) | 95% | 11 fields |
| Kawasaki Robotics | industrial robot | EtherNet/IP ROS 2 (DDS) PROFINET / S7 | 91% | 11 fields |
| Stäubli | industrial robot | OPC UA ROS 2 (DDS) PROFINET / S7 | 91% | 11 fields |
Sampled from the live corpus — one example per vendor, so you can see the same canonical field arriving from different raw tag shapes.
| Raw tag in | Canonical field out | Source | |
|---|---|---|---|
| CJointT.rax_1: 42.7 | → | robot.joint.position: 42.7 | ABB Robotics |
| $AXIS_ACT.A1: 88.2 | → | robot.joint.position: 88.2 | KUKA |
| /Channel/Spindle/actSpeed: 6000 | → | spindle_speed_rpm: 6000 | Siemens Sinumerik |
| J1_pos: 30.5 | → | robot.joint.position: 30.5 | Fanuc Robotics |
| joint_1_deg: 37.4 | → | robot.joint.position: 37.4 | Kawasaki Robotics |
| joint_1_deg: 37.4 | → | robot.joint.position: 37.4 | Stäubli |
The fields most commonly emitted by these 6 OEMs. The full schema is open source: FoundryNet/canonical-schema (MIT).
robot.joint.currentrobot.joint.effortrobot.joint.positionrobot.joint.temperaturerobot.joint.velocityrobot.moderobot.payloadrobot.safety.status_bitsrobot.tcp.forcerobot.tcp.poserobot.tcp.speedalarm_code
industrial robot CNC / machine tool
Other protocols: BACnet/IP EtherNet/IP HTTP / REST J1939 (CAN) MQTT Sparkplug B MTConnect Modbus TCP OPC UA ROS 2 (DDS)