FANUC FOCAS Ethernet Nodes
Read FANUC CNC controllers directly over FOCAS Ethernet, with no adapter: batch reads with per-address errors, and a one-call machine snapshot.
- Operations
- Read · Status
- Writes
- None: read-only
- Errors
- Per address, never a guessed value
Read FANUC CNC controllers from pipelines over FOCAS Ethernet. Each operation has its own node in the Pipeline Designer: FANUC FOCAS Ethernet Read and FANUC FOCAS Ethernet Status. Their results have the same shape as the FANUC FOCAS (adapter) connector's Read and Status nodes, so expressions written for one work for the other.
For connection setup, the address catalog and per-function fields, see the FANUC FOCAS Ethernet connection guide.
Configuration Quick Reference
| Field | What you choose | Details |
|---|---|---|
| Parameters | Connection, Function, Function Parameters, Timeout Override | Select the FANUC FOCAS Ethernet connection profile, pick a function, bind parameters with expression support, and optionally override the timeout. |
| Settings | Description, Timeout (seconds), Retry on Timeout, Retry on Fail, On Error | Node description, maximum execution time, retry behaviour on timeout or failure, and error strategy. All execution settings default to pipeline-level values. |
FANUC FOCAS Ethernet Read Node
Read a list of addresses, each with its value or its own error. Runs a fanuc_ethernet.read function.
Node Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
| Connection | Selection | Yes | FANUC FOCAS Ethernet connection profile to use |
| Function | Selection | Yes | A fanuc_ethernet.read function from the selected connection |
| Function Parameters | Dynamic | Varies | Auto-populated from the function (addresses). See Read. |
| Timeout Override | Number (seconds) | No | Override the default function timeout |
Output Structure
{
"result": {
"values": [
{ "address": "status.run", "value": "EXECUTING", "ts": "2026-11-03T10:00:00.120Z" },
{ "address": "macro.501", "value": null, "ts": "2026-11-03T10:00:00.125Z" },
{ "address": "axis.9.pos.abs", "error": { "code": "INVALID_ADDRESS", "message": "\"axis.9.pos.abs\": the controller has 3 axes" } }
]
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 14, "timestamp": "2026-11-03T10:00:00Z" }
}
| Field | Type | Description |
|---|---|---|
result.values | array | One item per requested address, in order. A read item has address, value and ts (when it was read); value is null for an empty macro variable. A failed item has address and error (code, message) instead. |
A read where some addresses fail still succeeds (marked partial); a broken connection fails the node.
{{ $node["FANUC FOCAS Ethernet Read"].result.values[0].value }}
FANUC FOCAS Ethernet Status Node
Read the controller identity and a machine snapshot in one call. Runs a fanuc_ethernet.status function.
Node Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
| Connection | Selection | Yes | FANUC FOCAS Ethernet connection profile to use |
| Function | Selection | Yes | A fanuc_ethernet.status function from the selected connection |
| Timeout Override | Number (seconds) | No | Override the default function timeout |
Output Structure
{
"result": {
"cncHost": "192.168.1.50",
"cnc": { "series": "G431", "version": "0010", "cncType": "31", "mtType": "M", "axisCount": 3, "maxAxis": 32 },
"snapshot": {
"run": "EXECUTING", "mode": "MEM", "motion": true, "estop": false, "alarm": false,
"runningProgram": 1234, "mainProgram": 100, "feedRate": 1500.0, "spindleSpeed": 3000.0
}
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 21, "timestamp": "2026-11-03T10:00:00Z" }
}
| Field | Type | Description |
|---|---|---|
result.cncHost | string | The CNC the snapshot came from |
result.cnc | object | Controller identity: series, version, cncType, mtType, axisCount, maxAxis. Absent when the controller did not report it (then result.unavailable.cnc says why). |
result.snapshot | object | run, mode, motion, estop, alarm; and runningProgram, mainProgram, feedRate, spindleSpeed when the controller answers them |
result.unavailable | object | Present only when a snapshot field could not be read: each such field with its error (code, message) |
{{ $node["FANUC FOCAS Ethernet Status"].result.snapshot.run }}