Skip to main content
CNC.wikiCNC.wiki

G98 및 G99 G코드: CNC canned cycle 안전 복귀 가이드

Fanuc, Siemens, Mitsubishi CNC에서 G98 최초점 복귀와 G99 R점 복귀 명령어를 완벽히 마스터하고 비가동 시간과 불량률을 없애는 안전 파라미터 및 경보 조치 가이드를 제공합니다.

Hakan Gündoğdu
Hakan Gündoğdu

CNC CARE 공동 창업자

서론

자동화 라인의 반복 가공 주기에서 단 한 번의 Z축 급속 이송 높이 설정 오차는 카바이드 드릴 공구가 공작물 고정용 클램프(clamp), 바이스 죠(vise jaw) 또는 회전하는 주축 척(chuck)에 직접 충돌하는 파괴적인 사고를 유발합니다. 이로 인해 가공 축의 과부하 경보가 작동하고 금속 파손음과 함께 장비가 즉각 정지되며, 작업자는 비상 정지 버튼을 누를 수밖에 없습니다. 파괴된 공구의 교체 비용보다 더 심각한 손실은 주축의 기하학적 정렬 정밀도가 손상되어 오랜 시간 장비를 가동하지 못하는 비가동 시간(downtime)과 한순간에 폐기되는 고가의 공작물 불량률(scrap rate)의 급격한 상승입니다. 이러한 치명적인 충돌 사고는 가공 경로 상에 물리적인 장애물이 존재함에도 불구하고 G99 R점 복귀(R-plane return) 모드를 해제하지 않아 발생합니다. 특히 이 파라미터를 검증하지 않고 양산에 들어가면, 팔레트 교환 후 두 번째 사이클부터 치수 편차가 누적되어 최종 검사에서 불량이 발견됩니다. 자동화 가공 라인의 가동 중지 시간을 완전히 없애고 장기적인 반복 가공 정밀도를 보장하기 위해, G98 최초 점 복귀(Initial plane return)와 G99 R점 복귀 명령어의 상세한 구문 설정과 제어기 브랜드별 안전 파라미터 연동 메커니즘을 완벽히 마스터해야 합니다. Fanuc 3401번 파라미터를 사전 확인하면 이 명령어에서 가장 빈번한 비계획 정지를 없앨 수 있으며, 공운전 (dry run) 상태에서 좌표계를 정밀하게 점검하여 잠재적인 충돌 리스크를 제거하는 선제적 관리가 필요합니다.

기술 요약

기술 사양상세 정보
명령 코드G98 (최초점 복귀 / 분당 이송), G99 (R점 복귀 / 회전당 이송)
모달 그룹Group 10 (Fanuc 고정 사이클 복귀 높이), Group 11 (Siemens ISO Dialect), Group 05 (Fanuc/Mitsubishi 시스템 A 선반 이송속도)
지원 브랜드Fanuc, Siemens, Mitsubishi
주요 파라미터Parameter 3401 bit 1 (FCD), Parameter 3402 bit 4 (FPM), 전역 사용자 데이터 _ZFPR[6], Parameter #8013
주요 제약 사항고정 사이클 호출 전에 반드시 활성 공구 경보정(G40)을 취소해야 함; 활성 G코드 시스템 리스트에 따라 선반에서 G98/G99 기능 오버로드 발생.

핵심 요약

  • 간섭 높이 사전 평가: 높이가 큰 클램프, 리브 또는 fixture(치공구) 위를 traverse 이동할 때는 공구를 최초 Z축 시작 평면으로 완벽히 복귀시키기 위해 G98을 선택하십시오.
  • 사이클 시간의 안전한 최소화: 평탄하고 장애물이 없는 표면에서 다공 드릴링 작업을 수행할 때는 하단의 R-plane clearance 높이로 공구를 복귀시키기 위해 G99를 프로그래밍하십시오.
  • G코드 시스템 레이아웃 검증: 선반 제어 장치가 Lathe System A로 동작하는지 확인하십시오. 이 환경에서는 G98과 G99가 cycle 복귀 높이가 아닌 feedrate 모드 제어 명령으로 작동합니다.
  • 공구 코너 R 보정 취소: 고정 cycle 블록을 호출하기 전에 항상 G40을 프로그래밍하여 P155 program error가 발생하는 것을 차단하십시오.
  • 스트로크 한계 점검: 계산된 공구 경로 종점이 prohibited area(금지 영역)로 진입하지 않도록 확인하십시오. 진입할 경우 Mitsubishi 제어기에서 즉시 P452 alarm이 작동합니다.
  • 이송 속도 모드 전환 처리: 선반에서 분당 이송(G98)과 회전당 이송(G99) 모드를 전환한 직후에는 동일 블록에 F값을 명시적으로 프로그래밍하여 Fanuc PS0011과 같은 feed-zero alarm 발생을 사전에 예방하십시오.

기본 개념

홀 가공 공정에서는 드릴링, 보링, 태핑과 같이 반복적인 가공 동작을 자동화하기 위해 canned cycle을 활용합니다. 연속된 인접 홀 위치 사이에서 공구의 복귀 높이를 관리하기 위해 프로그래머는 G98 및 G99 명령어를 사용합니다. 이 명령어들은 modal 특성을 가지므로, 반대되는 코드가 명령될 때까지 선택된 복귀 레벨이 이후의 모든 후속 작업에 지속적으로 유효합니다.

