본문으로 건너뛰기

Fanuc FOCAS — CNC

FOCAS = Fanuc Open CNC API Specification. Fanuc CNC (Computer Numerical Control) 컨트롤러에서 스핀들 부하 / 축 위치 / 가공 프로그램 / 알람 / OEE 지표를 읽기 위한 사실상의 표준 API 입니다. Mazak, DMG MORI, Doosan 같은 공작기계 OEM 도 컨트롤러로 Fanuc 을 채택하면 같은 인터페이스가 노출됩니다.

현재 상태: stub 드라이버 (직접 통신 불가)

이 게이트웨이의 FOCAS 드라이버는 stub 입니다. FOCAS 의 wire 프로토콜은 비공개이며, Fanuc 은 라이선스 가입자에게만 FwLib (Focas Library) C 라이브러리를 배포합니다. 단일 jar 배포를 추구하는 PlantPulse Edge 에 native FwLib JNI 를 임베드할 계획은 없습니다.

권장 통합 경로: MTConnect Adapter (HTTP/XML) 또는 Fanuc 신형 컨트롤러의 OPC UA 옵션 을 사용하세요.


권장 통합 경로

옵션 1. MTConnect Adapter / Agent (가장 흔한 패턴 — 권장)

대부분의 현대 공작기계 / Fanuc CNC 는 MTConnect (ANSI/MTC1.4) 를 1차 통합 경로로 채택합니다. Fanuc 은 자체 FOCAS-MTConnect Adapter 를 무료 제공하며, OEM (Okuma, DMG MORI, Mazak SmartBox) 들도 같은 표준을 따릅니다.

사용할 PlantPulse 드라이버페이지
HTTP (REST polling, XML 파싱은 계산식 또는 수신 파이프라인에서)HTTP 푸시

옵션 2. Fanuc OPC UA 옵션 또는 KEPServerEX Fanuc Suite

Fanuc 신형 컨트롤러는 추가 옵션으로 OPC UA Server 를 노출합니다. 구형 컨트롤러는 Kepware KEPServerEX Fanuc Suite 또는 Matrikon FOCAS OPC Server 같은 상용 게이트웨이로 변환합니다.

사용할 PlantPulse 드라이버페이지
OPCUAOPC-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스핀들 / 이송 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 + 다중 DataItemHTTP 푸시 의 XPath / 계산식 후처리
스핀들 부하가 0 으로 고정Adapter 의 Sload 매핑 누락Fanuc 의 PMC 설정 확인 — Adapter config 의 axis_event 추가
프로그램 이름이 깨짐Fanuc 컨트롤러 인코딩 (Shift_JIS 등)Adapter 측 charset 옵션 확인
Alarm 코드가 두 자리만 나옴MTConnect 의 condition 카테고리 분리XML 의 <Condition> 영역 별도 파싱
KEPServer 라이선스 만료KEPServerEX 의 7-day demo라이선스 갱신 또는 영구 라이선스 구매

다음 단계