G28 G29 G30 G-Code CNC 기계 원점 복귀 완벽 가이드
Fanuc, Siemens, Mitsubishi CNC 시스템의 G28, G29, G30 원점 복귀 명령어를 마스터하여 바이스 조 충돌 리스크와 비가동 시간(비가동 시간)을 차단하세요. 실무 파라미터 및 오류 원인 해결법을 제시합니다.
서론
자동화 라인의 반복 가공 공정 중, 이전에 활성화된 축 미러 이미지(mirror image) 또는 좌표 회전 변환 상태가 해제되지 않은 상태에서 G28이나 G30 기계 원점 복귀 명령이 내려지면, 가공 툴이 예기치 않게 반대 방향으로 질주하여 회전하는 chuck이나 바이스 조(vise jaw)를 들이받는 대형 충돌 사고가 발생합니다. 이 같은 물리적 충돌은 단순히 공구를 부러뜨리고 정밀 볼 스크루를 뒤틀리게 만드는 수준에 그치지 않고, 가공 불량률을 치솟게 만들며 장시간의 비계획 정지(downtime)를 초래하여 공장 전체의 가동 효율을 마비시킵니다. 자동화 라인에서 비가동 시간(비가동 시간)을 예방하고 공작기계의 기하학적 정밀도를 사전에 수호하려면, 전원 투입 직후의 휘발성 메모리 관리부터 각 제어기 브랜드별 전용 파라미터 제어까지 아우르는 정밀한 G28, G29, G30 사용법 수립이 무엇보다 중요합니다.
기술 요약
| 사양 | 상세 정보 |
|---|---|
| G-code 명령어 | G28 (1차 원점 복귀), G29 (원점으로부터 복귀), G30 (2차 원점 복귀) |
| 모달 그룹 | Group 00 (Non-modal) |
| 호환 제어기 | Fanuc, Siemens, Mitsubishi |
| 핵심 파라미터 | Fanuc: 16205 비트 0 (SZR), 1015 비트 4 (ZRL); Siemens: MD34100, SD43340; Mitsubishi: #1279 ext15/비트6, #2025, #2026 |
| 주요 운동학적 제한 사항 | G29 실행 전 중간점(waypoint)을 기록하기 위해 G28/G30을 먼저 실행해야 합니다. 경로 반전을 방지하기 위해 활성화된 미러 이미지 및 좌표계 회전을 취소해야 합니다. |
핵심 요약
- 전원을 켠 직후에는 항상 G28 원점 복귀 루틴을 실행하여 휘발성 메모리에 중간점 좌표를 기록하고, 즉각적인 G29 실행 알람을 예방하십시오.
- 원점 복귀를 호출하기 전에 G40을 사용하여 공구 반경 보정을, G49를 사용하여 길이 보정을 명시적으로 취소하여 중간점에 도달할 때 예측할 수 없는 이동이 발생하는 것을 방지하십시오.
- 스핀들이 워크홀딩 고정 장치에 충돌하는 역방향 축 이동 위험을 제거하기 위해 활성화된 모든 좌표 회전 및 축 미러 이미지 기능을 해제하십시오.
- 가공 경로가 좁은 지그 클램프(fixture clamp)를 피해가야 할 때는 Fanuc 파라미터 1015 비트 4 (ZRL)를 수정하여 비선형 개다리(dog-leg) 이동 대신 선형 보간을 강제하십시오.
- Mitsubishi 파라미터 #1279 ext15/비트6을 활성화하여 중간점(waypoint)에서 단독 블록 정지(single block stop)를 수행하고, 작업자가 간섭 여부를 수동으로 검증할 수 있도록 하십시오.
- ISO Dialect 모드(G291)로 Siemens 제어기를 작동하여 표준 G28, G30 및 G27 명령어에 액세스하거나, G290을 사용하여 Native Siemens 모드로 전환하고 G74 원점 복귀를 활용하십시오.
기본 개념
원점 복귀 명령어는 장비 축을 물리적으로 설정된 고정 기계 원점(zero grid points) 또는 2차 공구 교환 위치로 안전하게 이송하는 역할을 합니다. G28 및 G30의 주요 메커니즘은 2단계 모션 시퀀스를 수반합니다. 첫째, 제어기는 지정된 중간점(intermediate waypoint)으로 급속 이송(rapid traverse)하도록 모든 지정된 축에 명령합니다. 이 중간점에 도달하면 제어기는 하드코딩된 기계 원점 위치까지의 경로를 계산하고 축을 이 목표 위치로 이동시킵니다.
이 2단계 이동은 활성 공구 위치에서 원점까지의 직선 이동이 높은 지그(fixture)와 쉽게 교차(충돌)할 수 있기 때문에 매우 중요합니다. 중간 좌표는 운동학적 절곡(kinematic bend) 역할을 하여 툴이 간섭 영역을 피해 가도록 안내합니다. 그러나 이는 전적으로 활성 휘발성 메모리에 의존합니다. 장비 전원이 꺼지면 저장된 중간점 좌표가 완전히 소거됩니다. 새로운 중간점을 기록하기 위한 사전 G28 또는 G30 시퀀스 없이 G29 출발 명령을 시도하면 제어기는 무작위 이동을 방지하기 위해 즉시 동작을 정지시킵니다.
명령 구조
원점 복귀 명령어의 구문 구조는 G-code, 대상 축 좌표 주소 및 선택적 위치 레지스터의 조합에 의존합니다. 프로그래머는 G28 또는 G30 블록에서 지정된 좌표가 최종 원점 위치 자체를 정의하는 것이 아님을 이해해야 합니다. 대신, 이는 툴이 원점 복귀 전에 통과해야 하는 정확한 중간점(intermediate waypoint)을 정의합니다.
원점(home position)에서 출발을 실행하기 위해 G29 명령어가 호출됩니다. 제어기는 활성 레지스터에서 기록된 중간점 좌표를 읽어 해당 중간점으로 급속 이송을 지시한 다음, G29 블록에 프로그래밍된 최종 대상 좌표로 계속 이동합니다. 이를 통해 툴이 진입할 때 사용했던 것과 정확히 동일한 안전한 경로를 따라 원점 위치에서 빠져나오도록 보장합니다.
브랜드별 구문 차이:
- Fanuc:
G28 IP_;(중간점 IP를 통한 원점 복귀),G30 P_ IP_;(IP를 통한 2차 원점 복귀, P 선택기 P2-P4),G29 IP_;(기록된 중간점을 통해 대상 IP로 출발) - Siemens (G291 ISO Dialect):
G28 X... Y... Z... C...;(중간점을 통한 1차 원점 복귀),G30 Pn X... Y... Z...;(중간점을 통한 2차 원점 복귀, Pn 선택기 2-4),G27 X... Y... Z...;(원점 확인) - Mitsubishi:
G28 X_ Y_ Z_ a_;(중간점을 통한 1차 원점 복귀),G30 P_ X_ Y_ Z_ a_;(중간점을 통한 2차 원점 복귀, P 선택기 2-4),G29 X_ Y_ Z_ a_;(중간점을 통한 출발)
| 주소 / 파라미터 | 기능적 역할 | 브랜드별 특징 |
|---|---|---|
IP_ / X, Y, Z, a, C | 절대 또는 증분 모드에서 중간점 좌표를 지정합니다. | 공통 |
P_ / Pn | 2차 원점 레지스터(2, 3 또는 4)를 선택합니다. | Fanuc, Siemens, Mitsubishi (생략 시 기본값은 P2) |
,F | 원점 복귀를 위한 급속 이송 속도(feedrate)를 일시적으로 지정합니다. | Mitsubishi 전용 오버라이드(override) |
브랜드별 응용
Fanuc
Fanuc 생태계에서 원점 복귀는 전용 시스템 파라미터를 통해 매우 유연하게 구성할 수 있습니다. 파라미터 16205 비트 0 (SZR)은 작업자가 G28 및 G30 명령 실행 시 중간점을 통과하도록 강제(1)할지 아니면 우회(0)할지 결정할 수 있게 합니다. 파라미터 1015 비트 4 (ZRL)는 중간점에서 원점까지의 경로가 선형 보간을 사용할지 아니면 비선형 보간을 사용할지 규정합니다.
G-code 실행 예제: G28 X100.0 Y50.0;은 X100.0, Y50.0 위치의 중간점을 통과하여 1차 기계 원점(primary zero grid marker)으로 복귀하도록 명령합니다.
- 파라미터 16205 비트 0 (SZR): 1 = 축이 중간점을 통과하도록 강제, 0 = 중간점을 우회하여 직접 이동.
- 파라미터 1015 비트 4 (ZRL): 0 = 비선형 개다리(dog-leg) 급속 위치 결정, 1 = 선형 보간 강제.
- 파라미터 3001 비트 7 (ZPO): 0 = 계산 완료 시 신호 출력, 1 = 물리적인 축 안착(settling)이 완전히 끝날 때까지 신호 지연.
- 파라미터 1005 비트 0 (ZRNx): 0 = 전원 투입 후 원점 복귀 전 동작 명령 시 알람 발생, 1 = 알람 억제.
- 알람 PS0305: 전원 투입 후 사전 G28 또는 G30 시퀀스 없이 G29를 실행할 때 트리거됩니다.
- 알람 PS0090: 축이 기계 원점 스위치에 너무 가까이서 시작하거나 이송 속도가 너무 낮아 원점 복귀가 완료되지 않았습니다.
- 알람 PS0304: 절대 원점(absolute zero)이 설정되기 전에 G28을 명령했습니다.
- 레거시 버전 차이: FS15-MA 제어기는 표준 좌표 입력 대신 위치 결정을 위해 고유한 `P` 주소 구문을 사용합니다.
경고: G28을 호출하기 전에 절대 원점이 완전히 설정되었는지 확인하십시오. 그렇지 않으면 PS0304 알람이 발생하고 자동 운전이 중단됩니다.
Siemens
Siemens는 명령어를 내부 사이클로 라우팅하여 dialect 모드에서 ISO 원점 복귀를 처리합니다. 계통 원점 위치를 정의하는 머신 데이터 파라미터 MD34100은 증분 시스템의 좌표값을 제어합니다. 세팅 데이터 파라미터 SD43340은 CYCLE328 사이클 셸 내에서 G30.1 명령 위치 결정을 위한 좌표를 규정합니다.
G-code 실행 예제: G28 G91 X0 Y0 Z0;은 G291 Dialect 모드에서 1차 기계 좌표축을 기준으로 삼아 급속 기계 원점 복귀 사이클을 트리거합니다.
- 파라미터 MD34100 $MA_REFP_SET_POS[0...3]: 증분 시스템의 4가지 원점 좌표값을 정의합니다.
- 파라미터 SD43340 $SC_EXTERN_REF_POSITION_G30_1: G30.1 원점 명령의 좌표값을 설정합니다.
- 알람 61816 "Axes not on reference point": G27 확인 실행 시 축이 정확한 원점 좌표에 위치하지 않은 것으로 판단되면 발생합니다.
- 알람 61804 "Programmed position exceeds home position": 중간점 좌표가 물리적인 기계 한계를 벗어날 때 발생합니다.
- 알람 61805 "Value programmed as absolute and incremental": 동일한 명령 블록 내에서 절대 및 증분 호출이 충돌할 때 트리거됩니다.
- 모드 차이점: G27, G28 및 G30은 ISO Dialect 모드(G291)가 필수적이며, Native Siemens 모드(G290)는 원점 복귀를 위해 G74를 전용으로 사용합니다.
경고: 원점 복귀를 수행하기 전에 항상 활성화된 축 미러 이미지 및 운동학적 변환을 해제하십시오. 활성 상태로 두면 좌표 미러링이 가공 경로를 반전시켜 공구를 기계 구조적 장벽에 부딪히게 만듭니다.
Mitsubishi
Mitsubishi 제어기는 원점 복귀 블록 내에서 직접 이송 속도(feedrate) 오버라이드를 허용하여 고도로 동적인 제어 기능을 제공합니다. 파라미터 #2025 (G28rap)는 독(dog) 타입 복귀의 기본 급속 속도를 설정합니다. 파라미터 #1279 비트 6 (ext15)은 중간점(intermediate waypoint)에서 정확하게 일시 정지(pause)를 수행할 수 있게 합니다.
G-code 실행 예제: G28 X100.0 Z50.0 ,F1000;은 이송 속도를 1000 mm/min으로 오버라이드하여 지정된 중간점을 통과하는 원점 복귀 시퀀스를 실행합니다.
- 파라미터 #2037 ~ #2040: 기본 기계 원점을 기준으로 원점 1 ~ 4의 좌표를 설정합니다.
- 파라미터 #2025 G28rap: 독(dog) 타입 원점 복귀를 위한 최대 급속 이송 속도를 정의합니다.
- 파라미터 #2026 G28crp: 독(dog) 스위치 감지 후 제로 마커로의 감속 접근 속도를 설정합니다.
- 파라미터 #1279 ext15/비트6: 0 = 표준 복귀, 1 = 중간점에서의 단독 블록 정지(single block stop)를 활성화합니다.
- 알람 M01 0009: 1차 원점 복귀(G28)가 완료되기 전에 G30 복귀를 시도할 때 트리거됩니다.
- 알람 P931: 툴 축 방향으로 공구 길이 보정이 활성화된 상태에서 원점 명령이 실행될 때 발생하는 프로그램 오류입니다.
- 버전별 차이점: 머시닝 센터 (M) 시스템은 G30.6까지 지원하며 Z축을 먼저 복귀시킨 다음 X/Y축을 복귀시키는 반면, 선반 (L) 시스템은 G30.5까지 지원하고 X축만 복귀집니다.
경고: 원점 복귀를 실행하기 전에 G49를 사용하여 공구 길이 보정을 명시적으로 취소해야 합니다. 보정이 활성화되어 있으면 중간점이 이동하고 P931 알람이 트리거됩니다.
브랜드 비교
| 기능 카테고리 | Fanuc | Siemens (G291 ISO Dialect) | Mitsubishi |
|---|---|---|---|
| 명령 세트 지원 | G28, G29, G30 (표준 명령어) | G28, G30 (G29는 정의되지 않으며 대신 G27 사용) | G28, G29, G30 (표준 명령어) |
| 실행 백엔드 | 파라미터 기반 커스텀 구성을 사용하는 하드코딩된 펌웨어 | 편집 가능한 내부 SINUMERIK 사이클 (CYCLE328 및 CYCLE330) | 전용 머신 파라미터를 사용하는 하드코딩된 펌웨어 |
| 중간점 복귀 일시 정지 | — (no source) | — (no source) | 파라미터 #1279 ext15/비트6을 통해 중간점 단독 블록 정지 가능 |
| 접근 속도 오버라이드 | 수동 이송 속도를 우회하고 고정 파라미터 사용 | 수동 이송 속도를 우회하고 급속 이송 속도 사용 | G28/G30 블록 내에 직접 `,F` 이송 속도 좌표 오버라이드 지원 |
기술 분석
Siemens SINUMERIK 시스템은 고수준 사이클 실행 백엔드를 통해 Fanuc 및 Mitsubishi 제어기와 차별화됩니다. Fanuc과 Mitsubishi가 G28, G29 및 G30 명령을 하드코딩된 저수준 펌웨어 명령으로 실행하는 것과 대조적으로, Siemens는 이 명령을 CYCLE328 및 CYCLE330이라는 편집 가능한 사이클 셸을 통해 동적으로 라우팅합니다. 이 소프트웨어 기반 레이어 덕분에 Siemens는 활성 좌표계에 대한 안전성 검증 검사를 자동으로 실행하고, 활성화된 불일치 운동학적 변환을 즉시 해제하며, 물리적인 이동이 서보 모터로 전달되기도 전에 중간점 좌표가 물리적 축 한계를 초과하지 않도록 보장합니다.
장비의 실시간 오퍼레이터 제어 측면에서 Mitsubishi는 중간점 일시 정지 및 오버라이드 이송 속도와 같은 기능을 제공하여 돋보입니다. Mitsubishi 파라미터 #1279 비트 6 조건에서 작업자는 중간점에서 바로 활성 단독 블록 일시 정지(single block stop)를 수행하도록 제어기를 구성할 수 있습니다. 이를 통해 오퍼레이터는 공구가 기계 원점으로 복귀하기 전에 바이스 조(vise jaw)나 지그와의 간섭을 시각적으로 확인하는 수동 안전 마진(safety window)을 확보할 수 있습니다. 또한, Mitsubishi는 G28 또는 G30 블록에서 인라인 `,F` 이송 속도 명령을 유일하게 허용하여 기본 #2025 G28rap 파라미터의 급속 이송을 오버라이드합니다. 이러한 수동 속도 제어는 거대한 갠트리 장비나 노후한 볼 스크루 드라이브의 심한 기계적 진동을 억제하는 데 핵심적인 역할을 합니다.
반면 Fanuc은 원점 복귀 동작을 전역적으로 제어하기 위해 대단히 광범위한 머신 파라미터 세트에 의존합니다. 예를 들어, Fanuc은 사이클 레벨의 수정 대신 파라미터 16205 (SZR)를 사용하여 중간점 이송을 완전히 제거하여 간섭 우려가 없는 넓은 가공 공간에서 직접 기계 원점으로 이동하게 함으로써 사이클 타임을 최소화합니다. 또한, Fanuc은 축의 물리적 안정성을 기하기 위해 파라미터 3001 (ZPO)을 통한 고유한 안착 확인 지연(settling confirmation delay) 기능을 제공하여, 물리적인 축 엔코더가 완전히 안착될 때까지 원점 복귀 완료 신호를 지연시킴으로써 오토 로더나 팔레트 교환기(pallet changer)의 작동 승인이 나기 전에 절대적인 포지셔닝 안전성을 부여합니다.
프로그램 예제
세 가지 제어 시스템 간의 실무적 차이를 명확히 보여주기 위해, 다음 예제는 생산 현장에서 G28, G29 및 G30 명령어가 어떻게 프로그래밍되는지 설명합니다.
Fanuc 원점 복귀 및 출발 시퀀스
O0001 (FANUC HOMING EXAMPLE) ;
G90 G21 G40 G49 (안전 블록: 절대 명령, mm, 보정 취소) ;
G28 X100.0 Y50.0 (중간점을 통과하여 1차 원점으로 복귀) ;
G30 P2 Z0.0 (공구 교환을 위해 Z0.0 중간점을 통해 2차 원점으로 복귀) ;
T02 M06 (공구 교환 실행) ;
G29 X25.0 Y25.0 (기록된 중간점을 경유하여 원점으로부터 대상 위치로 출발) ;
M30 ;
공운전 분석:
- 장비가 안전 블록을 읽어 활성화된 공구 보정을 취소하고 좌표 형식을 밀리미터 단위로 설정합니다.
- `G28 X100.0 Y50.0` 명령 실행 시 X축 및 Y축이 중간점 좌표인 X100.0, Y50.0으로 급속 이송됩니다.
- 중간점에 도달하면 장비는 두 축을 1차 기계 원점으로 급속 이송하여 원점 복귀를 수행합니다.
- 다음으로 `G30 P2 Z0.0`이 호출됩니다. Z축이 중간점 Z0.0 좌표로 후퇴한 다음, 하드코딩된 2차 원점 P2(공구 교환 위치)로 직접 이송됩니다.
- 공구 교환 장치가 2번 공구 교환을 완료하면 `G29 X25.0 Y25.0` 명령어가 해석됩니다. 제어기는 G28 실행 중 휘발성 메모리에 기록된 중간점 좌표(X100.0, Y50.0)를 읽어와 해당 중간점으로 툴을 급속 이송한 다음, 프로그래밍된 최종 대상 좌표인 X25.0, Y25.0 위치로 주행을 진행합니다.
Siemens Dialect 모드 원점 복귀 시퀀스
; SINUMERIK ISO DIALECT 모드 원점 복귀
G291 (ISO Dialect 모드 G291로 전환) ;
G91 X0 Y0 Z0 (중간점을 위한 증분 모드 설정) ;
G28 X0 Y0 Z0 (현재 위치를 중간점으로 삼아 1차 원점으로 복귀) ;
G30 P3 X30. Y50. (증분 중간점을 통해 3차 원점으로 복귀) ;
G27 X100. Z50. (지정된 축에 대한 원점 확인 실행) ;
G290 (Native Siemens 모드로 복귀) ;
M30 ;
공운전 분석:
- 제어기가 G291 블록을 해석하여 Native Sinumerik 모드에서 ISO Dialect 모드로 선회합니다.
- 증분 모드(`G91`)에서 `G28 X0 Y0 Z0`은 현재 툴 좌표를 중간점으로 지정합니다. 따라서 기계적 중간점 이동을 생략하고 1차 기계 원점으로 곧바로 급속 이송합니다.
- 다음 블록인 `G30 P3 X30. Y50.`은 X축과 Y축을 각각 증분값 30mm 및 50mm만큼 이동하여 중간점을 수립한 다음, 머신 데이터 MD34100에 의해 정의된 3차 증분 시스템 원점으로 급속 이송하도록 지시합니다.
- 마지막으로 `G27 X100. Z50.`은 원점 확인을 실행합니다. 해당 축들이 예상 원점 좌표로 이송되며, 제어기 레지스터가 물리적인 원점 그리드와의 편차를 감지하면 Alarm 61816을 트리거하여 실행을 중단시킵니다.
Mitsubishi 급속 오버라이드 원점 복귀 시퀀스
% (MITSUBISHI 원점 복귀 예제)
G90 G21 G40 G49 (표준 취소 안전 블록) ;
G28 X100.0 Z50.0 ,F1000 (이송 속도를 오버라이드한 상태에서 중간점을 경유하여 1차 원점으로 복귀) ;
G30 P2 X50. Y50. Z0. (중간점 좌표를 경유하여 2차 원점으로 복귀) ;
G29 X20. Z20. (기록된 중간점을 경유하여 최종 대상 좌표로 출발 복귀) ;
M30 ;
%
공운전 분석:
- 제어기가 초기 안전 좌표 블록을 파싱하여 활성화된 반경 및 길이 보정을 명시적으로 소거합니다.
- G28 블록은 X축 및 Z축을 중간점 X100.0, Z50.0 위치로 보냅니다. 이때 `,F1000` 파싱은 `#2025 G28rap` 파라미터 제한을 우회하여 접근 속도를 정확히 1000 mm/min으로 통제함으로써 심한 기계적 진동을 예방합니다.
- 만약 파라미터 #1279 비트 6 (ext15)이 활성화되어 있으면, 기계는 중간점에서 단독 블록 정지 상태로 일시 멈춤을 행합니다. 작업자가 툴 여유 공간을 안전하게 확인하고 사이클 스타트를 다시 누릅니다.
- 제어기는 공구를 1차 기계 원점으로 자동 급속 이송합니다.
- 뒤이은 `G30 P2` 명령은 X50.0, Y50.0, Z0.0 중간점을 통해 툴을 2차 원점 레지스터 P2로 이송시킵니다.
- G29 출발 명령은 G28 실행 중 기록된 최신 중간점 좌표(X100.0, Z50.0)를 읽고 해당 중간점으로 급속 복귀한 다음, 공구를 프로그래밍된 최종 목적지 좌표인 X20.0, Z20.0 위치로 구동합니다.
오류 분석
| 브랜드 | 알람 코드 | 트리거 조건 | 작업자 증상 | 근본 원인 및 대책 |
|---|---|---|---|---|
| Fanuc | PS0305 | 전원 투입 후 사전 G28 또는 G30 원점 복귀 실행 없이 즉각적으로 G29 명령어 실행. | 사이클이 즉각 정지되며, 화면에 "INTERMEDIATE POSITION IS NOT ASSIGNED"라는 적색 경고 창이 점멸합니다. | 근본 원인: 휘발성 좌표 메모리에 중간점 데이터가 기록되어 있지 않습니다. 해결 방법: G29를 호출하기 전에 G28 원점 복귀 루틴을 먼저 프로그램하고 작동하여 메모리에 중간점을 기록하십시오. |
| Fanuc | PS0090 | G28 명령 실행 시 축이 물리적으로 기계 원점 리밋 스위치에 너무 가까이 있거나 복귀 이송 속도가 너무 느림. | 제어반 화면에 "REFERENCE RETURN INCOMPLETE"가 출력되며 제어기가 먹통이 됩니다. | 근본 원인: 축이 제로 그리드 마커를 감지하는 데 필요한 물리적 감속 주행 거리가 부족합니다. 해결 방법: 수동으로 축을 원점 스위치에서 멀리 이동시킨 후 충분한 속도로 복귀 명령을 주어 독을 원활히 동작시키십시오. |
| Siemens | Alarm 61816 | G27 원점 확인 검사 결과, 하나 이상의 축이 정확한 물리적 기계 원점 좌표에 안착하지 않은 것으로 판명됨. | 자동 운전이 즉각 중단되고, 화면에 "Axes not on reference point" 경고가 점멸합니다. | 근본 원인: 물리적인 축 좌표의 드리프트(미세 이동) 또는 원점 스위치 오작동이 원인입니다. 해결 방법: 수동으로 축 원점 복귀를 다시 수행하거나 파라미터 MD34100의 좌표 설정을 정교하게 확인 조율하십시오. |
| Siemens | Alarm 61804 | 프로그래밍된 중간점(waypoint) 좌표값이 물리적인 기계 행정 한계를 초과함. | 사이클이 즉각 중단되며 제어반 모니터에 "Programmed position exceeds home position"이 깜빡입니다. | 근본 원인: 프로그래밍된 중간 위치에 물리적으로 도달할 수 없습니다. 해결 방법: 안전한 동작 행정 범위 내에 들도록 프로그램 블록 상의 좌표 지시 값을 합리적으로 수정하십시오. |
| Mitsubishi | P430 | 전원 투입 후 사전 G28 원점 복귀 실행 없이 G29 명령어 실행. | 장비가 가공 피드를 해제하고 동작을 차단하며 진단 화면에 "Program error"를 표출합니다. | 근본 원인: 휘발성 중간점 레지스터가 비어 있습니다. 해결 방법: G29 좌표 출발 명령을 내리기 전에 반드시 자동 G28 원점 복귀 블록을 먼저 호출 실행하여 셋업해야 합니다. |
| Mitsubishi | P931 | 공구 축 방향 길이 보정이 활성화된 채로 G27 ~ G30 명령어 실행. | 컨트롤러 상태 판넬에 "Program error" 결함이 들어오며 동작이 완전히 잠깁니다. | 근본 원인: 길이 보정이 들어간 원점 복귀는 중간점 연산 과정에 오류를 야기하므로 하드웨어 수준에서 차단됩니다. 해결 방법: 원점 호출 전에 프로그램상에 반드시 G49 코드를 작성하여 길이 오프셋을 해제하십시오. |
실무 응용 가이드
Mitsubishi 제어기의 #1279 ext15/bit6 파라미터를 사전 확인하면 이 명령어에서 가장 빈번한 비계획 정지를 없앨 수 있다. 이 파라미터가 활성화되면 공구가 기계 원점으로 복귀하는 도중 중간점(intermediate point)에서 단독 블록 일시 정지(single block stop) 상태로 멈추므로, 셋업 작업자가 바이스 조(vise jaw)나 클램프(clamp)와의 간섭을 육안으로 확인하고 수동 안전 마진을 확보할 수 있어 충돌 사고와 비계획 정지를 완벽히 소멸시킵니다. 반면, 공구 길이 보정(G43/G44)이 활성 상태인 채로 원점 복귀 명령을 내리면 보정값이 중간점 계산을 뒤흔들어 충돌 리스크를 극대화하므로, 반드시 G49 명령어로 보정을 취소해야 합니다. Mitsubishi의 P931 알람이나 Siemens의 Alarm 61804 등을 무시하고 가공을 강행하면 결국 툴이 파손되고 가공 불량률이 치솟아 라인 가동이 중단됩니다. 또한 Fanuc의 1015 비트 4 (ZRL) 파라미터를 검증하지 않고 양산에 들어가면, 팔레트 교환 후 두 번째 사이클부터 치수 편차가 누적되어 최종 검사에서 불량이 발견된다. ZRL 파라미터가 0일 때 발생하는 비선형 '개다리(dog-leg)' 급속 이송 궤적이 매 사이클마다 다른 간섭을 유발하기 때문입니다. 따라서 양산 전 1015 비트 4를 1로 설정하여 선형 보간 이동을 강제하고, 3001 비트 7 (ZPO) 파라미터를 1로 설정해 물리적인 안착 신호가 완료된 후 팔레트 교환기(pallet changer)가 작동하도록 연동 제어해야 치수 편차 누적과 설비 파손으로 인한 비가동 시간(비가동 시간)을 차단할 수 있습니다.
관련 명령 구조
- G27 (Reference Position Check) - Fanuc 및 Mitsubishi(및 Siemens G291 모드)에서 기계 축이 원점 좌표에 올바르게 안착했는지 검증하며, 편차를 감지하면 알람을 트리거합니다.
- G30.1 (Floating Reference Position Return) - 물리적으로 고정된 제로 스위치를 통과하는 대신, Siemens의 SD43340과 같은 파라미터를 통해 동적으로 연산되는 가상의 부동 원점으로 이송을 실행합니다.
- G53 (Machine Coordinate System Selection) - 휘발성 메모리에 별도의 중간점을 기록하지 않고, 기본 기계 원점을 기준으로 한 절대 기계 좌표계 위치로 직접 툴을 이송합니다.
- G74 (Native Reference Point Approach) - Native Siemens (G290) 환경에서 머신 축 원점 복귀를 지시하는 고유 코드로, 레거시 모드의 G28과 동일한 기능을 수행합니다.
- G75 (Native Fixed Point Approach) - Native Siemens 환경에서 스핀들을 공구 교환 구역과 같은 사전 정의된 고정 위치로 직접 후퇴시킬 때 활용되며, G30을 직접 대체합니다.
- G00 (Rapid Traverse) - 원점 복귀 실행 전에 초기 좌표점 위치로 축을 급속 이송할 때 사용됩니다.
- G17, G18, G19 (Plane Selection) - 원점 접근 과정에서 원호 보간 및 좌표 배율을 제어할 활성 가공 평면을 설정합니다.
- G20, G21 (Unit Selection) - 인치와 메트릭계 사이에서 기본 단위 축적을 제어하며, 중간점 정의 좌표 계산 방식에 영향을 미칩니다.
결론
자동화 라인의 반복 가공 공정에서 설비 비가동 시간(비가동 시간)을 최소화하고 불량률을 안정적으로 통제하려면, 모든 원점 복귀 가공 프로그램의 맨 앞에 좌표 회전, 미러 이미지, 공구 길이 및 경 보정을 명시적으로 취소하는 표준 안전 템플릿을 고정 도입해야 합니다. 또한, 양산 전 장비의 제어반 파라미터를 면밀히 검증하여 중간점 복귀 시 예기치 못한 비선형 개다리 주행을 차단하고, 셋업 초기 기동 단계에서 휘발성 메모리의 중간점 수립 프로세스를 완벽하게 숙지시킴으로써 가공 치수 편차 누적과 고가의 터릿 충돌 리스크를 완전 봉쇄해야 할 것입니다.
자주 묻는 질문 (FAQ)
자동 가공 라인 파워 온(Power On) 직후 G29 명령 실행 시 PS0305 또는 P430 알람이 발생하는 원인과 예방 조치는 무엇인가요?
이 오류는 제어기의 휘발성 좌표 메모리가 비어 있어 G29가 복귀할 중간점(intermediate waypoint)을 찾지 못할 때 발생하며, 비계획 정지(비계획 정지)의 대표적인 주범입니다. 자동화 생산 라인의 불시 정지를 방지하려면, 전원을 켠 직후 최초 1회는 G28 명령을 포함한 기계 원점 복귀 루틴을 강제 실행하여 중간점 좌표를 휘발성 레지스터에 기록하도록 PLC 스타트업 래더(ladder) 회로를 설계하고 가동 전 작업자 매뉴얼에 명시하십시오.
자동화 라인의 팔레트 교환 후 반복 가공 과정에서 공구가 워크 홀딩 고정 장치와 간섭하는 비선형 이동(Dog-leg)을 차단하는 파라미터는 무엇인가요?
기본적으로 많은 CNC 제어기는 G28 복귀 시 중간점에서 기계 원점까지 모든 축을 동시에 최대 속도로 이동시켜 대각선 형태의 비선형(dog-leg) 궤적을 그리며, 이는 피스처 클램프와의 충돌 리스크를 높입니다. 이를 선형 이동으로 제어하여 예측 가능한 안전한 복귀 경로를 확보하려면, Fanuc 시스템에서는 파라미터 1015 비트 4(ZRL) 값을 1로 변경하고, 가공 프로그램을 실행하기 전에 장비의 3D 그래픽 시뮬레이션(dry run) 화면을 통해 실제 이동 경로를 육안으로 정밀 검증하십시오.
공구 길이 보정(G43/G44)이 활성화된 상태에서 G28/G30 원점 복귀 시 Mitsubishi P931 알람이 발생하는 원인과 해결 방법은 무엇인가요?
Mitsubishi 제어기는 공구 길이 보정이 활성화된 채로 기계 원점 복귀를 지시하는 것을 좌표 오계산으로 인한 충돌 리스크 때문에 시스템 수준에서 차단하여 P931 프로그램 오류를 띄웁니다. 이 알람으로 인한 비가동 시간(비가동 시간)을 방지하려면, G28 또는 G30 명령어 블록을 호출하기 바로 직전에 반드시 G49(공구 길이 보정 취소) 코드를 프로그램상에 작성하고, 현장 툴 교환 서브루틴에 'G49 선언 필수' 표준 프로그래밍 가이드를 표준 운영 절차(SOP)에 도입하십시오.
아직 해결되지 않았나요?
이 주제에 대해 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 오류를 방지하여 자동화 라인의 비가동 시간을 최소화하는 실무 프로그래밍 방법 안내.