canned cycle이 실행될 때 공구는 Z축 상의 세 가지 고유 평면 사이에서 작동합니다. 첫 번째는 최초 시작 평면(initial starting plane)으로, 사이클이 최초 호출되기 직전에 공구가 위치해 있던 absolute Z축 좌표입니다. 두 번째는 복귀 평면(point R)으로, 공작물 표면보다 약간 높은 위치에 설정되는 좌표입니다. 세 번째는 최종 가공 깊이(Z 깊이)입니다. G98은 홀 가공 간에 공구를 최초 시작 평면으로 완전히 복귀시켜 최대 clearance 공간을 확보해 줍니다. 반면 G99는 공구를 오직 R-plane까지만 복귀시키므로, 공구를 공작물 표면에 가까이 유지하여 허공에서의 rapid traverse(급속 이송) 시간을 최소화할 수 있습니다. 절대 좌표계에 대한 세부 설명은 G90 and G91 Absolute vs. Incremental Programming 가이드를 참조하십시오.

명령 구조

canned cycle 블록은 단일 G-code 라인에 좌표, 깊이, feedrate 및 복귀 거동을 정의하도록 구성됩니다. G98과 G99 사이의 선택은 modal이며, 홀 하단부 가공을 마친 후 공구가 이동하는 가공 경로를 결정합니다. G98이 활성화된 경우 공구는 다음 홀 좌표로 이동하기 전에 최초 시작 평면으로 rapid 복귀합니다. G99가 활성화되면 공구는 R-plane clearance 높이까지만 복귀한 후 수평 traverse 이동을 개시합니다.

명령 블록 구조는 복귀 레벨, canned cycle 코드, 홀 좌표, 깊이 좌표, clearance 평면 및 feed 값을 병렬적으로 조합합니다. 프로그래밍 구문은 이러한 변수들 간의 유기적 상관관계를 규정합니다. 제어기는 이 코드들을 파싱하여 가공 축의 속도와 기하학적 이동 방향을 제어합니다.

구문 구조:

G98 G81 X[coordinate] Y[coordinate] Z[depth] R[plane] F[feedrate] ; 최초 시작 평면 복귀
G99 G81 X[coordinate] Y[coordinate] Z[depth] R[plane] F[feedrate] ; R점 복귀

파라미터 및 주소:

  • G98: 최초 Z축 시작 평면으로의 복귀를 지정하는 modal 명령어입니다. Lathe System A 환경에서는 분당 이송(mm/min 또는 inch/min) 모드를 지정합니다.
  • G99: R점 clearance 평면으로의 복귀를 지정하는 modal 명령어입니다. Lathe System A 환경에서는 회전당 이송(mm/rev 또는 inch/rev) 모드를 지정합니다.
  • X / Y: 활성 가공 평면 상의 홀 중심 좌표값입니다.
  • Z: 홀 하단부의 absolute 좌표값 또는 R-plane으로부터의 증분(incremental) 거리입니다.
  • R: 복귀 평면(clearance 높이)의 absolute 좌표값 또는 시작 평면으로부터의 incremental 거리입니다.
  • F: feedrate 값으로, 선반 이송 모드에서는 G98 하에서 mm/min, G99 하에서 mm/rev 단위로 다르게 해독됩니다. 이러한 선반 속도 모드는 밀링 및 터닝 공정에서 널리 활용되는 G94 and G95 Feed Rate Modes 가이드와 매우 밀접하게 관계되어 있습니다.

브랜드별 응용

Fanuc

Fanuc CNC 제어장치는 G98 및 G99 명령어를 번역기가 해석하는 방식을 통제하기 위해 고유한 시스템 파라미터를 활용합니다. Parameter 3401 bit 1(FCD)은 G98/G99 feedrate 전환 이전에 프로그래밍된 F-code가 새로운 모드를 준수할 것인지 혹은 직전의 모드를 상속할 것인지를 판정합니다. 이에 더하여, Parameter 3402 bit 4(FPM)는 시스템 전원이 인가되었을 때 초기 기본 modal feedrate 상태를 강제 설정합니다.

Fanuc G-code 구문 구조는 밀링(M-series)과 터닝(T-series) 사양에 따라 서로 차이를 보입니다. 밀링의 경우 G81 및 G83과 같은 고정 cycle 블록에 G98 및 G99 모달 코드가 내장되어 복귀 제어 높이를 연산합니다. 반대로 Lathe G-code System A 사양의 선반 장치에서는 G98과 G99가 곧바로 feedrate 속도 모드로 제어 매핑됩니다.

