跳到主要内容

Fanuc FOCAS — CNC

FOCAS = Fanuc Open CNC API Specification。这是从 Fanuc CNC(计算机数控)控制器读取主轴负载 / 轴位置 / 加工程序 / 报警 / OEE 指标的事实标准 API。MazakDMG MORIDoosan 等机床 OEM 如果采用 Fanuc 作为控制器,同样会暴露该接口。

当前状态:stub 驱动(无法直接通信)

本网关的 FOCAS 驱动为 stub。FOCAS 的 wire 协议未公开,Fanuc 仅向获得授权的用户分发 FwLib(Focas Library)C 语言库。PlantPulse Edge 追求单一 jar 分发,因此没有嵌入 native FwLib JNI 的计划。

推荐集成路径:请使用 MTConnect Adapter(HTTP/XML)Fanuc 新型控制器的 OPC UA 选件


推荐集成路径

选项 1. MTConnect Adapter / Agent(最常见方案 — 推荐)

大多数现代机床 / Fanuc CNC 都将 MTConnect(ANSI/MTC1.4)作为首选集成路径。Fanuc 免费提供自有的 FOCAS-MTConnect Adapter,各 OEM(Okuma、DMG MORI、Mazak SmartBox)也遵循同一标准。

使用的 PlantPulse 驱动页面
HTTP(REST 轮询,XML 解析在计算公式或接收管道中完成)HTTP 推送

选项 2. Fanuc OPC UA 选件或 KEPServerEX Fanuc Suite

Fanuc 新型控制器可通过附加选件暴露 OPC UA Server。旧型控制器则可通过 Kepware KEPServerEX Fanuc SuiteMatrikon FOCAS OPC Server 等商用网关进行转换。

使用的 PlantPulse 驱动页面
OPCUAOPC-UA

选项 3. 边车 + gRPC(自有授权时)

在持有 FwLib 授权的场合,可将自研 JNI 模块作为独立的边车进程(例如 focas-grpc-server)运行,由 PlantPulse 轮询其输出。


该选择哪个选项

场景推荐
OEM(Mazak SmartBox / DMG MORI Celos / Okuma)已在运行 MTConnect AgentMTConnect → HTTP
Fanuc 30i 新型,可加装 OPC UA 选件Fanuc OPC UA → OPCUA
Fanuc 0i 旧型,SI 持有授权KEPServerEX Fanuc Suite → OPCUA
自有 FwLib 授权 / 需要定制数据focas-grpc 边车 → HTTP
仅需简单的开机率(0/1)指标控制器数字输出 → Modbus/以太网 IO 模块

使用 MTConnect 时常见的数据项

MTConnect agent 的 /current / /sample 响应 XML 中常注册的 DataItem。

DataItem name含义PlantPulse 格式
XactYactZact各轴实际位置(mm)Float
Sspeed主轴转速(rpm)Float
Sload主轴负载(%)Float
SovrFovr主轴 / 进给 override(%)Integer
execution运行状态(ACTIVE / INTERRUPTED / READY)String
program当前程序名(如 O1234)String
modeMANUAL / AUTOMATIC / MDIString
Tool_number当前刀具号Integer
block当前程序段(NC 行)String
alarm报警代码(如 PS 0506)String

stub 注册(仅供参考)

输入项填写内容
IP 地址(不使用,填占位值)
端口8193(FOCAS 标准 — 占位值)
自动采集建议禁用

常见问题

现象可能原因解决方法
注册 FOCAS 后取不到值stub 驱动改用 MTConnect(HTTP)或 KEPServerEX(OPCUA)路径重新注册
MTConnect XML 解析困难XML namespace + 多个 DataItem使用 HTTP 推送 的 XPath / 计算公式后处理
主轴负载固定为 0Adapter 缺少 Sload 映射检查 Fanuc 的 PMC 设置 — 在 Adapter config 中添加 axis_event
程序名乱码Fanuc 控制器编码(Shift_JIS 等)检查 Adapter 侧的 charset 选项
Alarm 代码只显示两位MTConnect 的 condition 分类被拆分单独解析 XML 的 <Condition> 区域
KEPServer 授权过期KEPServerEX 的 7-day demo续订授权或购买永久授权

后续步骤