G04 Dwell G-code 사용법 및 CNC 브랜드별 파라미터 설정
Fanuc, Siemens, Mitsubishi CNC 제어기에서 G04 Dwell G-code를 사용하는 방법을 학습하십시오. 주요 파라미터 설정, 알람 해결 및 spindle 회전 수 제어법을 설명합니다.
서론
공구 보정(G41/G42)이 활성화된 가공 상태에서 G04 dwell이나 G10 offset 설정 등 축 이동이 없는 비이송 블록을 3회 이상 연속으로 실행하면, 제어기의 look-ahead buffer가 고갈되어 벡터 계산 오류가 발생하고 Alarm PS5447이 트리거되면서 공작물 윤곽을 파먹거나(gouging) vise jaw 또는 workpiece chuck에 충돌하는 파괴적인 사고가 일어난다. 자동화 라인에서 이러한 단 하나의 G-code 프로그래밍 실수는 수십 시간의 설비 비가동 시간(downtime)과 심각한 스핀들 손상으로 이어진다. 특히, Mitsubishi의 1078번 파라미터를 사전 확인하면 이 명령어에서 가장 빈번한 비계획 정지를 없앨 수 있습니다. 소수점 없는 지령값의 배율 설정을 정의하는 이 파라미터를 검증하지 않고 양산에 들어가면, 팔레트 교환 후 두 번째 사이클부터 치수 편차가 누적되어 최종 검사에서 불량이 발견된다. 따라서 생산 공정의 불량률을 억제하고 반복 가공 정밀도를 극대화하기 위해 G04 dwell의 제어 메커니즘과 안전 점검 가이드를 명확히 점검해야 한다.
기술 요약
| 기술 사양 | 상세 정보 |
|---|---|
| 명령 코드 | G04 (Siemens native mode에서는 G4) |
| 모달 그룹 | Group 00 (Non-modal) |
| 지원 브랜드 | Fanuc, Siemens, Mitsubishi |
| 주요 파라미터 | Parameter No. 6200 Bit 1 (Fanuc), MD20734 (Siemens), Parameter #1173 (Mitsubishi) |
| 주요 제약 사항 | Siemens 및 Mitsubishi 환경에서는 단독 블록으로 프로그래밍해야 합니다. revolution-based dwell의 경우 spindle이 반드시 회전 상태여야 합니다. |
핵심 요약
- 주소 선택: 초(seconds) 기준 dwell에는 X 또는 U를 사용하고, 정수형 밀리초(milliseconds)에는 P를 사용하십시오. P 주소에는 절대로 소수점을 사용해서는 안 됩니다.
- Cutter Comp Buffer: G41 또는 G42가 활성화된 상태에서 look-ahead buffer 고갈 및 Alarm PS5447을 방지하려면 축 이동이 없는 비이송 블록의 연속 프로그래밍을 2개 이하로 제한하십시오.
- Revolution-Based Dwells: revolution-based dwell을 적용할 때는 spindle이 능동적으로 회전하고 있는지 확인하십시오. spindle이 정지하면 dwell 카운트다운도 일시 중단됩니다.
- 단독 블록 지정: 명령 파싱 오류를 방지하기 위해 Siemens 및 Mitsubishi 제어기에서는 G04를 프로그램 블록 내에 단독으로 작성하십시오.
- 소수점 스케일 파라미터: 지령한 수치가 잘못 스케일링되는 현상(예: X500이 0.5초가 아닌 500초 동안 dwell되는 오류)을 예방하기 위해 Mitsubishi의 Parameter #1078 (Decpt2) 설정을 점검하십시오.
- Canned Cycles 주소 지정: canned cycle (G82, G88, G89) 내에서 dwell 파라미터를 지정할 때는 항상 P 주소를 사용하십시오. X 주소는 좌표 입력용으로 예약되어 있습니다.
기본 개념
G04 dwell 명령은 지정된 시간 또는 spindle 회전수만큼 축 이송을 일시 정지시키는 준비 기능입니다. 이 일시 정지 상태에서도 장비의 spindle은 지속적으로 회전하며, coolant 펌프는 작동 상태를 유지하고, 모든 modal 레지스터는 기존 상태를 유지합니다. 이러한 기능은 chip breaking, 구멍 바닥면의 relief cutting 수행, 그리고 기어 레인지 전환 후 spindle 회전 속도가 안정화되는 시간을 확보하는 데 필수적입니다. 또한 프로그래머는 barfeeder, tailstock, chuck, 또는 part catcher 등 물리적인 장비 구성품의 기계 동작이 완전히 완료된 후 축 이송을 재개할 수 있도록 보장하기 위해 보조 기능(M 기능) 뒤에 dwell을 함께 명시합니다.
가공 프로그램이 자동 운전 모드로 실행되는 도중에 작업자가 deburring, polishing, filing, part reversal, 또는 chip removal 등의 수동 작업을 가공실 내부에서 직접 수행하도록 유도하기 위해 dwell을 임의로 프로그래밍하는 행위는 절대로 금지됩니다. 이러한 방식으로 안전 interlocks 장치를 우회하는 것은 매우 위험하며, 작업자의 심각한 인명 피해나 tool turret이 chuck 또는 vise jaw에 들이받는 catastrophic hard collision, spindle 손상, 그리고 scrap part 생산을 유발할 수 있습니다. 수동 작업 개입이 필요하다면 오퍼레이터는 반드시 프로그램을 안전하게 일시 정지하거나 중단시켜야 합니다.
명령 구조
dwell을 실행하려면 G04 명령을 시간 또는 회전수 값과 함께 프로그래밍해야 합니다. 제어 시스템은 G04 지시를 해석하고 축 interpolation을 정지하는 동시에 지정된 일시 정지 시간을 카운트다운합니다. 사용할 수 있는 syntax와 주소 체계는 CNC 제어기 brand, 장비 타입(밀링 또는 선반), 그리고 활성화된 feedrate 모드에 따라 다릅니다. dwell이 지령되면 G04 코드가 X 및 U 좌표의 일반적인 이동 해석 방식보다 우선하므로, 물리적인 축 이송은 발생하지 않습니다.
dwell은 time-based 또는 revolution-based 방식으로 구성할 수 있습니다. time-based dwell은 초(seconds) 또는 밀리초(milliseconds) 단위로 카운트다운을 수행하는 반면, revolution-based dwell은 spindle 속도를 기준으로 삼아 시간 대신 spindle 회전수를 측정합니다. 이는 특히 threading 가공이나 deep-hole drilling 시 최종 깊이에서 공구가 정확한 횟수만큼 cleaning 가공을 수행하도록 보장할 때 유용합니다.
; Fanuc Syntax G04 X1.5 ; 1.5초 동안 dwell G04 U0.5 ; 0.5초 동안 dwell (선반 전용) G04 P2000 ; 2000밀리초(2.0초) 동안 dwell; Siemens Native Syntax G4 F2.5 ; 2.5초 동안 dwell G4 S75 ; spindle 75회전 동안 dwell
; Mitsubishi Syntax G94 G04 X2.5 ; 2.5초 동안 time-based dwell (G94 모드) G95 G04 P2000 ; 2000밀리초 동안 revolution-based dwell (G95 모드) G95 G04 X3.0 D2 ; spindle 2에서 3.0회전 동안 revolution-based dwell
| 주소 | 설명 | 시스템 컨텍스트 |
|---|---|---|
| X | 초(seconds) 단위로 dwell 시간을 지정하며(소수점 사용 가능), Fanuc 및 Mitsubishi에서 소수점이 없는 경우는 밀리초 단위로 파싱됩니다. | 범용 |
| U | 선반 시스템에서 초(seconds) 단위로 dwell 시간을 지정합니다(소수점 사용 가능). | Fanuc / Mitsubishi 선반 |
| P | 정수형 밀리초(milliseconds) 단위로 dwell 시간을 지정합니다. 소수점은 사용할 수 없습니다. | 범용 / Canned Cycles |
| F | 초(seconds) 단위로 dwell 시간을 지정합니다(Siemens native 모드). | Siemens 기본 |
| S | spindle 회전수(revolutions) 단위로 dwell 시간을 지정합니다(Siemens native 모드). | Siemens 기본 |
| D | revolution-based dwell을 적용할 특정 spindle 번호(1~n)를 타겟팅합니다. | Mitsubishi |
브랜드별 응용
Fanuc
Fanuc 시스템에서 G04는 비모달 Group 00 명령어입니다. tapping cycle 내의 dwell은 Parameter No. 6200 Bit 1 (DWL)에 의해 제어됩니다.
Fanuc 환경에서 dwell을 작성하려면 G04 X_, G04 U_, 또는 G04 P_ 형식을 사용합니다. 예컨대 G04 X1.5는 1.5초 동안 일시 정지하며, G04 P1500은 소수점을 쓰지 않고 1.5초(1500 밀리초) 동안 일시 정지합니다.
| 분류 | 코드 / 파라미터 / 알람 | 설명 / 발생 조건 |
|---|---|---|
| 파라미터 | Parameter No. 6200 Bit 1 (DWL) | Series 15/15-T 포맷에서 G84 및 G84.2 tapping cycle 내의 P 주소를 사용한 dwell 활성화 여부를 결정합니다. |
| 파라미터 | Parameter No. 5000 Bit 3 (GNI) | cutter compensation 동작 중 look-ahead 경로 거동을 제어합니다. 0으로 설정하면 G40 no-motion 블록 실행 시 공구가 이전 블록의 일반 위치로 복귀합니다. |
| 파라미터 | Parameter No. 5105 Bit 3 (M5T) | tapping cycle 중 spindle 회전 방향 변경 전에 spindle 정지 명령(M05)을 실행할지 여부를 제어합니다. |
| 알람 | Alarm PS0010 | 부적절한 G-code 지정(G-code가 활성 카드에 없거나 소프트웨어 옵션이 제공되지 않음). |
| 알람 | Alarm PS5257 | Parameter No. 5008 Bit 4 (MCR)이 1인 상태에서 MDI 모드로부터 G41/G42 보정을 직접 트리거하려고 시도함. |
| 알람 | Alarm PS5447 | 예각 구역 또는 좁은 포켓 윤곽으로 인해 보정 경로 벡터가 90도~270도 이상 비정상 변위되어 발생하는 G41/G42 보정 간섭 회피 위험. |
| 알람 | Alarm PS0011 | 절삭 feed 명령어가 최대 제한치를 초과할 때 발생하는 피드 제로 지령 오류. |
| 버전별 차이 | Series 15 vs Series 15-T | Series 15는 P 지령 시 G83, G83.1, G84, G84.2 내의 dwell을 수행하지만, Series 15-T는 G83/G83.1 dwell을 미지원하고 G84/G84.2에서 P 주소를 modal로 해석합니다. |
경고: cutter radius compensation G41 또는 G42가 활성화된 상태에서 축 이동이 없는 비이송 블록(dwell, M-code, G10 등)을 연속으로 2개를 초과하여 작성하면 look-ahead buffer가 고갈되어 보정 벡터 계산 실패 알람이 트리거되고 공작물이 손상되는 결과를 유발합니다.
Siemens
Siemens 시스템에서 G04는 기본적으로 G4 코드로 동작하며 non-modal 이동 명령어로 기동됩니다. ISO Dialect 모드 파서의 거동 특성은 머신 데이터 MD20734에 의해 제어됩니다.
Siemens 기본(native) 모드에서는 초(seconds) 단위 dwell 시 G4 F...를 사용하고, spindle 회전수(revolutions) 단위 dwell 시 G4 S...를 사용합니다. ISO Dialect 모드로 전환된 상태에서는 G04 X... 및 G04 P... syntax를 지원합니다.
| 분류 | 코드 / 파라미터 / 알람 | 설명 / 발생 조건 |
|---|---|---|
| 파라미터 | MD20734 Bit 2 | ISO Dialect 모드 환경에서 G04 시간 수치의 해석 기준을 정의합니다: 0 = 항상 초 단위로 해석, 1 = G94 모드에서는 초 단위, G95 모드에서는 spindle 회전수로 해석. |
| 파라미터 | MD20734 Bit 3 | ISO Dialect 스캐너 동작 제어: 0 = 스캐너 오류 시 알람 정지, 1 = 스캐너 오류를 무시하고 Siemens native 번역기로 해당 코드를 직접 전달. |
| 파라미터 | MD20150 [13] | 기계 전원 인가(run-up) 및 리셋 시 G 그룹 2(non-modal 동작 명령 및 G4 dwell 등)의 기본 활성 상태를 선언합니다. |
| 알람 | Alarm 12080 | MD20734 Bit 3 설정이 0일 때, ISO Dialect 모드(G291) 스캐너가 제어기에 매핑되지 않은 미지원 명령어를 파싱할 때 트리거되는 구문 오류. |
| 알람 | Alarm 14800 | G4 dwell 블록을 거친 후 절삭 블록으로 진입할 때 지령된 궤적 피드 속도가 0 이하(F0 상태이거나 피드 미선언)로 판정되어 차단되는 알람. |
| 버전별 차이 | 802D sl vs 840D sl / 828D | G93 역시간 feedrate 기능이 840D sl 및 828D 제어기에서는 실행되지만 802D sl 시스템에서는 구현되지 않습니다. MD10604 파라미터는 802D sl에서 읽기 전용입니다. |
경고: revolution-based dwell (G4 S... 또는 G95 모드에서의 G04)이 선언된 상황에서 spindle 정지 동작이 인가되면 카운트다운이 그 즉시 정지합니다. 이 dwell은 spindle 회전이 다시 시작될 때까지 가공 블록 진행을 완전히 대기시킵니다.
Mitsubishi
Mitsubishi 제어 시스템에서 G04는 반드시 단독 블록으로 분리하여 프로그래밍해야 합니다. dwell skip 스킵 동작 활성화는 파라미터 #1173 (dwlskp)에 의해 설정됩니다.
Mitsubishi 제어기는 time-based dwell에 G94 G04 X_ 또는 G94 G04 P_ 지령 형식을 지원하며, revolution-based dwell에 G95 G04 X_ D_ 또는 G95 G04 P_ 형식을 사용합니다.
| 분류 | 코드 / 파라미터 / 알람 | 설명 / 발생 조건 |
|---|---|---|
| 파라미터 | Parameter #1173 (dwlskp) | Dwell Skip 기능 활성화 설정. 외부 스킵 신호 인가 시 진행 중인 dwell을 취소하고 다음 동작으로 이동할지 여부를 제어합니다(0 또는 1). |
| 파라미터 | Parameter #1436 (mstsyn) | 사전에 프로그래밍된 dwell 시간에 대해 조작 패널의 피드 오버라이드 백분율 배율을 동적으로 적용할 수 있게 허용할지 결정합니다. |
| 파라미터 | Parameter #8130 | G95 동기 이송 모드 작동 시 revolution-based dwell을 기본 규칙으로 자동 해석할지 설정합니다. |
| 파라미터 | Parameter #8112 | address P 지령 수치에 소수점 지정을 허용할지 결정하는 파라미터입니다. |
| 파라미터 | Parameter #1078 (Decpt2) | 소수점이 생략된 지령값에 대한 기본 스케일링 단위를 정의합니다. 0 = X500 지령 시 0.5초로 해석, 1 = X500 지령 시 500초로 해석. |
| 파라미터 | Parameter #19014 | 지령한 address P의 설정 단위를 10의 거듭제곱 단위 배율로 조정합니다. |
| 알람 | MCP Alarm Y51 15 | skip 계측 동작 중 관련 시정수 설정 파라미터인 #2102 skip_tL 값이 유효 범위를 벗어났을 때 발생하는 감속 제어 알람. |
| 알람 | MCP Alarm Y51 16 | skip 감지 응답 시정수인 #2103 skip_t1 설정에 유효하지 않은 값이 검출되었을 때의 제어부 경고 알람. |
| 알람 | Program Error P35 | 다단 skip 기능 등에 입력된 좌표 범위나 스킵용 파라미터 address P 수치(정수 범위 제한) 지정 초과 에러. |
| 알람 | Program Error P603 | 소재 치수 측정 또는 torque limit skip 기동 동작 중 skip 이송 속도 F 지령값 또는 파라미터 #1174 skip_F 값이 0인 채로 실행되었을 때 발생하는 오류. |
| 알람 | Program Error P33 | G10 파라미터 데이터 설정 지령이 단독 블록으로 구성되지 않거나, G20/G21 단위 변환 코드가 동일 라인의 모션 명령 블록에 결합되었을 때의 에러. |
| 버전별 차이 | M8 Series vs C80 Series | M8 시리즈에서는 시퀀스 번호 N이 최대 8자리까지 허용되나 C80 제어기에서는 6자리로 제한됩니다. G26 원점 복귀 가공 기능 및 G10 L50 파라미터 동적 입력도 모델 옵션별로 상이합니다. |
경고: dwell 명령어 블록에 G10 좌표계 세팅이나 보정 파라미터 변경 코드를 병합하여 실행하려고 시도하면 즉시 Program Error P33이 발생하고 장비가 중단됩니다.
브랜드 비교
| 기능 / 비교 요소 | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| Dwell 주소 확장 지정 | 지정 파라미터 및 canned cycle 내부 사용으로 한정됩니다. | F (seconds)와 S (revolutions) 주소를 기본적으로 지원합니다. | 특정 spindle 타겟팅 및 feed 모드 오버라이드를 위해 D 주소를 기본 지원합니다. |
| ISO 스캐너 오류 바이패스 | 매핑되지 않은 코드 선언 시 스캔 즉시 가공 프로그램을 비계획 정지시킵니다. | 머신 데이터 MD20734 Bit 3을 경유하여 Siemens native 컴파일러로 에러 없이 바이패스하는 기능을 제공합니다. | — (no source) |
| HMI 화면 countdown 표시 | HMI 패널에 일반적인 실시간 잔여 시간 카운트다운을 표시하지 않습니다. | HMI 조작 패널 화면에서 실시간으로 잔여 시간을 표시합니다. | — (no source) |
| Skip 신호 연동 dwell 취소 | — (no source) | — (no source) | 파라미터 #1173 dwlskp 설정과 skip 센서 신호 유입을 활용해 가동 중 취소를 동적으로 지원합니다. |
| 구멍 바닥면 canned cycle dwell | 지정 파라미터 설정을 연동하여 tap cycle 내부에서 modal dwell로 제어됩니다. | 가공 cycle 자체 파라미터(DT, DTB, DTS 등) 입력을 통해 가용 설계됩니다. | 구멍 바닥면 dwell에 대해 지령 P 값과 파라미터 #1313 TapDwl을 상호 비교 평가하여 오버라이드 제어가 가능합니다. |
기술 분석
이러한 제어기들을 비교 분석해 보면 dwell이 파싱되고 실행되는 아키텍처에 뚜렷한 차이가 있음이 확인됩니다. Fanuc 선반 시스템의 표준 G-code System A에서는 절대 및 증분 모드용 코드인 G90과 G91이 완전히 배제되며, 대신 축 이동 블록에 절대 좌표 X/Z 또는 증분 좌표 U/W 주소를 직접 기입하여 사용합니다. Fanuc 선반에서 G90을 지령하면 절대 치수 모드로의 설정 대신 외경 황삭 고정 cycle이 기동됩니다. 반면 Siemens와 Mitsubishi 제어기는 absolute 및 incremental 치수 지정을 처리하기 위해 전형적인 modal G90/G91 지령에 의존합니다. Mitsubishi 제어 시스템의 경우 파라미터 #1076 (AbsInc) 설정을 제공하여 작업 현장 공정 규격에 부합되도록 주소 기반(1) 또는 G-code 기반(0) 좌표 해석 모드 중 하나를 사용자가 자유롭게 토글할 수 있도록 확장성을 부여합니다.
또한 Siemens 시스템은 독창적이고 유연한 이중 컴파일 아키텍처를 강점으로 가집니다. 전환용 준비 기능 코드인 G290 및 G291 선언을 통해 Siemens 시스템은 native Sinumerik 서브루틴 동작 제어 상태와 ISO Dialect 해석 상태를 교차 토글하며, 표준 ISO G-code 포맷(G04 X... 또는 P...)의 지령을 native Siemens 환경 하의 서브프로그램 내부에서 무리 없이 실행할 수 있도록 보장합니다. 더불어 Siemens 제어기는 머신 데이터 MD20734 Bit 3 설정을 경유해 스캔 과정의 미확인 오류를 우회하여 알람 정지 대신 native Siemens 컴파일러에 전달하여 가공을 속행합니다. 이와 대조적으로 Mitsubishi는 실시간 dwell skip 처리에 뛰어난 실용성을 제공합니다. 파라미터 #1173 (dwlskp)을 활성화하면, 가동 중 외부 터치 프로브 등 스킵 센서 신호를 받아 활성화 상태의 G04 dwell을 실시간으로 취소하고 즉각 다음 가공 블록으로 동작을 천이하여 불필요한 가공 사이클 타임 누적을 원천 예방합니다.
프로그램 예제
Fanuc 예제
; Fanuc Milling Time-Based Dwell
G90 G01 X150.0 Y100.0 Z-5.0 F300.0 ; 300 mm/min 속도로 직선 이송
G04 X1.5 ; 1.5초 동안 dwell
G01 Z-10.0 F150.0 ; 150 mm/min 속도로 다음 직선 이송
G04 P2000 ; 2000밀리초(2초) 동안 dwell
공운전 (dry run): Fanuc 제어기 검증 결과, 300 mm/min 속도로 X150.0, Y100.0, Z-5.0 절대 좌표에 linear interpolation 직선 이송을 완료한 후, 축 이동은 1.5초 동안 일시 정지되지만 spindle 회전 및 coolant는 지속 활성화된 상태를 유지합니다. 이후 Z축 방향 -10.0 위치로 150 mm/min feedrate 이동이 재개되고, 이송 완료 후 다음 가공 블록을 실행하기 전에 다시 2000밀리초(2.0초)의 dwell 대기 시간을 가집니다.
Siemens 예제
; Siemens Native Cartesian Milling
G17 G94 G1 X150.0 Y100.0 Z-5.0 F500.0 M3 S1000 ; 500 mm/min 속도로 이송, spindle 1000 RPM
G4 F2.5 ; 2.5초 동안 dwell
G1 Z-12.0 F200.0 ; 200 mm/min 속도로 다음 이송
G4 S75 ; spindle 75회전 동안 dwell
공운전: Siemens 제어기 검증 결과, spindle이 1000 RPM으로 정회전(M03)하는 상태에서 XY 평면(G17)을 기준으로 X150.0, Y100.0, Z-5.0 절대 좌표에 500 mm/min 속도로 이동합니다. 이후 축의 위치 결정이 완료되면 2.5초간 대기합니다. 대기 완료 시 Z축 -12.0 위치로 200 mm/min 속도로 직선 이동이 다시 활성화되며, 이어서 spindle 회전 동기식 dwell 블록에 도달합니다. 축의 진행 동작은 스핀들이 정확히 75회 회전하는 시간(75회전 × 60초 / 1000 RPM = 4.5초) 동안 완전히 일시 중단된 뒤 다음 블록으로 이동합니다.
Mitsubishi 예제
; Mitsubishi Time-Based and Revolution-Based Dwell
G90 G01 X50.0 Z20.0 F300.0 ; 300 mm/min 속도로 절대 직선 이송
G94 G04 X2.5 ; 2.5초 동안 time-based dwell
G91 G01 Z-5.0 F150.0 ; 150 mm/min 속도로 증분 이송
G95 G04 X3.0 D2 ; spindle 2에서 3.0회전 동안 revolution-based dwell
공운전: Mitsubishi 제어기 검증 결과, 300 mm/min 속도로 X50.0 및 Z20.0 좌표로 절대 linear interpolation 이동을 지령합니다. 이어서 time-based dwell 블록이 활성화되면 기계의 축 이송 속도가 2.5초 동안 강제로 대기 제어됩니다. 대기 종료와 동시에 150 mm/min 속도로 Z축 방향 -5.0만큼 상대 이동(G91)을 기동하고, 이동 후 spindle 2를 기준으로 하는 3.0회전의 revolution-based dwell을 소화한 뒤 다음 가공 동작으로 이행합니다.
오류 분석
| 브랜드 | 알람 코드 | 발생 조건 | 작업자 증상 | 근본 원인 / 해결 방법 |
|---|---|---|---|---|
| Fanuc | Alarm PS0010 | 선언된 G-code가 활성 카드 데이터 목록에 없거나 대응되는 소프트웨어 가공 옵션 라이선스가 할당되어 있지 않습니다. | 기계 가공 사이클이 즉각 비계획 정지하며, HMI 표시 화면에 "IMPROPER G-CODE" 오류 창이 발생합니다. | 지령한 G-code의 구문 오류를 점검하고, 사용 제어 카드에 G04 옵션 사양이 활성화 상태인지 확인하여 해결하십시오. |
| Fanuc | Alarm PS0011 | 축 이송을 지령하는 절삭 속도가 시스템 제한 범위를 대폭 상회하거나, 선행 모달 F 값이 아예 생략되었습니다. | 즉각적인 축 이송 대기 상태가 유발되며 HMI 화면 상단에 "FEED ZERO (COMMAND)" 알람 경고가 출력됩니다. | 기동 모션 블록인 G01/G02/G03 동작의 내부 또는 바로 전단 블록에 유효한 F-address 피드 속도값을 작성하십시오. |
| Fanuc | Alarm PS5447 | G41/G42 tool nose radius compensation 실행 중, 비이송(dwell 등) 블록이 연속 인가되어 look-ahead buffer 데이터가 고갈되었습니다. | 축 이동이 정지하고 화면에 "DANGEROUS AVOIDANCE AT G41/G42" 경고 문구가 표시됩니다. | G41/G42 활성 제어 구간 내에서는 축 보정 벡터 계산 유지를 위해 G04 dwell이나 G10 등 축 이동이 없는 비이송 명령의 연속 선언을 2회 이내로 줄이십시오. |
| Siemens | Alarm 12080 | MD20734 Bit 3이 0인 상태에서 ISO Dialect 컴파일링 모드(G291) 중 파서가 시스템에 등록되지 않은 비규격 명령을 읽어 들였습니다. | 프로그램 컴파일이 차단되고 HMI 화면 상에 치명적 구문 오류(syntax error) 알람이 출력됩니다. | 구문 표기 규칙을 준수하여 작성하거나, ISO 컴파일 환경을 점검하고, 필요한 경우 MD20734 Bit 3을 1로 선언하여 무해한 바이패스를 허용하십시오. |
| Siemens | Alarm 14800 | G4 dwell 블록을 통과하여 후속 절삭 가공 블록으로 이송 궤적이 재기동할 때 지령 피드가 0 이하로 계산되었습니다. | 가공 채널의 운전 상황이 통제되며 HMI 모니터 상에 궤적 속도 누락 오류(path velocity error) 메시지가 나타납니다. | 모달 feedrate F-address의 유효 설정 여부를 검증하고, 필요한 경우 G4 dwell의 직후 동작 블록에 절삭 피드 지령을 명확히 선언하십시오. |
| Mitsubishi | Program Error P62 | F 속도가 소실된 0 상태에서 G01, G02, G03 등 절삭 제어 가공 이동을 수행하려 시도했습니다. | 장비의 자동 가공이 비계획 정지되고 화면에 "FEEDRATE ZERO / MISSING F COMMAND" 알람 창이 발생합니다. | 동작 가공 모션 블록 또는 이의 바로 전단 블록에 유효한 F-address 수치 명령을 입력하십시오. |
| Mitsubishi | Program Error P33 | G10 파라미터 데이터 설정 지령이 단독 블록으로 구성되지 않거나, G20/G21 단위 변환 코드가 동일 라인의 모션 명령 블록에 결합되었을 때의 에러. | 축 이송 운전이 강제 차단되며 HMI 화면에 좌표계 설정 오류(coordinate system programming error) 메시지를 띄웁니다. | G10 파라미터 셋업 데이터나 좌표 오프셋 변경 지령은 반드시 독자적인 단독 블록으로 작성하시고, G04 dwell 명령 등과 같은 줄에 합쳐서 프로그래밍하지 마십시오. |
실무 응용 가이드
G00 rapid positioning 명령이나 G90 G28 Z0와 같은 절대 원점 복귀 명령의 오용은 공구 turret이 공작물이나 chuck jaws를 관통하는 충돌을 유발하여 spindle 파손과 scrap part 생산이라는 파괴적인 결과를 낳는다. 이를 차단하기 위해 밀링에서는 G91 G28 Z0, 선반에서는 G28 U0 W0와 같은 증분 retraction 제어를 적용해야 한다. 또한 자동화 라인의 barfeeding 시퀀스에서 G04 dwell의 정확한 동기화는 물리적인 장비 손상을 막는 핵심 요소이다. spindle을 정지(M05)하고 chuck을 열기(M10) 지령한 뒤 G04 U0.1 dwell을 주어 barfeeder가 소재를 turret stop까지 밀어내도록 유도해야 하며, chuck을 닫은(M11) 직후에도 G04 U1.0 dwell을 보장하여 clamping 압력이 완전히 형성된 상태에서 spindle 회전(M03)이 재개되도록 제어해야 한다. 마찬가지로 tailstock 전진(M21) 후 G04 U2.0, tailstock quill 전진(M12) 후 G04 U1.0 dwell을 적절히 인가해 소재 지지의 안정성을 확보한 뒤 가공에 들어가야 한다. 한편, deep-hole drilling이나 tapping cycle(CYCLE82, CYCLE840 등) 진행 시 pocket이나 swiveled plane 아래의 잘못된 retraction plane 높이를 지정할 경우 제어기는 소프트 스트로크 한계를 감지하고 즉각 알람을 띄우며 장비를 멈추므로, 안전한 높이 정의가 필수적이다. 작업자는 G22 및 G23 Chuck Barrier와 Tailstock Barrier 기능을 활성화하여 turret이 chuck 또는 fixture clamp 영역을 침범할 때 Program Error P452 또는 Alarm PS0010 등 스트로크 한계 alarm code가 즉각 작동되도록 보호막을 쳐야 한다. 어떠한 경우에도 가공 프로그램 제어 중에 deburring, polishing, chip removal 등 수동 작업을 하기 위해 G04 dwell을 임의로 활용하는 행위는 안전 연동 장치를 무력화하여 오퍼레이터의 중상이나 대형 충돌 사고를 일으킬 수 있는 극도로 위험한 조치이다.
관련 명령 구조
- G00 Rapid Traverse Positioning: 활성화된 dwell 상태를 즉시 취소하고 장비 최대 급송 속도로 축을 지정된 절대/상대 위치로 이송합니다.
- G01 Linear Interpolation: non-modal G04 dwell 상태를 기각하고 설정된 F-address 속도에 맞춰 직선형 보간 이송을 실행합니다.
- G10 Parameter Management: 가공 셋업 시 G-code 프로그램 내부에서 직접 공구 offset 및 공작물 좌표 offset을 설정할 수 있도록 허용합니다. 다만 G04 dwell 명령과 한 블록에 기재할 수 없습니다.
- G82 Drilling Cycle with Dwell: 지정한 hole 바닥면까지 정밀 절삭 피드 이송을 수행한 후, P 주소 값을 참조해 기계 동작 정지 dwell을 인가하고 신속하게 retract 이송을 거행합니다.
- G94 / G95 Feedrate Modes: 피드 속도 규격을 time-based (mm/min) 또는 revolution-based (mm/rev) 상태로 지정합니다. 이 설정값은 G04 dwell 시간 지령이 초 또는 spindle 회전수로 해석될지를 최종 결정합니다.
결론
생산 현장에서 G04 dwell 명령어의 활용은 단순한 시간 지연이 아니라 가공 품질 확보와 장비 보호를 위한 정밀한 제어 수단이다. 자동화 가공 라인의 반복 정밀도를 안정적으로 유지하려면 셋업 단계에서 decimal point scaling 파라미터인 Fanuc의 3401번 및 Mitsubishi의 1078번 설정을 완벽하게 검증하고, look-ahead buffer 고갈을 피하기 위한 보정 구간 설정을 면밀히 모니터링해야 한다. 초도품 가공 시 single block 모드와 feed override 다이얼을 수동으로 조절하여 지연 시간 동안 축 동작의 미세 간섭을 확인하는 가공 표준 매뉴얼을 수립하고 준수하는 것만이 비계획 장비 비가동 시간을 제로화하고 불량률을 원천 차단하는 최선책이다.
자주 묻는 질문 (FAQ)
자동화 라인에서 G04 시간 지연이 끝난 후 첫 번째 모션 블록으로 진입할 때 Siemens 14800 알람이 발생하는 이유는 무엇입니까?
G04 dwell이 실행되는 동안 spindle 속도와 coolant 상태는 유지되지만, dwell 블록 바로 뒤에 오는 절삭 블록에 0이 아닌 유효한 feedrate가 지정되어 있지 않거나 모달 F 값이 소실되면 이송 속도가 0 이하로 판정되어 Siemens 14800 알람이 발생합니다. 해결 조치: G04 dwell 블록 바로 다음으로 전환되는 G01, G02, G03 등 절삭 모션 블록의 내부에 새로운 F 지령을 명시적으로 재선언하십시오.
Mitsubishi 제어기에서 G95 동기 이송 중에 G04 지령을 내리면 왜 회전수 기준으로 Dwell이 작동하나요?
Mitsubishi 시스템에서는 Parameter #8130(Dwell in rev.)의 설정에 따라 G95 회전당 이송 모드에서 G04가 선언되면 시간(seconds)이 아닌 spindle 회전수(revolutions) 단위로 지연 시간을 계산합니다. 이때 spindle이 멈추면 countdown도 대기 모드로 멈추게 됩니다. 해결 조치: 동기 이송 중에도 시간 단위 제어가 필요하다면 G94 모드로 명시적 전환하거나 Parameter #8130 값을 점검하고, spindle 회전 지령이 정상 인가되었는지 확인하십시오.
Fanuc 제어기에서 G04 P 지령을 사용할 때 왜 소수점 입력을 배제하고 정수형 밀리초 단위로만 작성해야 하나요?
Fanuc 시스템의 P address는 소수점 입력을 지원하지 않도록 설계되어 있어, 소수점을 찍으면 제어기가 소수점을 무시하고 매우 짧은 수치(예: P1.5를 1ms 또는 15ms)로 파싱하여 미세 지연 후 바로 진행하게 되어 툴이나 spindle 파손을 유발합니다. 해결 조치: G04 P를 사용할 때는 1.5초를 P1500, 2초를 P2000과 같이 소수점 없는 정수형 밀리초 단위로 기재하고, 소수점 형식이 필요한 경우 X 또는 U address를 사용하십시오.
아직 해결되지 않았나요?
이 주제에 대해 AI 어시스턴트에게 자연어로 물어보세요. 검증된 소스를 기반으로 하며 환각이 없습니다.