구분시스템 설정 / 코드세부 동작 / 거동
파라미터Parameter 3401 bit 1 (FCD)동일 블록 안에서 G98/G99 feedrate 명령어보다 기하학적으로 앞선 부분에 코딩된 F-code가 직전 모드를 상속할지(0), 혹은 직후에 기재된 신규 이송 모드를 따를지(1)를 구성합니다.
파라미터Parameter 3402 bit 4 (FPM)시스템 기동 및 리셋 시 인가되는 초기 디폴트 모달 feedrate 상태를 규정합니다. 0 = G99 (회전당 이송), 1 = G98 (분당 이송).
파라미터Parameter 0036 bit 4 (G98)0-GCD 연삭 시리즈 제품군에 국한된 기동시 feed 모드 기본값입니다. 0 = 회전당 이송, 1 = 분당 이송.
경보 코드PS0010부적절한 G-code입니다. G98/G99 모달이 지령되었으나 설비 하드웨어 옵션이 구비되어 있지 않거나 올바르지 않은 제어 상태일 경우 발생합니다.
경보 코드PS0011이송 F값 누락 경보입니다. T-series 선반에서 G98/G99 모드를 전환한 직후, F값 지정 명령 없이 다이렉트로 축 이동을 개시하려 할 때 트리거됩니다.
버전 분류M-Series vs. T-Series System A밀링 제어계는 canned cycle의 복귀 기준선으로 G98/G99를 사용합니다. 일반 선반 G-code System A 환경에서는 이 명령어가 엄밀히 feedrate 제어 모드(분당 vs 회전당 이송)로 고정 매핑됩니다. 선반 파라미터를 G-code System B 또는 C로 전환하면 원래의 가공 cycle 복귀 높이 조정 기능으로 완전 귀환합니다.

G99 고정 cycle 운전 중 터렛(turret) 또는 척(chuck)과의 충돌 안전 한계를 명확하게 넘어서지 못하면 물리적 충돌이 야기될 수 있습니다. 특히 C축 클램프(clamp)가 탑재된 장비에서 클램프 인터락이 결합된 와중에 공구 복귀 명령이 해독되면 즉각 공구 파손으로 이어집니다. 작업자는 System A 선반에서 이송 속도 모드를 변환할 때 연동되는 기하 오가속 및 축 이송 속도의 변화 양상을 철저히 점검해야 합니다.

Siemens

ISO Dialect 모드로 동작하는 Siemens CNC 장치에서는 cycle 복귀 높이 연산 정보가 제어 시스템 내부의 전역 변수를 활용하여 다이렉트 처리됩니다. 번역기는 현재 켜진 복귀 지정 좌표를 전역 사용자 데이터(GUD) 파라미터인 _ZFPR[6] 값에 실시간 대응시킵니다. 이 매핑 상수를 바탕으로 Siemens 내부 가동 shell cycle 모듈이 레거시 ISO 모드 코드를 G98 또는 G99 모달로 변환하여 구동합니다.

Siemens 제어 장치는 G82 및 G89와 같은 고정 가공 cycle을 G98 및 G99 복귀 명령과 병행하여 실행합니다. G98이 기재되면 공구는 가공 개시 이전의 최초 시작 평면으로 수직 귀환하며, G99가 활성화된 상태라면 지령된 기준 평면(reference plane)선까지만 공구가 도피합니다.

구분시스템 설정 / 코드세부 동작 / 거동
파라미터_ZFPR[6]현재 켜져 있는 ISO dialect 복귀 레벨 기준을 저장하기 위해 사용되는 내부 전역 사용자 데이터(GUD) 매핑 상수입니다. 1은 G98, 2는 G99를 나타냅니다.
파라미터R 주소복귀 Z축 기준선 높이를 결정합니다. absolute 좌표나 시작 평면으로부터의 증분(incremental) 거리값을 모두 수용합니다.
파라미터Z 주소최종 홀 가공 깊이를 지정합니다. absolute 좌표값이나 R-plane으로부터 계산되는 증분 깊이를 사용합니다.
경보 코드Alarm 61101기준 평면 지정 오류입니다. Z축 복귀선(R-plane) 위치 설정이 최초 시작 높이 또는 타겟 최종 Z 깊이 위치와 수학적인 대소 모순 관계를 유발할 때 즉각 트리거됩니다.
경보 코드Alarm 61808최종 가공 깊이 또는 1회 pecking 깊이 지령 누락입니다. 사이클 개시 블록 영역에서 Z축 타겟 깊이값 또는 pecking 량 Q 변수가 완전히 누락되었을 때 점등됩니다.
버전 분류G코드 시스템 A vs B/CSystem A 구성은 공구가 항상 강제적으로 최초 시작점 높이까지 복귀하도록 유도합니다(G98 거동 강제). System B와 C 시스템을 연동해야만 G98과 G99 간의 유연한 모달 분할 연산이 가동됩니다.

프로그래머는 고정용 구조물이나 클램프 부근에서 G99 명령을 잔류 가동할 경우, 활성 protection zone(안전 보호 영역)과의 기하 간섭 거리를 철저히 계산해야 합니다. 복귀 평면을 바이스 물리 기계축 또는 double turret 하단 한계선 아래로 셋업하면 좌표 감지가 동작하여 즉시 안전 경보를 띄우거나 기하 파손을 초래하게 됩니다.

Mitsubishi

Mitsubishi CNC 제어 시스템은 상위 메인 프로그램의 기하 좌표 레지스터 계통에 영향을 미치지 않도록, 고도로 캡슐화된 내부 모달 연계 아키텍처를 토대로 고정 cycle을 가동합니다. 제어기는 파라미터 #1253(set25/bit2)을 판독하여 드릴링 구동 시 적용되는 속도 가감속 프로파일을 정밀 제어합니다. 또한 파라미터 #8013을 통해 deep-hole pecking 가공 시의 도피 안전 갭 치수를 획일 지정합니다.

