The CNC cannot service the request right now and asks you to try again. It does NOT mean the connection failed — that is -16 (EW_SOCKET) or -8 (EW_HANDLE). Treating -1 as a connection failure sends integrators debugging the wrong layer, which is why it is worth stating plainly.
FOCAS is FANUC's own library, not one of Forge's 14 protocol adapters. Forge reaches FANUC controllers over MTConnect, OPC UA, or EtherNet/IP. These codes are documented because anyone integrating a FANUC directly will meet them, and because the fix is often to stop using FOCAS.
This is a transport failure, so there is nothing for Forge to normalize: the reading never arrives. What Forge does is refuse to let the gap look like good data. The read-time dropout check flags a field that fell to zero and recovered as a communication glitch rather than a real measurement, and the stuck-sensor check fires when a value repeats for 20 consecutive readings — which is what a cached or last-known value looks like after a link drops. Forge does not retry or reconnect for you; that is your client's or your gateway's job.
One MCP endpoint serves every protocol adapter. 16,908 curated mappings, 366 canonical fields.
Other FANUC FOCAS codes: -16 -8 -17
Equipment that speaks FANUC FOCAS: Fanuc
Other protocols: Modbus OPC UA MQTT / Sparkplug B EtherNet/IP PROFINET / S7 BACnet/IP J1939 (CAN) MTConnect ROS 2 (DDS) SNMP MAVLink HTTP / REST CSV ingest