G96 및 G97 G코드: CNC 선반 주축 속도 제어 완벽 가이드
Fanuc, Siemens, Mitsubishi CNC에서 G96 주축 일정 표면 속도(CSS) 및 G97 일정 RPM 명령어를 완벽하게 마스터하세요. 비가동 시간과 스크랩을 줄이기 위한 최대 주축 제한 클램프 파라미터 및 경보 설정 안전 가이드를 제공합니다.
서론
CNC 선반 가공에서 최대 주축 속도 제한 클램프(spindle speed clamp)를 설정하지 않고 G96 일정 표면 속도(Constant Surface Speed, CSS) 명령어를 내리는 것은 대형 충돌 사고를 유발하는 가장 위험한 실수 중 하나입니다. 공작물을 고정하는 척 죠(chuck jaws)의 물리적 한계를 무시하고 절삭 공구가 가공물 중심부(X0.0)에 가까워질 때 주축 속도가 수학적으로 무한대로 급가속하는 현상은, 강력한 원심력으로 인해 공작물이 이탈하여 척 죠와 공구 타렛(turret) 또는 스핀들 하드웨어에 치명적인 충돌을 야기합니다. 이러한 가공 사고는 가공 설비의 치명적인 파손뿐만 아니라, 생산 라인의 비계획적인 비가동 시간(downtime)을 대폭 늘리고 값비싼 원자재를 한순간에 폐기하는 스크랩(scrap) 발생의 주원인이 됩니다. 이 파라미터를 검증하지 않고 양산에 들어가면, 팔레트 교환 후 두 번째 사이클부터 치수 편차가 누적되어 최종 검사에서 불량이 발견됩니다. 따라서 자동화 라인의 반복 가공 안정성을 보장하고 불량률을 극적으로 낮추기 위해, G96 일정 표면 속도와 G97 일정 Spindle RPM의 상호 작용 및 안전 제한 설정법을 완벽히 마스터해야 합니다. Fanuc 3712번 파라미터를 사전 확인하면 이 명령어에서 가장 빈번한 비계획 정지를 없앨 수 있습니다.
기술 요약
| 기술 속성 | 상세 사양 |
|---|---|
| 주요 G코드 | G96 (일정 표면 속도 활성화), G97 (일정 주축 속도 / RPM 모달 취소) |
| 모달 그룹 | 모달 G코드 그룹 02 (Fanuc / Mitsubishi) · 주축 제어 모달 그룹 (Siemens) |
| 지원 컨트롤러 | Fanuc (시스템 B/C 및 표준 T-시리즈), Siemens SINUMERIK, Mitsubishi M800V/M80V |
| 주요 파라미터 | Fanuc: 3770 (반경 축), 3771 (최소 RPM), 3712 비트 4 (CSA), 3708 비트 5 (SOC) · Siemens: MD20100 (가로 축), SD43230 (LIMS 제한) · Mitsubishi: #1181 (G96 축), #1087 (G00 급속 CSS) |
| 주요 물리적 제약 | 원통 보간 (G07.1) 및 리지드 태핑 사이클 중에는 금지됨. 주축 회전 중심은 가로 기하학 축의 절대 영점 역할을 해야 함. G96이 활성화된 동안 기어 단 변속 (M40-M44)은 인터락(제한)됨. |
핵심 요약
- 안전 속도 클램프 우선 실행: 위험한 주축 가속을 방지하기 위해 G96 전에 항상 G50/G92 (Fanuc/Mitsubishi) 또는 LIMS (Siemens)를 프로그래밍하십시오.
- 표면 조도 향상: 일정 표면 속도 (G96)는 절삭 공구가 X0에 가까워질 때 주축 RPM을 동적으로 증가시켜 절삭 조건을 균일하게 유지하고 공구 마모를 최소화합니다.
- 정밀 가공 운전: 공구 위치에 관계없이 일정한 회전 속도를 유지하려면 센터 드릴 작업, 리밍 또는 리지드 태핑과 같은 중심선 가공에 일정 RPM (G97)을 사용하십시오.
- 이송속도 결합: 회전당 이송 (G94-G95 Feed Rate Modes)이 활성화되면 주축 회전 속도와 함께 축 이송 속도도 동적으로 가속되어 축의 움직임이 빨라집니다.
- 다축 매핑: 복합 밀턴 및 다중 스핀들 가공이 가능하도록 P 주소 또는 Siemens SCC 명령을 통해 실시간으로 기준 축을 재지정할 수 있습니다.
- 태핑 및 나사산 잠금: 나사 절삭 사이클 중에는 리드 오차와 피치 왜곡을 방지하기 위해 주축 속도 재연산이 자동으로 일시 중단됩니다.
기본 개념
금속 절삭 가공에서 공작물 재료가 인서트의 절삭날을 통과하는 선속도를 절삭 속도(vc)라고 정의합니다. 수학적으로 이 관계는 vc = (π × D × n) / 1000으로 표현되며, 여기서 D는 공구 팁에서의 공작물 직경을 나타내고, n은 주축 회전 속도(RPM)를 나타냅니다. 선반이 고정된 RPM 하에서 작동할 때, 공구가 파트의 외경에서 중심을 향해 이송됨에 따라 선형 절삭 속도는 지속적으로 감소합니다. 이러한 선속도의 감소는 칩 두께의 변화, 단면 가공 영역의 표면 조도 불량, 절삭날의 과도한 열 응력을 유발하여 공구 수명을 급격히 단축시킵니다.
이러한 문제를 해결하기 위해, 일정 표면 속도(G96)는 CNC 컨트롤러가 필요한 주축 RPM을 실시간으로 동적 계산하도록 지시합니다. 가로 축(일반적으로 반경 방향 X축)이 회전 중심에 가까워짐에 따라, 컨트롤러는 프로그래밍된 표면 절삭 속도를 유지하기 위해 주축을 자동으로 가속시킵니다. 이는 가공된 전체 프로파일에서 완벽하게 균일한 표면 조도를 보장하며 공구가 최적의 절삭 효율로 작동할 수 있도록 합니다. 반대로, G97은 CSS를 비활성화하고 주축을 일정한 RPM으로 고정합니다. G97은 공구 절삭 작업이 주축 회전 중심을 따라 엄격하게 집중되는 공정(예: 중심선 드릴링, 리밍, 태핑)이나 나사 절삭 사이클과 같이 주축 회전과 선형 축 간의 기계적 동기화가 유지되어야 하는 공정에 필수적입니다.
명령 구조
CNC 프로그래밍은 컨트롤러의 브랜드와 모델에 따라 특정한 구문 형식을 요구합니다. 주축 속도 클램프는 기본적인 안전 장벽이기 때문에 G96을 활성화하기 전이나 활성화하는 블록과 동시에 선언되어야 합니다. 잘못된 구문을 사용하거나 클램프 명령을 누락하면 즉각적인 프로그램 정지 또는 위험한 작동 상황이 발생할 수 있습니다.
가장 널리 쓰이는 3대 산업용 컨트롤러 시스템의 명령 블록 형식은 다음과 같이 구성됩니다.
- Fanuc 선반 (T-시리즈):
G50 S[최대RPM];에 이어G96 S[절삭속도] M03;이 옵니다. RPM을 취소하고 고정하려면:G97 S[고정RPM] M03;입니다. Fanuc 머시닝 센터(M-시리즈) 또는 G코드 시스템 B/C로 동작하는 선반 프로그램은 최대 속도 클램프를 위해G50대신G92를 사용합니다. 선택적으로P주소를 사용하여 활성 좌표 연산 축을 선택할 수 있습니다. - Siemens 컨트롤러:
LIMS = [최대RPM];에 이어G96 S[절삭속도] M3;이 옵니다. Siemens는 확장된 절삭 코드를 제공합니다.G961은 선형 이송속도(mm/min)와 함께 일정 절삭 속도를 활성화하는 반면,G971은 CSS를 취소하고 선형 이송속도를 적용합니다.SCC[axis]명령을 통해 프로그램 중간에 연산 기준 축을 재지정할 수 있습니다. - Mitsubishi 컨트롤러:
G92 S[최대RPM] [Q최소RPM];에 이어G96 S[절삭속도] [P축];이 옵니다. 취소하려면:G97 S[고정RPM];입니다. Mitsubishi는G92/G50블록 내에서Q주소를 사용하여 최소 클램프 속도를 지원하는 독특한 기능을 갖추고 있습니다.
브랜드별 응용
Fanuc
Fanuc CNC 컨트롤러는 모달 그룹 02 명령을 활용하여 높은 수준의 파라미터 사용자 정의를 통해 주축 속도 로직을 제어합니다. 반경 연산 축은 기본적으로 물리적 X축에 매핑되지만, 장비 제조사는 다른 축을 지원하도록 3770번 파라미터를 구성할 수 있습니다. G96이 실행되면 공구의 반경 방향 거리가 줄어듦에 따라 주축이 실시간으로 가속됩니다. 그러나 작업자는 고속 회전 위험을 방지하기 위해 활성 좌표계와 물리적 척 한계를 면밀히 확인해야 합니다.
위험한 주축 급가속을 방지하기 위해 3712번 파라미터 비트 4(CSA)를 1로 설정하면, 전원 투입 이후 사전 주축 제한 클램프 명령(G50 또는 G92) 없이 G96 블록이 실행될 경우 컨트롤러가 PS5557 알람을 발생시키고 즉시 장비를 정지시킵니다. 또한 3708번 파라미터 비트 5(SOC)는 오버라이드 다이얼을 제어합니다. 이 값이 1로 설정되면 컨트롤러는 작업자의 주축 오버라이드 연산 이후에 최대 주축 속도 클램프를 적용하여, 오버라이드가 120%로 설정되어 있더라도 주축이 안전한 G50 한계를 초과하여 회전하는 것을 방지합니다.
| 파라미터 | 알람 코드 | 버전별 차이점 |
|---|---|---|
| 3770: 반경 방향 연산 축 식별자 (0에서 제어 축 수까지). 0인 경우 P 주소는 효과가 없음. 3771: CSS 도중 최소 주축 속도 (0 ~ 99,999,999 min−1). 3708 비트 5 (SOC): 오버라이드 안전성 (0 = 오버라이드 계산 전에 클램프 적용, 1 = 오버라이드 계산 후에 클램프 적용). 3712 비트 4 (CSA): 클램프 누락 방지 락 (0 = 알람 없음, 1 = PS5557 알람 발생). | PS5557: G96 이전에 속도 제한 클램프 설정 누락. PS5355: 다중 주축 선택 중 절삭 속도 S코드 누락. PS0190: P 주소 지정에 의한 축 주소 충돌. PS0200: 리지드 태핑 사이클 중 잘못된 G96 명령 실행 (5209번 파라미터 비트 6이 1인 상태). | 머시닝 센터(M-시리즈) 및 G코드 시스템 B와 C를 사용하는 선반은 주축 속도 제한 클램프를 설정하기 위해 G92를 사용해야 합니다. 표준 G코드 시스템 A를 사용하는 선반은 주축 속도 제한 클램프로 G50을 사용합니다. |
G96을 작동할 때 작업자는 심압대 클리어런스와 척 죠의 파지력을 신중하게 확인해야 합니다. 회전당 이송 모드에서의 이송속도는 물리적으로 주축 RPM에 연동되므로, 공작물 중심에 가까워질수록 선형 축 이송 속도가 매우 급격히 가속되어 안전 영역 설정을 무시할 경우 기계적 간섭 및 대형 충돌이 발생할 수 있습니다.
Siemens
Siemens SINUMERIK 컨트롤러는 매우 유연한 주축 속도 제어를 지원하며, 기계 데이터 MD20100에서 가로 축으로 정의된 기하학 축을 기준으로 주축의 회전수를 산출합니다. 이 구성을 통해 정밀한 공구 중심점(TCP) 연산이 수행됩니다. 그러나 프로그래머는 가로 축의 영점이 주축 회전 중심과 완벽하게 정렬되도록 관리해야 합니다. 프로그래밍 가능한 오프셋(예: ATRANS)을 사용하여 좌표계를 물리적 중심에서 이동시키면, 컨트롤러가 잘못된 반경을 계산하게 되어 오가속에 따른 절삭 속도 오차 및 가공품 손상으로 이어집니다.
Siemens 시스템은 마스터 스핀들의 최대 속도를 제한하기 위해 모달 LIMS 설정을 요구합니다. 음수의 주축 제한 속도 값을 프로그래밍하면 즉시 Alarm 14820이 작동하며 가공 프로그램이 일시 정지됩니다. MD20100 데이터에 가로 축이 전혀 정의되어 있지 않다면 컨트롤러는 비계획 가동 정지를 예방하기 위해 즉각 Alarm 10870을 띄웁니다. 또한 G96 또는 G961이 활성화되어 있는 동안에는 자동 기어 단 변속(M40) 기능이 전면 제한됩니다.
| 파라미터 | 알람 코드 | 버전별 차이점 |
|---|---|---|
| MD20100 $MC_DIAMETER_AX_DEF: 가로 방향 기하학 축 기능 설정. SD43230 $SA_SPIND_MAX_VELO_LIMS: 활성 LIMS 주축 속도 제한 저장값 (0.1 ~ 9999 9999.9 rpm). SD43210 $SA_SPIND_MIN_VELO_G25: 주축 회전속도 하한 설정. MD35140 $MA_GEAR_STEP_MIN_VELO_LIMIT: 최소 기어 단 속도 한계. | Alarm 10900: G96/G961 일정 절삭 속도용 S값 누락. Alarm 14820: LIMS에 음수의 최대 주축 속도가 프로그래밍됨. Alarm 10870: MD20100에 가로 축이 정의되지 않음. Alarm 14824: 충돌: GWPS와 일정 절삭 속도(G96)가 동시에 활성화됨. Alarm 10860: 활성 G96/G961 블록에서 이송속도 F값 누락. | 네이티브 Siemens 모드 (G290)에서는 G96 활성화 시 자동으로 회전당 이송(G95)이 켜지며, G961은 분당 이송(G94)을 강제 적용합니다. ISO Dialect 모드 (G291)에서는 전용 명령 G973을 통해 활성 LIMS 클램프를 명시적으로 해제하면서 CSS를 취소합니다. |
작업자는 G96 단면 가공에서 표준 드릴링 공정으로 복귀할 때 G97을 입력하면 주축 회전이 마지막으로 계산된 RPM에서 고정된다는 점을 상기해야 합니다. 주축이 위험하거나 부적절한 속도로 계속 도는 상황을 미연에 방지하기 위해 G97 선언 직후에는 항상 새로운 S 값을 선언해 주어야 합니다.
Mitsubishi
Mitsubishi M800V/M80V 컨트롤러는 작업자가 P 주소를 사용하여 즉석에서 기준 축을 전동할 수 있는 동적 스핀들 조정 기능(예: G96 S200 P2)을 제공합니다. #1146 및 #1284 파라미터가 안전 검사를 강제하도록 활성화된 상태에서 G92 스핀들 클램프 선행 명령 없이 G96을 사용하면 'G96 Clamp Err.' 알람이 발생합니다. 만약 #1284 파라미터가 1로 설정되면 안전 검사가 무력화되어 장비는 사전 경고 없이 그대로 실행을 진행하게 되며, 이에 따라 주축은 X0 지점에서 기계적 절대 한계 속도까지 급가속하므로 원심력에 의해 공작물이 날아가는 대형 이탈 사고 위험에 노출됩니다.
Mitsubishi 제어의 독보적인 강점은 임의 축 교환(G140/G141) 모드에서의 동적 보호 기능입니다. G96이 켜져 있는 상태에서 축이 임시 교대 및 전동되더라도 장비는 오작동으로 정지되지 않으며, 대신 주축 회전수를 직전의 안정적인 회전수로 일단 고정한 다음, 원 구조로 축 배치가 복귀되면 즉시 G96 일정 표면 속도 계산을 정상 재개합니다.
| 파라미터 | 알람 코드 | 버전별 차이점 |
|---|---|---|
| #1181 G96_ax: CSS 기본 작동축 설정. 0이면 1축으로 고정되며 P 코드는 유효하지 않음. #1087 G96_G0: 급속 이송 CSS 연산 제어 (0 = 움직이는 도중 실시간 연산, 1 = 블록의 최종 도달 종점에서만 회전수 계산). #1146 Sclamp: 주축 속도 제한 클램프 점검 활성화 스위치. #1284 ext20/bit0: 클램프 감지 비활성화 (0 = 정상 감지, 1 = 점검 무시). | G96 Clamp Err.: 선행 최대 주축 클램프 없이 G96이 명령됨. Illegal P-No. G96 (P133): P 주소로 허용 범위를 넘어선 축이 지정됨. Operation Error (M01 1113): 다른 계통 프로그램에서 나사 절삭 또는 태핑 중인 스핀들에 타 계통에서 G96을 강제 명령하여 충돌 발생. | 주축 제어 I (Multiple Spindle Control I) (L-계통) 환경에서는 클램프 누락 시 Program Error P134가 발생해 가공을 중단합니다. 주축 제어 II (Multiple Spindle Control II) 환경에서는 클램프 누락 시 Operation Error M01 1043을 발생시키며 신규 G96 작동은 유보하고 이전의 정상 회전 속도를 안전하게 지속 적용합니다. |
스핀들 드라이브 및 모터의 불필요한 기계적 피로와 노후화를 최소화하기 위해 #1087 (G96_G0) 파라미터를 1로 세팅할 것을 권장합니다. 이를 통해 가공물 간 또는 공정 이동 시 공기 중에서 급속 이송(G00)되는 도중 주축이 모터 사양 한계치로 격렬하게 가감속을 반복하는 현상을 차단하고, 최종 도달점에서만 회전 속도를 계산하여 주축 수명을 연장할 수 있습니다.
브랜드 비교
일정 표면 속도의 물리적 가공 원리는 모든 CNC 플랫폼에서 동일하지만, 세부 파라미터 매핑, 인터락 구성, 안전 클램프 점검 알고리즘은 Fanuc, Siemens, Mitsubishi 간에 큰 차이를 보입니다. 아래 비교표는 3대 대표 산업용 CNC 브랜드가 주축 제한 제어를 처리하는 방식을 입체적으로 요약한 가이드입니다.
| 기능 항목 | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| CSS 활성화 코드 | G96 (모달 그룹 02) | G96, G961, G962 (모달 그룹) | G96 (모달 그룹 02) |
| 일정 RPM / 취소 | G97 (모달 그룹 02) | G97, G971, G972, G973 | G97 (모달 그룹 02) |
| 최대 회전 클램프 명령 | G50 S[회전수] (선반 시스템 A) G92 S[회전수] (밀링 / 시스템 B/C) | LIMS=[제한값] 또는 LIMS[spindle]=[제한값] | G92 S[회전수] [Q최소값] 또는 G50 S[회전수] [Q최소값] |
| 가공 참조 축 재지정 | G96 블록 내 P1 ~ P8 지명 (3770번 파라미터 연계) | 프로그램 중간에 SCC[axis] 동적 선언 | G96 블록 내 P 주소 직접 부가 (#1181 파라미터 연계) |
| 최소 주축 회전 속도 | 3771번 파라미터 | SD43210 $SA_SPIND_MIN_VELO_G25 | G92/G50 설정 블록 내 Q 주소 직접 지명 |
| G00 급속 이송 CSS 처리 | 이송 구간 내내 연속적인 속도 재연산 수행 | 이송 구간 내내 연속적인 속도 재연산 수행 | #1087 G96_G0 파라미터로 실시간(0) 또는 종점 도달 시(1) 선택 |
| 다중 주축 동시 제한 | 활성화된 마스터 스핀들 1개만 제한 설정 가능 | 단일 블록 내에서 최대 4개 주축 속도 제한 동시 지정 가능 (LIMS=... LIMS[11]=...) | 주축 선택 파라미터에 기반하여 현재 활성 주축 속도 제한 |
| 안전 제한 클램프 누락 경보 | PS5557 알람 작동 (3712번 파라미터 비트 4가 1일 때) | — (제공 정보 없음) | G96 Clamp Err. (MSC I에선 Program Error P134 / MSC II에선 Operation Error M01 1043) |
기술 분석
이 3개 컨트롤러의 하드웨어와 제어 로직 설계를 세부적으로 들여다보면, 주축 속도 조절 분야에 있어 독특한 브랜드 가치관을 발견할 수 있습니다. Fanuc은 세부 파라미터에 기반한 다중식 안전 구조를 최우선 가치로 둡니다. 3708번 파라미터 비트 5(SOC) 설정을 통해 기계 제작 단계에서 주축 최대 속도 마지노선을 척의 기계식 최대 사양 아래로 견고하게 잠글 수 있으며, 이는 현장 오퍼레이터의 수동 오버라이드 다이얼 회전과도 원천 차단됩니다. 현장 작업자가 이송 속도 오버라이드를 120%까지 올리더라도 주축 최종 주파수는 G50 클램프 값을 절대로 넘지 않아 원심력 파손을 원천 봉쇄합니다. 또한 P1에서 P8 축 선택 방식은 대형 다중 슬라이드 터닝 센터에서 최적의 연산 경로를 탐색하는 강력한 도구를 제공합니다.
반면 Siemens SINUMERIK은 복합 명령 처리 속도와 파트 프로그램 작성을 단순화하는 뛰어난 유연성에 방점을 찍습니다. 프로그래머는 별도의 시스템 파라미터를 건드리지 않고 SCC[axis] 명령어를 조합해 일정 표면 속도의 기준 가로 축을 프로그램 가동 도중에 다른 축(예: Y축)으로 전환할 수 있습니다. 한 단계 나아가, 하나의 NC 프로그램 블록 내에서 메인 스핀들, 서브 스핀들, 고속 회전 공구 주축을 동시에 제어하도록 개별적인 LIMS 한계를 지정(예: LIMS=3000 LIMS[11]=2500 LIMS[12]=1200)할 수 있어 동시 다축 로직 설계에 적합합니다. G961 및 G973 등 네이티브 확장 코드는 스핀들 회전과 축 이송의 일반 연동 구조를 일시 해제하여 고밀도 연삭 및 가공 품질을 극대화합니다.
Mitsubishi는 Fanuc의 직관적인 P 지정 방식과 Siemens의 다중 좌표계 제어 방식의 강점을 고루 흡수한 하이브리드 인터페이스를 지향합니다. #1087 (G96_G0) 파라미터는 모터 열화를 효과적으로 줄여주는 정밀한 절전 최적화 장치입니다. 급속 이동(G00) 시 주축 가감속 연산을 종점에서만 수행되도록 세팅하여 공기 이송 구간 도중 스핀들 모터가 격렬하게 가감속을 반복하며 발생하는 전기적 전력 낭비와 구동기 기계 스트레스를 예방합니다. 이에 더해 다중 파트 시스템 간에 발생하는 기하학적 임의 축 교환(G140/G141) 구간에서도 알람으로 동작을 정지시키는 대신 직전의 속도값을 일시 고정한 상태에서 교환이 복귀되면 자동으로 연산을 안정되게 이어나가는 완충 로직을 보유하고 있습니다.
프로그램 예제
아래 코드들은 Fanuc, Siemens, Mitsubishi 제어기에서 최대 회전수 가속 클램프를 안전하게 구성하고 G96 일정 표면 속도를 실행하는 정확한 지침을 보여주는 정식 예제입니다. 각 예제 아래에는 CNC 컴퓨터가 코드를 해독하여 장비를 구동하는 작동 흐름을 한 블록씩 상세히 짚어주는 공운전 시뮬레이션 분석이 함께 제공됩니다.
Fanuc 주축 제어 예제
G50 S2500; (선반 G코드 시스템 A에서 최대 주축 속도를 2500 RPM으로 클램프 설정)
G96 S150 M03; (150 m/min 속도로 일정 표면 속도 활성화, 주축 정회전)
G00 X100. Z2.0; (공구 위치 직경 100mm, 주축 계산된 ~477 RPM 회전)
G01 X20. F0.2; (단면 가공, 주축 2387 RPM까지 동적 가속)
G97 S1200 M03; (G96 취소, 고정 1200 RPM으로 주축 운전)
G96 S200 P2; (2번째 축을 반경 기준으로 삼아 일정 표면 속도 적용)
공운전 분석:
- G50 S2500: 컨트롤러가 최대 주축 속도 클램프 제한값을 해독하여 2500 RPM의 절대적인 안전 천장(상한선)을 수립합니다. 이때 주축은 물리적으로 아직 회전하지 않습니다.
- G96 S150 M03: 일정 표면 속도 제어를 150 m/min 속도로 활성화하고 주축 정회전(M03)을 개시합니다. 주축 회전 속도는 공구의 현재 직경(반경 방향 X축 위치)에 기인하여 산출됩니다.
- G00 X100. Z2.0: 공구를 파트 외경 외측 좌표인 X100.0 위치로 공운전 (dry run) 및 급속 위치결정합니다. 컨트롤러는 이 직경에 맞는 속도를 계산합니다: n = (150 × 1000) / (π × 100) ≈ 477 RPM. 이에 따라 스핀들 회전이 477 RPM으로 수렴됩니다.
- G01 X20. F0.2: 공구가 회전당 0.2 mm 이송속도(F0.2)로 내측 X20.0 단면 가공선까지 진입합니다. 중심에 도달함에 따라 컨트롤러가 주축 회전수를 동적으로 늘립니다: n = (150 × 1000) / (π × 20) ≈ 2387 RPM. 가공 중 주축 속도가 477 RPM에서 2387 RPM으로 매끄럽고 안정되게 가속을 지속합니다.
- G97 S1200 M03: G96 모달 제어가 취소되고 주축 회전이 고정형인 1200 RPM으로 고정됩니다. 이후 공구 이동이 발생하더라도 가로 방향 반경 변화에 영향받지 않고 일정한 속도를 지속합니다.
- G96 S200 P2: 주축 제어를 200 m/min 일정 표면 속도로 재시작하되, 계산 기준 축을 (3770번 파라미터로 매핑된) 2번째 기하학 제어 축으로 전동합니다.
Siemens 주축 제어 예제
N10 LIMS=2500 ; (최대 주축 속도를 2500 RPM으로 클램프 설정)
N20 G96 S120 M3 ; (120 m/min 속도로 일정 절삭 속도 지정, 주축 정회전)
N30 G0 X100 Z2 ; (공구 급속 위치결정, 주축은 직경 기준 계산값 회전)
N40 G1 X20 F0.2 ; (단면 가공, 일정 절삭 속도 유지를 위해 주축 실시간 가속)
N50 G97 S1200 M3 ; (CSS 취소, 주축 고정 1200 RPM으로 고정)
N60 SCC[X2] ; (채널 축 X2를 가로 방향 연산 기준 축으로 동적 지정)
N70 G96 M3 S20 ; (X2를 기준으로 삼아 일정 절삭 속도 켜기)
N80 LIMS=300 LIMS[11]=450 LIMS[12]=800 LIMS[13]=1500 ; (4개 개별 주축의 속도 한계 동시 지정)
공운전 분석:
- N10 LIMS=2500: 현재 마스터 주축의 모달 최대 속도 상한을 2500 rpm으로 잠급니다. 이 값은 즉각 SD43230 세팅 데이터 상에 등록됩니다.
- N20 G96 S120 M3: 일정 절삭 속도 제어가 120 m/min 사양으로 켜지며 주축이 정회전을 시작합니다. G96 활성화 블록이 해독됨에 따라 회전당 이송(G95)이 시스템 인터페이스에 의해 자동으로 인계 및 개시됩니다.
- N30 G0 X100 Z2: 가공 진입 위치인 직경 100mm 지점으로 공운전 및 다가갑니다. 연산 코어는 다음 RPM을 계산합니다: n = (120 × 1000) / (π × 100) ≈ 382 rpm. 주축은 382 rpm 전후로 속도를 조정합니다.
- N40 G1 X20 F0.2: 단면 가공을 진입점 X20까지 밀어 넣습니다. 주축은 120 m/min 일정 속도를 맞추기 위해 지속해서 가속됩니다: n = (120 × 1000) / (π × 20) ≈ 1910 rpm. 이 속도는 선언된 LIMS 안전치(2500 rpm)를 안전하게 밑돕니다.
- N50 G97 S1200 M3: 일정 절삭 속도 연산이 차단됩니다. 주축은 즉시 static 1200 rpm 사양으로 동결되며 회전당 이송 상태는 모달 특성에 따라 유지됩니다.
- N60 SCC[X2]: 일정 절삭 속도를 산출하는 물리 기준 채널 축을 실시간으로 X2 좌표선으로 다이내믹하게 전동 및 변경합니다.
- N70 G96 M3 S20: 연산 소스를 X2 채널 축으로 확보한 상태에서 20 m/min 사양으로 G96 제어를 복원합니다.
- N80 LIMS=300 LIMS[11]=450 LIMS[12]=800 LIMS[13]=1500: 단일 가공 명령 블록 안에서 마스터 스핀들(300 rpm)을 비롯해 서브 스핀들 3개(11번, 12번, 13번 스핀들)의 과속 한계값을 한번에 병렬 클램핑합니다.
Mitsubishi 주축 제어 예제
G92 S4000 Q200 ; (최고 속도 4000 RPM, 최저 속도 200 RPM 설정)
G96 S200 P1 ; (1축을 기준으로 삼아 200 m/min 속도로 G96 시작)
M3 ; (주축 정회전 시작)
G0 X100 Z2 ; (공구 급속 위치결정)
G1 X20 F0.2 ; (단면 가공 절삭)
G96 P2 ; (CSS 계산 기준 축을 2축인 Z1축으로 동적 변경)
G97 S1000 ; (일정 표면 속도 제어 차단, 1000 RPM 고정 운전)
공운전 분석:
- G92 S4000 Q200: 안전 인터락 속도 스위치를 구성합니다: 최고 회전 속도 4000 RPM(S4000) 및 최저 회전 속도 200 RPM(Q200)을 동시에 안전 차단막으로 형성합니다.
- G96 S200 P1: 일정 표면 속도 200 m/min 구동을 개시하되, 1번 물리 축(P1) 위치 데이터를 속도 연산 소스로 연동시킵니다.
- M3: 주축 정방향 회전이 인가됩니다. 기계는 공구의 현재 X축 위치에 해당하는 적정 RPM으로 스핀들을 가동합니다.
- G0 X100 Z2: 공구를 파트 외경 X100.0 지점으로 공운전 및 다가갑니다. 기계는 다음과 같이 주축 회전수를 출력합니다: n = (200 × 1000) / (π × 100) ≈ 636 RPM. 스핀들은 636 RPM 상태로 운전됩니다.
- G1 X20 F0.2: 공구가 가공 단면으로 이동해 깎아 나갑니다. 컴퓨터는 X20까지 선회 속도를 팽창시킵니다: n = (200 × 1000) / (π × 20) ≈ 3183 RPM. 스핀들 모터는 가공 중 가감속을 유연하고 미끄러지듯 실시간 처리합니다.
- G96 P2: 주축 연산에 반영되는 반경 기준 축을 종전 1번 물리 제어 축에서 2번 물리 축(Z-축 / 2축)으로 실시간 재지정합니다.
- G97 S1000: G96 일정 표면 속도 제어를 종료하고 주축 모터의 최종 출력을 안전한 고정 속도 1000 RPM 값으로 완전히 귀환 및 전환시킵니다.
오류 분석
G96 및 G97 명령어가 결합된 복잡한 주축 가공 시스템을 설계 또는 편집할 때 가동 알람이 나타나는 일은 흔합니다. 대표적인 3대 CNC(Fanuc, Siemens, Mitsubishi) 시스템의 공용 오류 및 전용 알람 코드를 알람 트리거 상황, 오퍼레이터가 겪는 증상, 그리고 원인 규명 및 조치 조치(Fix) 관점으로 정리하였습니다.
| 알람 코드 | 트리거 상황 | 작업자 화면 증상 | 원인 진단 및 조치 방안 |
|---|---|---|---|
| Fanuc PS5557 | 장비 전원 기동 후 선행 주축 최고 속도 한계 지령(G92 또는 G50) 없이 G96 블록이 해독됨. | 자동 장비 운전이 G96 줄에서 정지하며 화면에 "NO MAX SP SPEED CLAMP COMMAND" 메시지가 깜빡임. | 원인: 클램프 감지 검사를 안전 강제하기 위해 3712번 파라미터 비트 4(CSA)가 1로 활성화됨. 조치: 가공 프로그램 시작점 부근의 G96 라인 앞줄에 적정 주축 최고 RPM을 한정하는 G50(T-시리즈) 또는 G92(M-시리즈)를 명시하십시오. |
| Fanuc PS0200 | 일정 표면 속도 제어(G96)가 켜진 상태에서 리지드 태핑 가공 사이클 블록이 시작됨. | 운전이 일시 정지되며 화면에 "ILLEGAL S CODE COMMAND"가 발생하고 탭 피치 오차 또는 가공이 중단됨. | 원인: 태핑 공정은 정확한 기계적 피치 동기화가 엄격히 구속되어야 하므로 G96 연산과 병행할 수 없음 (5209번 파라미터 비트 6이 1인 상태). 조치: 고속 태핑 또는 나사 절삭 고정 사이클(G84/G88)이 개시되는 직전의 블록에서 G97 고정 RPM 선언을 통해 G96 모달을 제거하십시오. |
| Siemens Alarm 10900 | 프로그램 실행 단계에서 사전 정의된 S선속도 정보 없이 최초로 G96 또는 G961 기능이 호출됨. | 인터페이스상에서 "No S value programmed for constant cutting speed" 문구가 생성되며 가공 사이클이 멈춤. | 원인: 컨트롤러 레지스터 버퍼에 G96 일정 속도 산출용 초기 절삭 속도 값이 정의되지 않음. 조치: G96 선언 최초 호출 블록에 절삭 선속도 값을 직접 지정하십시오. (예: G96 S150) |
| Siemens Alarm 14820 | LIMS 명령을 입력할 때 음수(-) 기호가 부가된 주축 회전 속도 제한치를 입력함. | 가공 실행이 완전히 무효화되며 NC 경보 창에 "Negative maximum spindle speed programmed for G96, G961" 메시지가 뜸. | 원인: 음수의 속도 제한치는 수학적으로 무효하며 시스템 해석기가 인지 불가능함. 조치: LIMS 문장에 허용 가능한 범위(0.1 ~ 9999999.9 rpm) 내의 양수 값으로 정정하여 기록하십시오. (예: LIMS = 2500) |
| Siemens Alarm 10870 | G96, G961 또는 G962 모달 제어가 호출되었으나, 이를 제어할 백그라운드 가로 축 매핑 정보가 부재함. | 기계 화면에 "No transverse axis defined" 경고가 점등되며 장비 가동이 중단됨. | 원인: 백그라운드 머신 데이터인 MD20100 상에 가로 축(Transverse Geometry Axis) 매핑 지시가 비어 있음. 조치: 기계 셋업 담당자를 통해 백그라운드 파라미터 MD20100 내에 기하 축(통상 X축) 식별자를 기재하십시오. |
| Mitsubishi G96 Clamp Err. | 선행 주축 최대 RPM 클램핑 지령(G92/G50)이 배제된 상태에서 G96 명령어 실행이 탐지됨. | 자동화 운전이 개시 지점에서 돌연 중단되며 제어판에 "G96 Clamp Err." 에러 메시지가 표출됨. | 원인: 누락 클램프 실시간 방지 기능인 #1146 (Sclamp) 파라미터가 1(검사 활성)로 활성화된 상태임. 조치: 리셋 버튼을 누른 다음 프로그램을 정정하여 G96 명령이 인가되는 상부 라인에 적정한 G92 또는 G50 코드를 선행해 등록하십시오. |
| Mitsubishi Program Error P134 | 다중 스핀들 제어 I(MSC I) 조건에서 속도 클램프가 결여된 채 G96 가동을 시도하였으며, #1448 변수가 0임. | 블록 가동이 즉시 거절(Ignore)되고 자동 운전 상태가 캔슬되며 "Program error P134" 화면이 출력됨. | 원인: 주축 제어 I 환경에서 안전 속도 잠금 장치가 누락되었음. 조치: 컨트롤 리셋 후 가동 블록 전에 정확한 G92/G50 주축 회전 제한 제한치를 적용하십시오. |
| Mitsubishi Operation Error M01 1043 | 다중 스핀들 제어 II(MSC II) 조건에서 호출하려는 타겟 스핀들에 대한 최대 안전 클램프 지령이 무효 상태임. | 오퍼레이션 오류 경고인 "Operation error M01 1043" 발생과 동시에 사이클 스타트 신호가 유보됨. | 원인: 호출한 복합 스핀들에 대응하는 클램프 속도 영역의 유효성이 증명되지 않음. 조치: 해당 스핀들 선택 제어가 수행된 직후에 각 독립 주축 사양에 유효한 G92/G50 속도 한계 값을 입력하십시오. |
실무 응용 가이드
최대 주축 속도 제한 설정을 누락하여 주축이 폭주하는 가공 사고는 생산라인에 막대한 경제적 손실을 입히는 원인입니다. Fanuc 시스템의 3712번 파라미터(특히 4번째 비트인 CSA)를 사전 확인하면 이 명령어에서 가장 빈번한 비계획 정지를 없앨 수 있습니다. 이 파라미터가 1로 설정되면 G96 명령 전에 G50/G92 속도 클램프가 실행되지 않았을 때 시스템이 PS5557 알람('NO MAX SP SPEED CLAMP COMMAND')을 발생시키며 자동으로 가공을 중단합니다. 만약 이 설정을 소홀히 하여 안전 클램프 없이 G96이 활성화되고 공구가 X0.0을 향해 전진하면, 급격한 주축 RPM 가속으로 인해 대형 충돌과 공작물 이탈이 발생하여 고가의 척 죠와 인서트 팁이 파손되고 막대한 스크랩(scrap) 발생 및 비가동 시간(downtime) 증가로 이어집니다.
또한, 가공 도중에 가공 치수 불량을 막기 위한 정밀한 제어가 필수적입니다. 이 파라미터를 검증하지 않고 양산에 들어가면, 팔레트 교환 후 두 번째 사이클부터 치수 편차가 누적되어 최종 검사에서 불량이 발견됩니다. Mitsubishi 시스템의 경우에는 #1146 (Sclamp) 파라미터와 #1284 (ext20/bit0) 파라미터를 활용해 클램프 감지를 관리하며, 오경보나 과도한 가속 시 'G96 Clamp Err.' 또는 Multi-Spindle I 환경에서 'Program error P134' 경보가 작동합니다. Siemens CNC에서는 LIMS 명령어와 함께 SD43230 $SA_SPIND_MAX_VELO_LIMS 파라미터가 정확하게 정의되었는지 점검해야 합니다. 음수 값이 입력될 경우 즉시 Alarm 14820이 트리거되어 장비 작동이 강제 정지됩니다. 자동화 라인에서 대량 생산 시 누적 불량을 완전히 차단하고 예기치 않은 라인 다운타임을 영초(0초)화하기 위해서는 이러한 브랜드별 검증 규칙과 안전 파라미터 확인이 절대적으로 필수적입니다.
관련 명령 구조
일정 표면 속도 제어 모달은 홀로 독립되어 동작하지 않습니다. 좌표계 제어 방식, 이송 속도 결합 옵션, 특수 가공(나사 절삭 및 태핑) 사이클 모달과 긴밀하게 묶여 상호 작용합니다. 가공 프로그램의 일관된 성능과 충돌 예방을 확보하기 위해 아래 관련 기능들 간의 긴밀한 기술 네트워크를 완전하게 이해하십시오.
- G50 / G92 (Fanuc/Mitsubishi): 가공 중심부 부근에서의 과속 폭주 및 치명적인 물리적 탈락 사고를 차단하기 위한 최대 주축 회전 속도 클램프를 제공합니다. (예: G50 S2500)
- LIMS (Siemens): Siemens SINUMERIK 내에서 일정 절삭 속도 작동 조건에서 유효한 주축 상한 한계 속도를 정의합니다. (예: LIMS=2500)
- SCC (Siemens): 가공 중 G96의 일정 선속도 산출에 관여하는 축 소스를 동적으로 가로 방향 임의 축으로 스왑 및 배정해 줍니다.
- G94 / G95 (및 G98 / G99): 이송속도 지정 방식입니다. G94/G98은 시간당 선형 이송(mm/min)을 활성화하고, G95/G99는 회전당 이송(mm/rev)을 정의합니다. G96 조건 하에서는 스핀들이 급격히 가속됨에 따라 공구의 시간당 기하 이송 경로 역시 함께 연동되어 비약적으로 빨라집니다.
- G32 / G33 / G76: 고정밀 나사 가공 및 리지드 태핑 모달입니다. 피치의 왜곡과 리드 편차 등 가공 불량 발생을 차단하기 위해, 해당 가공이 켜진 구간에서는 컨트롤러가 임의 가감속(G96 CSS 연산)을 자동으로 비활성화하고 일정한 static RPM 조건으로 강제 구속 및 보호합니다.
결론
자동화 가공 라인의 궁극적인 목표는 품질 균일성과 비계획 정지 시간의 최소화입니다. G96 일정 표면 속도 제어와 G97 일정 RPM 명령어의 조화로운 구성은 고정밀 회전 가공에서 가공 조도를 높이고 공구 마모를 줄이는 가장 효과적인 방안이지만, 반드시 강력한 속도 클램프 안전 조치가 동반되어야만 제 성능을 발휘합니다. 가공 시작 전 Fanuc의 3712번 파라미터를 점검하면 가장 빈번한 비계획 정지를 막을 수 있으며, 3771번 최소 속도 설정, Siemens의 LIMS 속도 제한 및 SD43230 설정, Mitsubishi의 #1146 클램프 체크 변수가 공장의 물리적 척 및 가공물 상태와 일치하는지 반복적으로 검증할 것을 강력히 권장합니다. 안전 파라미터를 정밀하게 조정하고 사전 모의 가공인 공운전 점검을 거침으로써 스크랩(scrap) 발생을 방지하고 불량률을 영에 가깝게 통제하는 영리한 CNC 프로그래밍 전략을 실현해 보시기 바랍니다.
자주 묻는 질문 (FAQ)
자동화 가공 라인에서 G96 명령어 실행 시 PS5557 또는 G96 Clamp Err 알람을 사전에 차단하려면 어떻게 해야 하나요?
자동 운전 중 이 알람으로 인한 장비 정지를 예방하기 위해, Fanuc의 3712번 파라미터(CSA)나 Mitsubishi의 #1146(Sclamp) 변수를 1로 설정하여 클램프 명령 누락 시 장비가 즉각 안전 모드로 대기하도록 설정하십시오. 가공 프로그램의 헤더 영역에 항상 G50 또는 G92 클램프 명령어를 명시적으로 작성하는 표준 템플릿을 현장에 배포하여 실행하십시오.
G96에서 G97로 전환할 때 발생하는 불필요한 가속/감속으로 인한 주축 모터 열화와 시간 손실을 줄이는 방법은 무엇인가요?
X축 급속 이송(G00) 구간이나 공정 간 이동 시 주축이 과도하게 가동되는 것을 막기 위해 Mitsubishi의 #1087(G96_G0) 파라미터를 1로 설정하여 종점 위치에서만 속도를 계산하도록 제어하십시오. G97 취소 직후에는 반드시 대상 가공에 맞는 적정 Spindle RPM(예: G97 S1000)을 직접 프로그래밍하여 불필요한 주축의 서지 가속을 방지하십시오.
멀티 스핀들을 사용하는 복합 가공기에서 주축 교대 시 일정 표면 속도의 연속성을 유지하려면 어떤 설정이 필요합니까?
복합 가공기에서는 Siemens의 SCC[axis] 명령을 사용하여 가공 도중 연산 기준 축을 실시간으로 Y축 등으로 전환하거나, Mitsubishi의 #1300 (#1300 ext36/bit0 및 bit4) 파라미터를 설정해 다중 주축 간 클램프 체크 충돌을 해결해야 합니다. 다중 채널 프로그램 작성 시 스핀들 선택 P 주소를 정확히 연동시키고 각 채널별 클램프 제한값을 개별 매핑하십시오.
아직 해결되지 않았나요?
이 주제에 대해 AI 어시스턴트에게 자연어로 물어보세요. 검증된 소스를 기반으로 하며 환각이 없습니다.

- 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의 공동 창업자로서 활동을 이어가고 있습니다.
관련 기사
이 주제에 관한 다른 기사
지멘스 CYCLE800 평면 선회 및 공구 정렬 실무 가이드
지멘스 CNC CYCLE800 명령어를 활용한 3+2축 평면 선회 및 공구 정렬 방법과 Alarm 61190 및 61153 오류를 신속히 해결하고 자동화 라인 비가동 시간 및 불량률을 개선하는 실무 가이드입니다.
Siemens CYCLE72 윤곽 가공: Sinumerik 가이드
Sinumerik CNC에서 Siemens CYCLE72 윤곽 밀링을 완벽하게 설정하는 방법입니다. 파라미터 구성법을 배우고 Alarm 61123 차단을 방지하며, 비가동 시간과 불량률을 없애기 위한 척 클램프 등 가공 노하우를 확인하십시오.
Siemens CYCLE952 윤곽 선삭 cycle 프로그래밍 가이드
Siemens Sinumerik CNC에서 CYCLE952 윤곽 선삭 cycle의 파라미터를 올바르게 구성하고, Alarm 61051 및 61059 오류를 방지하여 자동화 가공 라인의 비계획 정지 비가동 시간과 불량률을 최소화하는 실무 프로그래밍 가이드.
Siemens SLOT1 및 SLOT2 슬롯 가공 cycle 프로그래밍 가이드
Siemens Sinumerik CNC에서 SLOT1 및 SLOT2 원호 홈 밀링 cycle의 파라미터를 올바르게 구성하고, Alarm 61000 및 61105 오류를 방지하여 자동화 라인의 비가동 시간을 최소화하는 실무 프로그래밍 방법 안내.