Mitsubishi의 표준 G-code 체계는 최초 시작점 높이 복귀로 G98을 지정하고 R점 기준 복귀 높이로 G99 모달을 인가합니다. G83 및 G73과 같은 다차원 드릴링 사이클은 이 모달 코드와 결합하여 축 복귀의 도피 높이를 조율합니다. 다만 Lathe 제어용 G코드 목록 2, 4, 6 사양하에서는 G98과 G99가 feedrate 모드 제어 전용 코드로 강제 치환됩니다.

구분시스템 설정 / 코드세부 동작 / 거동
파라미터Parameter #1253 set25/bit2드릴링 사이클 가동 시의 내부 가감속 가변 스위치입니다. 1로 지령된 와중에 feedrate override 레버가 100% 이하로 제어되면, 전반적인 가공 동작 사이클 시간이 다소 증가할 수 있습니다.
파라미터Parameter #8013Deep-hole pecking(G83) 또는 스텝 가공(G73) 중의 1회 pecking 시 공구 도피 복귀량("m")을 직접 지정합니다. 세팅 범위는 0 ~ 199999998 이며, 0.5µm 해상도 단위가 기준입니다.
파라미터Parameter #1566고정 cycle 구동 내부의 rapid 도피 및 진입 모션 속도가 시스템 백그라운드 rapid 파라미터인 #2001의 상한값 사양을 온전히 준수할지 여부를 판정합니다.
경보 코드P155가공 코딩 오류입니다. 공구 nose R compensation(G41 또는 G42) 보정 옵션이 물리 해제되지 않은 상태에서 고정 가공 cycle이 강제 호출될 때 트리거됩니다.
경보 코드P452경로 범위 이탈 오류입니다. 고정 cycle의 가공 동작 좌표 상에서 공구의 가상 가동 종점이 시스템 내부 저장 한계(stored stroke limit) Prohibited Area 안으로 월선 진입하려 할 때 즉시 경보를 발생시킵니다.
경보 코드P186가공 구문 충돌 경보입니다. Punchtap cycle 모달 스위치가 시스템 내부에서 켜진 도중, 개별 주축 회전 S 지령이 강제 중복 기재될 때 동작을 차단합니다.
선반용 G코드 목록선반용 G코드 목록 2, 4, 6고정 cycle의 초기 Z축 복귀 거동 한계가 시스템적으로 고정 잠금됩니다. 이 리스트 세팅 환경하에서는 G98/G99가 cycle 복귀 한계 조절용으로 활용 불가하며, 오직 feedrate 조정 기능(G98 = 분당 이송, G99 = 회전당 이송)으로 제한 적용됩니다.

프로그램이 불시에 비계획 강제 종료되는 것을 막기 위해, 작업자는 복귀 cycle 지령 전에 G40 코드를 입력하여 켜져 있는 모든 tool nose R 보정 상태를 영초(0초) 내로 일치시켜 해제해야 합니다. 또한, 공구 좌표 연산 이상으로 발생할 수 있는 척(chuck) 헤드 또는 심압대(tailstock)와의 간섭 파손을 미연에 방지하기 위해 G22 배리어 가동 체크 옵션을 함께 병행 세팅하십시오.

브랜드 비교

비교 항목FanucSiemensMitsubishi
기본 사이클 복귀 방식고정 사이클 복귀 레벨 조정용 G98(최초 평면) 및 G99(R 평면) 모달 명령어 매핑 (Group 10).ISO Dialect 가동 시 고정 드릴링 cycle 복귀선 높이를 지령하는 group 11 모달로 매핑.최초 가공 시 기동 시작점 높이 복귀(G98) 및 Z축 R clearance 높이 복귀(G99) 모달 구성.
선반 시스템 명령 오버로드표준 System A 사양 하에서 G98/G99를 feedrate 전용 모드(분당 vs 회전당 이송)로 고정 오버로드.System A 환경 적용 시 G99 모션이 잠금 처리되며, 내부적으로는 G98 최초 평면 복귀 거동을 강제 적용.선반용 G코드 목록 2, 4, 6 설정하에서 cycle 복귀 변경을 비활성 잠금하고 feedrate 모드로 강제 치환.
내부 동작 및 확장 제어기동시 기본값(FPM) 및 F-code 구문 해석 타이밍(FCD)을 미세 통제하는 다층 파라미터 매커니즘 활용.외부 ISO G98/G99 레벨을 시스템 전역 매핑 데이터인 _ZFPR[6](1: G98, 2: G99) 값에 실시간 동적 대입.전용 내부 G.1 명령 집합으로 고정 cycle 작동을 캡슐화하여, 메인 WCS 제어 레지스터 상태를 보호.
안전 감지 및 경계 제한머신의 물리적 척(chuck) 간섭 배리어 파라미터 및 터렛(turret) 한계 기준선에 근거해 가공 범위를 통제.Z축 복귀 높이(R-plane) 설정 오차에 의한 protection zone 침범 시, 가로 traverse 고속 이송을 사전 차단.가공 축의 가동 전 경로 연산 종점을 체크하여, 스트로크 한계를 이탈할 시 즉각 P452 alarm code를 발생시켜 모션을 비활성화.

기술 분석