- CNC CARE Co-Founder (May 2025 - Present)
- Mitsubishi Electric NC Sales & Service Section Manager (2008 - 2025)
- Reis CNC Service Engineer (2003 - 2008)
- Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)
CNC 기계 산업의 모든 분야에서 25년 이상 근무한 경험을 바탕으로, 브랜드 독립적인 컨설팅, 엔지니어링 및 순정 부품 서비스를 제공하는 CNC CARE의 공동 창업자로서 활동을 이어가고 있습니다.
관련 기사
이 주제에 관한 다른 기사
G27 기준점 복귀 검사: 다중 브랜드 CNC 제어기 안전 설정 가이드
화낙(Fanuc), 지멘스(Siemens), 미쓰비시(Mitsubishi) CNC의 G27 원점 복귀 검사 명령어 사용법과 파라미터 설정을 설명합니다. 알람을 해결하고 비가동 시간과 터렛 충돌을 예방하십시오.
지멘스 SINUMERIK G26 상한 작업 영역 및 주축 속도 제한 설정
지멘스 SINUMERIK G26 명령어로 상한 작업 영역과 주축 속도 한계를 설정하여 충돌을 방지하는 방법입니다. SD 43420 파라미터 설정법, 비가동 시간 단축을 위한 운전 노하우 및 알람 해결 가이드를 상세히 설명합니다.
CNC G26 주축 속도 변동 감지 및 제한 설정 가이드
Fanuc, Siemens, Mitsubishi CNC 제어기에서 G26 명령어를 사용해 주축 속도 변동을 감지하고 속도 제한을 설정하여 공구 파손 및 기계 충돌 사고를 방지하는 방법을 설명합니다.
G25 하한 작업 영역 및 주축 속도 제한 설정 가이드 (Siemens CNC)
지멘스(Siemens) CNC 제어기에서 G25 명령어를 활용하여 하한 작업 영역 경계와 주축 속도 제한을 설정하고 터렛 충돌을 방지하는 파라미터(SD 43430, MD 10604) 조정 노하우를 알아봅니다.