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ライブラリを配布します。単一jar配布を目指すPlantPulse Edgeに、ネイティブ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 Suite または Matrikon FOCAS OPC Server などの商用ゲートウェイで変換します。
| 使用するPlantPulseドライバ | ページ |
|---|---|
OPCUA | OPC-UA |
オプション 3. サイドカー + gRPC(自社ライセンスを保有する場合)
FwLibライセンスを保有している場合は、自社JNIモジュールを別のサイドカープロセス(例: 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旧型、ライセンスSIを保有 | KEPServerEX Fanuc Suite → OPCUA |
| 自社FwLibライセンス/カスタムデータが必要 | focas-grpcサイドカー → HTTP |
| 単純な稼働率(0/1)指標のみ必要 | コントローラデジタル出力 → Modbus/Ethernet IOモジュール |
MTConnect使用時のよくあるデータ項目
MTConnect agent の /current / /sample 応答XMLで頻繁に登録されるDataItem。
| DataItem name | 意味 | 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 configの axis_event を追加 |
| プログラム名が文字化け | Fanucコントローラのエンコーディング(Shift_JISなど) | Adapter側のcharsetオプションを確認 |
| アラームコードが2桁しか出ない | MTConnectのconditionカテゴリ分割 | XMLの <Condition> 領域を別途パース |
| KEPServerライセンス期限切れ | KEPServerEXの7-dayデモ | ライセンス更新または永続ライセンス購入 |
次のステップ
- MTConnect Instituteの無料仕様ドキュメント(mtconnect.org)
- Fanuc本社/韓国FanucへのFwLibライセンス問い合わせ(自社実装時)
- HTTPプッシュ登録 / OPC-UA登録 ページを参照
- 技術背景: FOCASドライバ(advanced)