각 제어기 브랜드의 아키텍처적 구현 방식을 비교해보면 좌표 연산과 모달 상태를 관리하는 고유한 철학을 알 수 있습니다. Fanuc은 세부 파라미터 중심의 마이크로 제어에 집중하여 장비 제작사가 G-code 동작 환경을 넓게 커스터마이징할 수 있도록 보장합니다. 일례로 Fanuc 선반의 이송 모드 전환은 Parameter 3401 bit 1(FCD)을 통해 제어됩니다. 이를 기반으로 시스템은 동일 블록에 G98/G99 모드 스위치보다 물리적으로 앞에 지정된 F-code가 이전 모드를 상속할지 혹은 신규 모드를 따를지를 판정하여, 복잡한 주축 제어 모드 진입 시 속도 변화 예측 실패에 의한 가공 파손을 사전에 완벽히 막아줍니다. 이러한 이송 방식 설정은 자주 주축 속도를 회전수에 비례 제어하는 일정 표면 속도 등 G96 and G97 Constant Surface Speed and Constant RPM 가이드 항목과 복합적으로 연계되어 현장에 적용됩니다.

이와 대조적으로 Siemens는 레거시 ISO G98 및 G99 복귀 명령을 수신하면 시스템 자체의 전역 사용자 데이터(GUD) 메모리 체계에 실시간 바이패스 처리합니다. 번역기는 현재 켜진 복귀 거동 상태를 곧장 시스템 변수인 _ZFPR[6] 상수에 입력하여 G98은 1, G99는 2로 대치시킵니다. 이와 같은 변수 동조 방식 덕분에 Siemens의 고급 전용 내부 쉘 사이클(internal shell cycle)이 외부 포스트 프로세서(post-processor)의 복잡한 2차 코드 변환 과정을 거치지 않고도 표준 ISO 코드를 완벽하고 깔끔하게 자체 연산 처리할 수 있습니다. 또한, 이 구조는 시스템 간의 의존성을 유지하도록 지원하여 System A 레이아웃에서는 G99 작동을 제한하고 System B/C에서만 정밀 개별 모달 분기를 허가하는 유연한 가공 조율을 수행합니다.

Mitsubishi 제어기는 고정 cycle 작동 시 독립된 기하 모달 스위치 구역을 격리 및 유지한다는 점에서 다른 두 플랫폼과 확실한 차별성을 보여줍니다. 이 제어기는 고정 cycle 호출 시 별도의 내부 전용 G.1 매크로 명령 계통을 활용합니다. 즉, 사이클 연산 과정에 속한 모션이 자체적인 group 01 모달 레지스터 풀 안에서 안전 가동되므로 가공 실행 전후의 메인 모션 레지스터 모달 정보는 아무런 손상을 입지 않습니다. 드릴링 공정이 완료되면 켜져 있던 실행 모달이 초기 위치 결정용인 G00 급속 이송으로 알아서 깔끔하게 자동 귀환하므로, 작업자가 프로그램에 직접 이송 모달 복귀 코드를 매수마다 수동 재선언해 줄 피로가 완전히 사라집니다. 한 단계 나아가 Mitsubishi는 기계 축이 불필요한 관성 이동을 개시하기 전에, 입력된 블록 경로의 내부 최종 수렴 좌표를 사전 분석합니다. 수직/수평 이송 좌표 종점이 장비의 사전 설정 스트로크 안전 감지선 Prohibited Area를 단 1㎛라도 침범하면 실제 축 모터를 가동하기도 전에 P452 alarm code를 발생시켜 모션을 완전히 잠가버립니다.

프로그램 예제

Fanuc G-Code 예제

G90 G99 G83 X100.0 Y50.0 Z-30.0 R5.0 Q8.0 F120.0 ;
X150.0 Y50.0 ;
G98 X200.0 Y100.0 Z-30.0 R5.0 Q8.0 ;

공운전 분석

  • 블록 1: 공구가 사이클 시작 전에 최초 시작 평면(Z50.0)으로 rapid 이송합니다. absolute 좌표 모드(G90)가 설정되어 있습니다. G99가 활성화되어 가공이 마쳐진 후 공구는 R-plane 높이까지만 도피합니다. G83 코드에 기반해 X100.0 Y50.0 지점에서 deep-hole peck 드릴링 공정이 시작되며, 1회 peck량(Q)은 8.0 mm, feedrate(F)는 120.0 mm/min 속도로 최종 목표 Z-30.0선까지 점진 진입합니다. R-plane 위치(R5.0)는 복귀 안전 높이 한계를 정의합니다. 홀 단면 가공 완료 후 공구는 Z5.0(R-plane) 높이로 귀환 및 대기합니다.
  • 블록 2: 공구는 R-plane 높이(Z5.0)를 안전하게 잔류 유지한 채 다음 가공 위치인 X150.0 Y50.0으로 수평 traverse rapid 이동합니다. 지정된 펙 드릴링 사이클이 동일 반복 구동됩니다. 가공이 마쳐지면 공구는 재차 Z5.0(R-plane) 선까지 복귀합니다.
  • 블록 3: G98이 지령되어 active 복귀 평면 지시 모달이 최초 시작 Z축 평면선으로 긴급 복원됩니다. 공구는 다음 가공 위치인 X200.0 Y100.0으로 이동 후 펙 드릴 가공을 실행합니다. Z-30.0 깊이에 조정한 후, 이번에는 바이스나 기계 간섭 치공구를 안전하고 완전하게 회피하도록 Z50.0 최초 시작 평면 한계선까지 수직 도피 복귀를 완료합니다.

