Fanuc FOCAS (CNC)
FOCAS 指 Fanuc Open CNC API Specification。它是从 Fanuc CNC(计算机数控)控制器读取主轴负载 / 轴位置 / 加工程序 / 报警 / OEE 指标的事实标准 API。Mazak、DMG MORI、Doosan 等机床 OEM 只要采用 Fanuc 作为控制器,就会暴露相同的接口。
此网关的 FOCAS 驱动为 stub。FOCAS 的线缆协议未公开,Fanuc 仅向许可证订阅者分发 FwLib(Focas Library)C 库。我们并不打算将原生 FwLib JNI 嵌入到追求单一 jar 部署的 PlantPulse Edge 中。
推荐的集成路径:请使用 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 Suite 或 Matrikon FOCAS OPC Server 等商业网关进行转换。
| 使用的 PlantPulse 驱动 | 页面 |
|---|---|
OPCUA | OPC-UA |
选项 3. Sidecar + gRPC(持有自有许可证时)
持有 FwLib 许可证的客户,可将自有的 JNI 模块作为独立的 Sidecar 进程(例如 focas-grpc-server)运行,再由 PlantPulse 轮询其输出。
如何选择选项
| 情况 | 建议 |
|---|---|
| OEM(Mazak SmartBox / DMG MORI Celos / Okuma)已在运行 MTConnect Agent | MTConnect → HTTP |
| 新型 Fanuc 30i,可添加 OPC UA 选项 | Fanuc OPC UA → OPCUA |
| 旧型 Fanuc 0i,持有许可证的系统集成商 | KEPServerEX Fanuc Suite → OPCUA |
| 持有自有 FwLib 许可证 / 需要自定义数据 | focas-grpc Sidecar → HTTP |
| 仅需简单的稼动率(0/1)指标 | 控制器数字输出 → Modbus/Ethernet IO 模块 |
使用 MTConnect 时常见的数据项
在 MTConnect agent 的 /current / /sample 响应 XML 中,经常注册的 DataItem。
| DataItem 名称 | 含义 | PlantPulse 格式 |
|---|---|---|
Xact, Yact, Zact | 各轴实际位置(mm) | Float |
Sspeed | 主轴转速(rpm) | Float |
Sload | 主轴负载(%) | Float |
Sovr, Fovr | 主轴 / 进给倍率(%) | Integer |
execution | 运行状态(ACTIVE / INTERRUPTED / READY) | String |
program | 当前程序名(如 O1234) | String |
mode | MANUAL / AUTOMATIC / MDI | String |
Tool_number | 当前刀具号 | Integer |
block | 当前程序行(NC 行) | String |
alarm | 报警代码(如 PS 0506) | String |
stub 注册(仅供参考)
| 输入项 | 填写内容 |
|---|---|
| IP 地址 | (不使用,占位) |
| 端口 | 8193(FOCAS 标准 — 占位) |
| 自动采集 | 建议停用 |
常见问题
| 症状 | 可能原因 | 解决方法 |
|---|---|---|
| FOCAS 注册后无数据 | stub 驱动 | 改用 MTConnect(HTTP)或 KEPServerEX(OPCUA)路径重新注册 |
| MTConnect XML 解析困难 | XML 命名空间 + 多 DataItem | 使用HTTP 推送的 XPath / 计算公式后处理 |
| 主轴负载固定为 0 | Adapter 的 Sload 映射缺失 | 检查 Fanuc 的 PMC 设置 — 在 Adapter 配置中添加 axis_event |
| 程序名乱码 | Fanuc 控制器编码(如 Shift_JIS) | 检查 Adapter 的字符集选项 |
| 报警代码只显示两位 | MTConnect 的 condition 类别分离 | 单独解析 XML 的 <Condition> 区域 |
| KEPServer 许可证过期 | KEPServerEX 的 7 天试用版 | 续订或购买永久许可证 |
下一步
- MTConnect Institute 的免费规范文档(mtconnect.org)
- 咨询 Fanuc 总部 / 韩国 Fanuc 的 FwLib 许可证(如自行实现)
- 参考HTTP 推送注册 / OPC-UA 注册页面
- 技术背景:FOCAS 驱动(高级)