Siemens G-Code 예제

G90 G99 G82 X300.0 Y-250.0 Z-150.0 R-100.0 P1000 F120 ;
X400.0 ;
G98 Y-350.0 ;

공운전 분석

  • 블록 1: 제어기는 absolute 가공 모드(G90) 하에서 연산됩니다. G99를 활성화하여 다음 가공 시의 복귀 높이를 reference plane선으로 잠급니다. X300.0 Y-250.0 지점에서 카운터보링 및 정밀 가공용 드릴 사이클인 G82 코드가 지령됩니다. 공구는 R-100.0 시작 기준 평면선에서 가동을 시작해 최종 타겟 깊이인 Z-150.0까지 절삭하며, 홀 하단부에서는 가공 조도 조절용 dwell 타임(P) 1000ms 및 feedrate 120 mm/min 조건을 적용합니다. 내부 복귀 플래그는 _ZFPR[6] = 2 (G99) 상수에 대응되며 가공 완료 후 공구는 Z-100.0 기준 평면까지 복귀합니다.
  • 블록 2: Z축 한계를 Z-100.0 reference plane 선으로 유지하면서 X400.0 Y-250.0 지점으로 rapid traverse 수평 이동을 수행합니다. 지령된 G82 사이클이 재차 반복 실행되며 종료 후 다시 Z-100.0 높이로 귀환합니다.
  • 블록 3: G98 모달을 지령하여 내부 _ZFPR[6] 데이터를 1로 변경합니다. 공구는 X 좌표를 상속 유지한 상태로 Y-350.0 지점으로 traverse 이동한 후 G82 사이클을 구동합니다. Z-150.0 목표 깊이 도달 및 dwell 대기 공정이 끝난 후, 공구는 가공 진입 전의 최초 절대 시작 Z축 평면 좌표선까지 완벽하고 완전하게 상방 복귀를 마무리합니다.

Mitsubishi G-Code 예제

G90 G98 G83 X100.0 Y100.0 Z-50.0 R25.0 Q10.0 F1000 ;
G99 G73 X200.0 Z-50.0 R25.0 Q10.0 F1000 ;

공운전 분석

  • 블록 1: 제어장치는 absolute 좌표 프로그래밍 모드(G90)로 진입합니다. G98이 인가되어 복귀 Z축 한계를 최초 기동 시작 평면으로 고정 설정합니다. X100.0 Y100.0 지점에서 deep-hole 펙 드릴링 사이클인 G83 코드가 작동합니다. 공구는 최초 시작 평면(Z50.0)으로 rapid 위치결정된 다음, Z25.0 복귀 안전 clearance 선에서 가동을 점진 전진시켜 1회 pecking 량 10.0 mm(Q) 사양 하에 타겟 깊이 Z-50.0선까지 절삭 진입합니다. 드릴 가공 완료 후 공구는 수직 상승하여 최상단의 Z50.0 최초 시작 위치까지 완전 귀환합니다.
  • 블록 2: G99를 지령하여 active 복귀 지정 모달을 R점 복귀 모드로 간편하게 치환합니다. G73에 기반해 X200.0 Y100.0(Y축 좌표값 상속) 지점에서 고속 스텝 가공 cycle을 개시합니다. 공구는 최초 시작 Z축 높이를 유지하면서 신규 좌표로 traverse rapid 이동한 후, 펙 이송량 10.0 mm 스펙으로 최종 Z-50.0 깊이까지 절삭하며 가공 후에는 낭비되는 급속 이송 모션을 단축할 수 있도록 Z25.0 R점 기준 높이까지만 복귀하여 시간을 극적으로 압축합니다.

오류 분석

브랜드경보 코드트리거 상황작업자 화면 증상원인 분석 및 조치 방안
FanucPS0010canned cycle 옵션이 빠져 있거나 좌표가 잘못 부여된 기하 상태에서 G98 또는 G99 모달 코드가 지령된 경우.CNC 제어계가 실행 모션을 중단하고 화면 중앙에 "PS0010 IMPROPER G-CODE" 오류 알림을 띄우며, 적색 경보등이 점등됩니다.머신 시스템 파라미터가 canned cycle 가공 기능을 안정적으로 지원하는지 구성하고 G코드 리스트의 설정 상태가 타당한지 점검하십시오.
FanucPS0011T-series 선반 사양에서 G98/G99 이송 속도 모드를 변환한 직후, 이송 F속도 선언 없이 기계 축이 물리 모션을 기동하려 한 경우.인서트 이송이 그 자리에서 정지하며 축 구동기가 차단되고, 판넬에 "PS0011 FEED ZERO COMMAND" 문구가 깜빡입니다.이송 모드를 정비한 후 바로 뒤에 이어지는 동일 명령 라인에 명확한 F이송 속도 실수값(예: F0.2)을 직접 기재하여 활성화하십시오.
SiemensAlarm 61101Z축 reference plane(R-plane) 선의 고도가 타겟 가공 Z 깊이보다 낮게 설계되었거나 최초 가공 시작 평면선 좌표보다 위에 할당된 경우.시스템 해석기가 현재 구동 블록에서 비정상 처리를 검출하여 가공을 즉시 포기하며 "Alarm 61101 Reference plane defined incorrectly" 경보를 작동합니다.오류가 점등된 복귀 R축 좌표를 정정하거나, 상하 논리 편차가 해결되도록 Z 가공 기하 깊이값을 알맞게 수정 조정하십시오.
SiemensAlarm 61808고정 cycle 가동 시작 라인 상에서 필수 정보인 총 가공 깊이 Z 또는 1회 peck 진입 치수 Q 변수가 누락되었을 때.공구가 제자리에서 움직이지 않고 연산이 중지되며, 장비 모니터 창에 "Alarm 61808 Final drilling depth or single drilling depth is missing" 에러가 고정 표출됩니다.최초 고정 cycle 블록 지령 라인 내부에 타겟 Z축 좌표나 Q 절삭 파라미터 수치를 명확하게 대입하여 코딩하십시오.
MitsubishiP155공구 코너 R 보정(G41 또는 G42) 옵션이 물리 해제되지 않은 상태에서 고정 가공 cycle이 강제 호출될 때 트리거됨.가공 구문 해석기가 실행 동작을 즉시 드롭하고 화면 하단부에 "P155 Program error" 에러 메시지를 표시하여 사이클 동작을 방지합니다.고정 가공 cycle을 선언하기 이전에 G40 코드를 별도로 단독 배치 입력하여 활성 R 보정을 온전히 클리어하십시오.
MitsubishiP452고정 cycle 내부 연산 경로 범위 내에서 가상 가공 종점 위치가 기계적 안전 잠금선(stored stroke limit) Prohibited Area 영역을 침범하려 한 경우.실제 모터 드라이브 축이 기하 구동을 물리 시작하기 전 실시간 연계 연산에서 모션 구동을 차단하고 "P452 Program error" 경보를 점등합니다.치공구 간섭 회피 좌표와 WCS 작업 좌표계의 안전 스위치 범위를 실측 점검하여 소프트웨어적 제한 한계를 월선하지 않도록 처리하십시오.
MitsubishiP186Punchtap 가공 cycle의 내부 모달이 유지되고 있는 와중에, 임의 주축 속도 제어 S코드가 비정상 기입 또는 누설되었을 때.해석 엔진이 "P186 Program error" 경고 창을 작동시키고 진행 중이던 고밀도 탭 가공 연산을 전면 캔슬합니다.가공 프로그램에서 중복 할당된 S 코드를 전면 제외하거나, Punchtap 사이클이 종료된 안전 지점에서만 회전 S 속도 지령을 수행하도록 조정하십시오.

실무 응용 가이드

G99 R점 복귀 명령이 활성화된 상태에서 Z축 복귀 평면(R-plane)이 물리적인 공작물 바이스 죠(vise jaw)나 고정용 클램프(clamp)보다 기하학적으로 낮게 설정되어 있을 때 발생하는 충돌 사고는 자동화 라인의 장비 가동률에 치명적인 타격을 입힙니다. 이 경우, 인접한 홀 가공을 위해 공구가 수평 방향으로 급속 traverse 이동하는 과정에서 터렛(turret) 또는 스핀들 헤드가 장애물에 정면으로 충돌하여 가공 기계 하드웨어가 완전히 전파되는 참사로 이어집니다. 이러한 비계획 정지 상황을 방지하고 불량률을 영초(0초)화하기 위해, 프로그래머는 가공 설비의 물리적인 경계와 안전 변수를 철저히 연동해야 합니다. Fanuc 제어기에서는 G99를 적용하기 전 3401번 파라미터(특히 FCD 비트)와 3402번 파라미터(FPM)의 설정값을 사전에 대조하고, 미쓰비시(Mitsubishi) CNC에서는 P155 알람 예방을 위해 G40 코드를 통한 공구 코너 R 보정(G41/G42)의 선제적 취소를 철저히 검증해야 합니다. Especially, in the case of Mitsubishi controllers, when the target endpoint of the path violates the variable stroke limit, the system alerts with a P452 alarm and halts before actual movement, so you should proactively block spindle crash based on this signal. 또한, 지멘스(Siemens) ISO Dialect 모드에서는 _ZFPR[6] 전역 변수에 적절한 모달 값(1: G98, 2: G99)이 할당되었는지 점검하고, R클리어런스 값이 최종 Z 가공 깊이 및 시작 높이와 논리적으로 충돌하여 Alarm 61101이 트리거되지 않도록 좌표 데이터를 정밀 관리하는 실무 역량이 요구됩니다.

관련 명령 구조

  • G80 (고정 사이클 취소): 켜져 있던 모든 고정 가공 cycle의 modal 특성을 영초(0초) 내로 일치시켜 파괴하고 일반 기하 linear interpolation(선형 보간) 제어로 안전 귀환시켜, 예기치 않은 추가 홀 가공 가동을 완전 봉쇄합니다.
  • G81–G89 (고정 사이클 제품군): 드릴링, 카운터보링, 태핑 가공 작업을 완전 기계 자동화하는 modal 명령 그룹으로, Z축 복귀 거동 도피선을 판단하기 위해 전적으로 G98/G99 모달 논리를 상속받아 연산합니다.
  • G94 / G95 (이송 속도 지정 모드): 1분당 선형 이송(mm/min)과 회전당 선형 이송(mm/rev) 간의 기제 전환을 담당하며, 이는 선반 시스템 사양하에서 G98/G99가 수행하는 물리적 제어 모드와 정확하게 합치됩니다.
  • G90 / G91 (절대 vs 증분 위치결정): 가공 이송 명령 좌표와 retraction plane 높이를 절대 좌표계(absolute WCS) 기준으로 연산할지 혹은 incremental 상대 대입 거리로 처리할지 판정 조율합니다.
  • G22 (척/치공구 안전 배리어 영역): 가공 cycle 진행 구간 도중 기하 치수 연산 오차로 인한 공구와 척(chuck) 헤드, 혹은 심압대(tailstock)와의 물리 간섭 파손을 차단하는 소프트웨어적 내부 보초 한계를 정의합니다.

결론

자동화 라인의 반복 가공 공정에서 안정적인 품질 관리와 설비 가동율 극대화의 성패는 G98 최초 점 복귀와 G99 R점 복귀 명령의 정밀한 파라미터를 매핑 및 사전 검증에 달려 있습니다. 부품 형상이 평탄하고 간섭물이 없는 구역에서는 G99 모달을 활용해 불필요한 공중 급속 이송 시간을 절감하는 것이 유리하지만, 치공구 높이가 불규칙하고 클램프 고정이 동반되는 다품종 대량 양산 조건에서는 G98 모달을 기본 안전 가이드로 고수하는 것을 강력히 권장합니다. 생산 현장에서는 Fanuc의 FPM 파라미터나 Mitsubishi의 #1253 가감속 프로필 등 시스템 제어 변수를 정기적으로 모니터링하여 공장의 물리적 척 및 치공구 사양과 오차 없이 일치하는지 상시 교차 점검하십시오. 가공 기계 가동을 시작하기 전, 스크랩 발생과 설비 충돌 리스크를 완전 차단하기 위해 공운전 점검과 안전 제한 영역 수립을 현장 표준 운영 절차(SOP)로 정착시킬 때, 지속 가능한 생산성 확보와 불량률 제로 목표를 가장 영리하게 달성할 수 있습니다.

자주 묻는 질문 (FAQ)

자동화 가공 라인 양산 중 G99 R점 복귀 오작동으로 인한 바이스 및 클램프 충돌을 소프트웨어적으로 방지하려면 어떻게 해야 하나요?

가장 효과적인 다중 레이어 차단법은 기계 내부의 stroke limit 안전 구역 매핑과 Chuck/Fixture Boundary(G22) 기능을 물리적 바이스 높이에 대응하도록 파라미터화하는 것입니다. Fanuc 제어기에서는 시스템 변수 검증을 통하여 장애물 구간 진입을 예방하고, 미쓰비시 CNC의 경우 종점이 가변 스트로크 제한 영역을 통과할 시 실시간 모션 가동 전 P452 알람으로 동작을 완전 정지시키도록 사전에 검사 파라미터를 점검 및 활성화하십시오.

Fanuc 및 Mitsubishi CNC 터닝 센터에서 G98/G99 전환 시 PS0011 또는 피드 제로 알람이 발생하는 원인과 예방법은 무엇인가요?

이 현상은 Lathe System A 환경에서 G98(분당 이송)과 G99(회전당 이송)가 canned cycle 복귀가 아닌 feedrate 제어 모드로 연동되기 때문에 발생하며, 모드 변환 즉시 지정된 F값이 없으면 시스템 내부에서 연산 이송속도를 0으로 인지해 시스템 정지를 유도하기 때문입니다. 이를 근본적으로 해결하기 위해, 메인 가공 프로그램의 G98/G99 선언 코드 바로 뒤에 명시적인 F이송 속도값(F0.2 등)을 일치시켜 동일 블록에 삽입하는 템플릿 표준을 구축하십시오.

지멘스(Siemens) ISO Dialect 모드에서 고밀도 다공 드릴링 사이클 실행 시 Alarm 61101이 빈번하게 작동하는 경우 실무 해결책은 무엇입니까?

Alarm 61101은 R retraction plane이 최종 가공 Z 깊이보다 낮거나 최초 Z 시작 기준 평면보다 높게 형성되는 기하학적 수치 모순으로 인해 작동하며, 특히 incremental(G91) 및 absolute(G90) 변환 구간에서 자주 나타납니다. 가공 가동 전, 지멘스 전역 변수인 _ZFPR[6] 모달 값(1 or 2)에 저장되는 복귀 레벨 높이를 CNC 화면에서 활성 좌표계와 비교 검토하여 물리적 간섭 편차를 영초(0초) 내로 일치시키는 보정을 실시하십시오.

아직 해결되지 않았나요?

이 주제에 대해 AI 어시스턴트에게 자연어로 물어보세요. 검증된 소스를 기반으로 하며 환각이 없습니다.

AI 어시스턴트에게 질문하기
Hakan Gündoğdu
Hakan Gündoğdu
  • CNC CARE Co-Founder (May 2025 - Present)
  • Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
  • Reis CNC Service Engineer (2003 - 2005)
  • Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)

CNC 기계 산업의 모든 분야에서 25년 이상 근무한 경험을 바탕으로, 브랜드 독립적인 컨설팅, 엔지니어링 및 순정 부품 서비스를 제공하는 CNC CARE의 공동 창업자로서 활동을 이어가고 있습니다.

관련 기사

이 주제에 관한 다른 기사