G28 자동 원점 복귀: CNC 프로그래밍 가이드 및 안전 설정
화낙(Fanuc), 지멘스(Siemens), 미쓰비시(Mitsubishi) CNC에서 G28 자동 원점 복귀 명령어를 안전하게 사용하는 방법과 파라미터 설정을 설명합니다.
서론
자동화 가공 라인에서 대량 생산이 진행되는 동안, 활성 좌표계 상태를 점검하지 않은 채 공구 교환이나 팔레트 교환 주기에 진입하는 것은 매우 치명적인 생산 정지 위험을 내포하고 있습니다. 절대 지령 모드(G90)가 활성화된 상태에서 단순히 공구를 홈 위치로 돌려보내기 위해 G90 G28 X0 Y0 Z0 명령을 실행하면, CNC 제어기는 기계의 홈 위치가 아닌 현재 공작물 좌표계의 원점(G54 등)을 중간 경유지로 해석하게 됩니다. 이로 인해 스핀들 헤드나 터렛이 최대 급송 속도로 공작물이 고정된 테이블 바이스 죠(vise jaw)나 회전하는 척(chuck)으로 곧바로 하강하여 무참히 충돌하게 됩니다. 이 고속 충돌은 고가의 절삭 공구를 즉각 파괴하고 터렛 회전축을 휘어지게 하며, 시스템 과부하 알람과 함께 장비를 강제 정지시켜 막대한 비계획 정지 시간(downtime)과 부품 불량률(defect rate) 폭증이라는 처참한 손실을 초래합니다. 두 번째 사이클부터 편차가 누적되는 가공 오류와 비계획 정지를 근본적으로 차단하기 위해서는 G28 자동 원점 복귀 명령어가 절대 모드와 증분 모드에서 어떻게 해석되는지 정밀하게 분석하고 제어기 파라미터를 철저히 검증해야 합니다.
기술 요약
| 기술 속성 | 사양 |
|---|---|
| 명령어 코드 | G28 |
| 모달 그룹 | Group 00 / 비모달 (One-shot) |
| 적용 브랜드 | Fanuc, Siemens, Mitsubishi |
| 주요 파라미터 | Fanuc: Parameter No. 3401 Bit 6 (GSB) & Bit 7 (GSC), Parameter No. 3402 Bit 0 (G01); Siemens: MD 34100 $_MA_REFP_SET_POS[n]; Mitsubishi: Parameter #2037 G53ofs, Parameter #1091 Ignore middle point |
| 주요 제약 사항 | G28 블록에는 최소 하나 이상의 이송 축 좌표가 프로그래밍되어야 합니다. 실행 전에 모든 활성 공구 길이 오프셋 및 커터/노즈 반경 보정(G40, G49, Txx00)이 취소되어야 합니다. |
핵심 요약
- 증분 안전 모드: 모달을
G91(밀링/선반 B/C)로 전환하거나 증분 좌표 주소인U0 W0(선반 A)를 사용하여 경유지 이동을 우회하고 기계 원점으로 직접 복귀하십시오. - 오프셋 보정 취소: 허위 비도착 알람을 방지하기 위해 G28을 실행하기 전에 항상 G40 및 공구 길이/오프셋 취소(Txx00 또는 G49)를 프로그래밍하십시오.
- 구문 주소 최소 요건: G28 블록에는 최소 하나 이상의 이송 축 좌표(X, Y, Z, U, W 등)를 프로그래밍해야 하며, 빈 명령 블록은 구문 오류를 발생시킵니다.
- 좌표 기능 비활성화: 좌표 시프트 및 검증 실패를 방지하기 위해 활성화된 모든 스케일링, 좌표계 회전 및 미러링 기능을 해제하십시오.
- 경유지에서의 모드 전환 방지: 싱글 블록 상태의 중간 경유지에서 장비가 일시 정지된 동안 CNC 모드(MDI 또는 수동)를 전환하거나 PLC 인터럽트를 트리거하지 마십시오.
- 회전축 제한 사항: 동조 오류 또는 미쓰비시의
Program Error (P10)를 방지하기 위해 복수의 회전축 복귀는 동시에 처리하지 말고 개별적으로 프로그래밍하십시오.
기본 개념
G28 자동 기준점 복귀 지령을 가공 프로그램에 통합하면 공구 인덱싱, 팔레트 교환 또는 프로그램 종료 전에 반복 가능한 물리적 기계 원점을 보장하는 안전 루틴이 구축됩니다. 공구 터렛과 스핀들 어셈블리는 충돌 위험이 없는 안전한 홈 위치로 후퇴해야 합니다. G28은 이를 2단계 모션으로 처리합니다. 먼저 이송 축이 지정된 중간 경유지로 이동한 다음, 그 경유지에서 기계 원점 좌표로 직접 이동합니다. 이를 통해 공구 교환이 공작물 및 고정구에서 충분히 떨어진 위치에서 이루어지도록 함으로써 공구 간섭을 방지합니다.
이송 축이 기계 원점 기준점에 안전하게 도달했는지 확인하기 위해 프로그래머는 G27 기준점 복귀 검사를 구현할 수 있습니다. G28이 기준점으로의 물리적 복귀를 수행하는 반면, G27은 가공 사이클 중에 위치 오차나 좌표 시프트가 발생하지 않았는지 확인하는 진단 검증 단계를 제공합니다. 이러한 명령어를 조합하여 좌표계의 무결성을 확인할 수 있으며, 이는 축이 기계적 오버트래블을 방지하기 위해 G00 급속 이송 위치결정 중에 최대 속도로 이동할 때 특히 유용합니다.
또한 G22 저장된 행정 한계 검사 활성화 지령과 같은 안전 영역 점검 기능을 기준점 복귀 사이클과 결합하여 소프트웨어 기반의 이송 경계를 수립할 수 있습니다. 이러한 소프트웨어 한계는 기계 슬라이드가 캐빈 베드의 물리적 여유 경계를 침범하여 부딪히는 것을 예방합니다. G28 실행 중에 제어기는 보정을 일시적으로 취소하므로, 활성 오프셋에 따라 실제 공구 끝단 경로가 변위될 수 있습니다. 경유지 전환 과정에서 좌표가 어떻게 변환되는지 이해하는 것은 공구 경로를 작업 영역의 안전한 한계 내로 유지하는 데 필수적입니다.
명령 구조
G28 명령어는 기준점 복귀를 수행하기 전에 프로그래밍된 좌표로 축을 급송 위치결정하는 그룹 00 비모달 (단발성) 지령입니다. 지정된 이송 축은 블록에 프로그래밍된 좌표를 향해 급속 이송 속도로 이동합니다. 축이 목표 위치에 도달하면 제어기의 위치 루프 비교기가 기계의 물리적 피드백을 시스템 변수에 저장된 기준 좌표와 대조하여 평가합니다. 원점 복귀는 블록에 지정된 이송 축에 대해서만 수행되며, 누락된 축은 점검되지 않은 상태로 유지됩니다.
다양한 장비 구성에 대처하기 위해 G28은 서로 다른 구문 구조를 채택하고 있습니다. G-코드 시스템 A로 동작하는 선반 시스템은 복귀 블록에 직접 절대 좌표(X, Z) 또는 증분 좌표(U, W)를 사용합니다. 밀링 시스템 및 머시닝 센터는 절대 좌표 주소(X, Y, Z)를 지정합니다. Mitsubishi 시스템에서는 복귀할 기준 위치를 지정하기 위해 P 파라미터를 추가할 수 있습니다. Siemens 제어기에서는 G28을 실행하기 전에 G291을 지령하여 ISO Dialect 모드로 전환해야 합니다.
선반/터닝 시스템 구문:
G28 X... Z... ; (절대 좌표)
G28 U... W... ; (증분 좌표)
밀링/머시닝 시스템 구문:
G90 G28 X... Y... Z... ; (절대 좌표)
G91 G28 X... Y... Z... ; (증분 좌표)
파라미터 사양:
| 주소 / 파라미터 | 설명 | 적용 브랜드 |
|---|---|---|
| X, Y, Z | 절대 위치결정 모드에서 중간 경유지의 좌표값. | Fanuc, Siemens, Mitsubishi |
| U, W | 대상 축 검증을 위한 증분 좌표값 (System A). | Fanuc, Mitsubishi |
브랜드별 응용
Fanuc
Fanuc 제어기는 제어 루프 레벨에서 좌표를 직접 비교하는 내장 그룹 00 준비 명령어로 G28을 실행합니다. Parameter No. 3401 Bit 7 및 Bit 6 설정은 좌표가 G-코드 시스템 A, B, C 중 어떤 형식으로 해석되는지 결정합니다. 좌표 일치 시 조작반 of 상태 LED가 점등됩니다.
프로그래머는 동일 블록 내에서 G40 및 Txx00을 사용하여 보정을 해제해야 합니다. 예를 들어, G28 G40 U0 W0 T0300 M05 ;는 공구 노즈 반경 보정 및 공구 오프셋을 해제하면서 X축과 Z축의 증분 원점 복귀를 수행하고 주축을 정지시킵니다.
| 시스템 분류 | 식별자 / 명령어 | 적용 세부사항 |
|---|---|---|
| Parameters | Parameter No. 3401 Bit 7 (GSC) & Bit 6 (GSB) | 좌표 해석을 위해 활성화된 G-코드 시스템(A, B 또는 C)을 선택합니다. |
| Parameters | Parameter No. 3402 Bit 6 (CLR) | 리셋 시 그룹 00 모달 G-코드가 클리어 상태로 돌아가는지 여부를 결정합니다. |
| Parameters | Parameter No. 3402 Bit 0 (G01) | 리셋 시 기본 운동 상태(급송 G00 vs 선형 G01)를 설정합니다. |
| Parameters | Parameter No. 5040 Bit 3 (TCT) | 활성 축에서 공구 길이 보정 (+/-) G43/G44의 허용 여부를 제어합니다. |
| Alarms | Alarm PS0092 | 축이 G28 이동을 완료했으나 물리적 기계 원점과 정확히 일치하지 않는 경우 발생합니다 (LED 미점등). |
| Alarms | Alarm PS0187 | 스케일링(G51), 미러 이미지(G51.1) 또는 좌표 회전(G68) 모드가 활성화된 중에 G28을 실행하면 트리거됩니다. |
| Alarms | Alarm PS0325 | G71 또는 G72와 같은 사이클의 다듬질 형상 정의 블록 내부에서 G28이 지정되면 발생합니다. |
| Versions | Lathe G-code systems | 선반 시스템은 G-코드 시스템 A, B, C 중 하나를 선택하며, 시스템 A는 absolute/incremental 표현을 위해 개별 주소 문자(X/Z vs U/W)를 사용합니다. |
| Versions | Legacy Series 15 | 보정 데이터 및 고정 사이클을 다르게 처리하며, 표준 멀티 블록 반복 파라미터를 비활성화합니다. |
경고: 프로그래머는 원점 복귀를 지령하기 전에 G69를 사용하여 좌표 회전을 반드시 해제해야 합니다. 좌표 회전(G68)이 활성화된 상태에서 G28을 실행하면 Alarm PS0187이 발생합니다.
Siemens
Siemens 제어기는 ISO Dialect 래퍼(wrapper)를 사용하여 G28을 처리합니다. 내부적으로 SINUMERIK은 NCK 커널 레벨의 내장 명령을 직접 실행하지 않고, 대신 cycle328.spf라는 백그라운드 매크로 프로그램을 구동합니다. 이 매크로는 MD 34100을 사용하여 기준점의 물리적 좌표 위치를 설정합니다.
이 기능을 사용하려면 제어기를 G291로 ISO Dialect 모드로 전환해야 합니다. 예를 들어, G91 G28 X0 Y0 Z0 ;를 프로그래밍하면 cycle328.spf 매크로가 실행되면서 X, Y, Z축의 기준 좌표로 복귀를 시도합니다.
| 시스템 분류 | 식별자 / 명령어 | 적용 세부사항 |
|---|---|---|
| Parameters | MD 34100 $_MA_REFP_SET_POS | 1~4번째 기준점(인덱스 0 ~ 3)의 기준 좌표값을 정의합니다. |
| Parameters | MD 18800 $MN_MM_EXTERN_LANGUAGE | 외부 ISO Dialect 언어 해석기를 활성화하는 머신 데이터입니다. |
| Parameters | MD 20154 $MC_EXTERN_GCODE_RESET_VALUES[n] | 외부 언어 모드 리셋 시 어떤 G-코드(예: G90/G91)를 기본값으로 할지 지정하는 채널별 데이터입니다. |
| Alarms | Alarm 61800 | 외부 CNC 시스템 설정 미비 알람으로, MD 18800이 비활성화되었을 때 트리거됩니다. |
| Alarms | Alarm 61004 | 백그라운드 매크로 cycle328.spf 내부의 기하 축 구성이 일치하지 않을 때 발생합니다. |
| Alarms | Alarm 14800 | G28 복귀 이동 속도 또는 기본 피드레이트가 0이거나 구성되지 않은 경우 발생합니다. |
| Versions | SINUMERIK 802D sl vs. 840D sl | 802D sl은 채널 G-코드 리셋 파라미터가 쓰기 방지된 반면, 840D sl은 자유로운 수정을 허용합니다. |
경고: G28을 지령하기 전에 활성화된 좌표 변환을 TRAFOOF를 통해 완전히 취소해야 합니다. 해제되지 않은 기하학적 좌표 변환이 활성 상태이면 cycle328.spf 매크로가 정상 동작을 실패하고 Alarm 61004를 발생시킵니다.
Mitsubishi
Mitsubishi CNC 시스템은 PLC와 직접 동조하는 그룹 00 비모달 준비 기능으로 G28을 실행합니다. 제어기는 기계 원점으로부터의 오프셋 좌표 값을 축별 파라미터 #2037에 저장합니다. 좌표 매칭이 완료되면 컨트롤러는 원점 도달 신호를 출력하여 자동화 장비 인터페이스와 연계합니다.
프로그래머는 P 주소를 사용하여 4개의 참조 위치 중 어느 곳으로 복귀할지 지정할 수 있습니다. 예를 들어, G28 U0 W0 T0300 ;는 공구 보정을 해제하면서 첫 번째 기본 기준 좌표 복귀를 점검합니다.
| 시스템 분류 | 식별자 / 명령어 | 적용 세부사항 |
|---|---|---|
| Parameters | Parameter #2037 G53ofs | 1~4번째 기준점의 실제 기계 좌표계 원점으로부터의 오프셋 거리 정보입니다. |
| Parameters | Parameter #1443 G28ol | 값을 1로 설정하여 G28 급속 이송 블록 중첩(Overlap) 기능을 활성화합니다. |
| Parameters | Parameter #2633 G28olinps | 급속 이송 블록 중첩을 적용할 때의 인포지션(In-position) 판정 폭을 설정합니다. |
| Parameters | Parameter #1091 Ignore middle point | 설정 값을 1로 지정하여 중간 경유지를 건너뛰고 원점으로 직행하도록 지령합니다. |
| Alarms | Program Error (P430) | 전원 투입 후 G28 또는 G30 원점 복귀로 기준 경유지를 메모리에 기록하지 않고 G29(시작 위치 복귀)를 명령할 때 발생합니다. |
| Alarms | Program Error (P931) | 공구 축방향 길이 보정(G43.1)이 유효한 상태에서 G28이 실행될 때 트리거됩니다. |
| Alarms | Operation Error (M01 0013) | 중간 경유지 일시 정지(Single-block stop) 중에 제어 모드를 MDI 또는 원점 복귀 모드로 무단 전환 시 발생합니다. |
| Alarms | Operation Error (M01 0129) | 중간 경유지 정지 상태에서 PLC 인터럽트 조작이 시작되면 발생하는 작동 에러입니다. |
| Alarms | Program Error (P10) | M80/M830 시스템에서 둘 이상의 회전축에 동시 G28 복귀를 실행할 때 트리거됩니다. |
| Versions | M80 / M830 Series | 선형 축이 오프셋 데이터를 수용하기 위해 위치 동조 시프트를 강제하므로, 다중 회전축 홈 복귀 시 P10이 발생합니다. |
| Versions | C80 Series | ZR 디바이스 변수(#50000 ~ #52749)와 통합되어 동작하며, G26 코드가 스핀들 플럭츄에이션이 아닌 자동 가공 복귀 회복 명령어로 매핑됩니다. |
경고: Mitsubishi C80 시리즈의 경우 G26 명령어 충돌이 존재합니다. G26 지령 시 주축 변동 검출 동작 대신 백그라운드 가공 인터럽트 복귀 공구 회복 동작을 트리거하므로 주의해야 합니다.
브랜드 비교
| 기능 / 속성 | Fanuc | Siemens | Mitsubishi |
|---|---|---|---|
| G-코드 실행 방식 | NCK 모션 커널 내에서 내장 그룹 00 비모달 준비 지령으로 해석 및 실행됩니다. | 자체 실행을 건너뛰고, ISO Dialect 모드에서 cycle328.spf 백그라운드 매크로를 호출해 연산합니다. | NCK 하드웨어 레벨에서 직접 그룹 00 비모달 명령으로 실행됩니다. |
| 좌표계 변환 처리 | 사용자가 사전에 활성 공구 보정 및 프레임을 수동으로 해제(G40, G49)해야 충돌을 방지할 수 있습니다. | 백그라운드 매크로 내에서 축 복귀가 동작하기 전 TRAFOOF를 사용하여 자동으로 변환을 해제합니다. | 좌표계 오프셋을 즉각 연산하며, 로봇 및 로더 연동용 기계 원점 신호(zero-arrival)를 PLC에 전송합니다. |
| 기준 위치 및 가공 사이클 | Parameter No. 3402 규칙에 귀속되어 비교적 고정적이고 일관된 거동을 가집니다. | 머신 데이터 MD 34100 $_MA_REFP_SET_POS에 4개까지 복귀 좌표 위치를 설정할 수 있습니다. | 최대 6개의 공구 교환 좌표(G30.1~G30.6) 제공 및 복합 중첩 파라미터 #1443 G28ol을 지원합니다. |
| G26 명령어 충돌 | 주축 속도 변동 검출(Spindle Speed Fluctuation Detection) 기능을 활성화합니다. | — (no source) | 가공 인터럽트 복귀 공구 회복(Machining Interruption tool retraction recovery) 동작을 트리거합니다. |
기술 분석
Fanuc, Siemens, Mitsubishi 제어기의 내부 아키텍처적 차이는 G28 홈 복귀 사이클이 좌표계 레지스터 및 물리적인 축 운동 제어 루프와 상호작용하는 방식을 정의합니다. Fanuc 및 Mitsubishi 제어기의 경우, G28은 모션 제어 커널 수준에서 내장 명령어로 실행됩니다. 즉, 모션 제어 루프와 이송축 위치결정 보간기(interpolator)가 중간 경유지 및 원점 좌표를 하위 레벨에서 직접 연산하며, 동작 완료와 동시에 조작반 LED 점등(Fanuc) 또는 PLC 원점 도달 레지스터 상태 갱신(Mitsubishi) 같은 물리적인 하드웨어 출력을 즉시 발생시킵니다. 이와 대조적으로, Siemens SINUMERIK 제어기는 G28을 NCK 커널 내부에서 직접 해석하지 않습니다. 대신 사용자가 G291을 입력하여 ISO Dialect 모드를 먼저 호출해야 하며, 제어기는 이 명령을 받아 cycle328.spf라는 백그라운드 매크로 프로그램을 통해 G28을 우회 처리합니다. 이 매크로 기반 제어는 실제 축 이동이 실행되기 전 자체 명령어인 TRAFOOF를 호출하여 활성화된 키네마틱 변환 프레임을 해제하고 소프트웨어 오프셋에 근거해 좌표계를 평가한 후 최종 복귀 운동을 제어합니다.
또 다른 뚜렷한 아키텍처적 차이는 다중 원점 점검 관리와 급송 운동 동역학(dynamics)의 제어에 있습니다. Mitsubishi 시스템은 매우 확장성이 높은 원점 복귀 구조를 채택하여 최대 6개의 고유 공구 교환 좌표(G30.1~G30.6)를 제공하고 이송 축 블록 오버랩 파라미터(#1443 G28ol 및 #2633 G28olinps) 조정을 통해 비가공 가감속 시간을 획기적으로 감축할 수 있게 돕습니다. 반면 Fanuc은 비교적 단순한 그룹 00 규칙을 적용하며 Parameter No. 3402에 따라 리셋 시의 모달 초기 정보가 규정되므로 활성 보정 코드를 사용자가 수동으로 엄격히 초기화해주어야만 안전성이 확인됩니다. 또한 이러한 제조사별 명령어 대칭 구조의 불일치는 심각한 기계적 파손 사고를 일으킬 수 있습니다. 대표적인 사례가 G26 지령입니다. Fanuc에서 이 명령은 주축 속도 변동 검출 장치 유효화에 할당되어 있지만, Mitsubishi 제어기에서는 가공 정지 시의 회복 회퇴(tapping retract) 거동에 매핑되어 있습니다. 만약 Fanuc용으로 가공된 프로그램을 Mitsubishi 장비에서 직접 변환 없이 수행하게 되면, 갑작스러운 축 후퇴 운동이 유발되어 머시닝 센터의 공구 하우징이 unmachined 공작물 소재의 가로장(stock)을 관통하며 대파 사고를 일으키고 고가의 서보 모터와 장비를 회복 불가능하게 파손시킵니다.
Program Examples
Fanuc 예제
G91 G28 X0 Y0 Z0 ; 증분 모드로 중간 이송 거리가 0인 원점 복귀 실행
G28 Z0.1 M09 ; 절대 모드로 중간 경유지 Z0.1을 거쳐 Z축 원점 복귀 및 절삭유 OFF
G28 U0 W0 T0300 M05 ; 선반 증분 원점 복귀로 X/Z축 복귀, 공구 보정 해제 및 주축 정지
M30 ; 프로그램 종료
공운전 (dry run) 검증
주축을 정지시키고 공작물을 워크 홀딩에서 제거한 상태로 초도품 공운전을 수행하십시오. 가동 전, 기계 좌표계를 온전히 설정하기 위해 먼저 모든 축에 대해 수동 원점 복귀를 선행해 주어야 합니다. 조작반에서 공운전 모드를 활성화한 뒤 프로그램을 가동하십시오. 각 슬라이드는 현재 위치에서 기계의 원점 좌표로 중간 추가 스트로크 이동 없이 직선 방향으로 원점 복귀를 마쳐야 합니다. 복귀 완료 시 제어반의 기계 원점 램프(LED)가 켜지는지 전수 진단하십시오. 기계가 이동 도중 돌발적으로 멈추거나 램프가 켜지지 않으면 활성 보정 해제 여부와 Alarm PS0092 상태를 즉시 점검하십시오.
Siemens 예제
G291 ; SINUMERIK 제어기를 ISO Dialect 모드로 전환
G28 Z150.0 M09 ; Z축을 중간 경유지 Z150.0 좌표로 이송 후 원점 복귀 및 절삭유 OFF
G91 G28 X0 Y0 Z0 ; 중간 거리를 0으로 하여 X, Y, Z축의 증분 원점 복귀 실행
G290 ; 지멘스 기본 모드로 자동 복귀
M30 ; 프로그램 종료
공운전 검증
먼저 ISO Dialect 구문 해석을 유효화하기 위해 MD 18800 파라미터가 정상적으로 활성화되었는지 대조하십시오. 가공물의 배치 구조를 고려하여 피드레이트 오버라이드를 낮춘 상태에서 공운전을 수행하십시오. 제어기는 G28 지령을 받아 cycle328.spf 백그라운드 매크로를 분기 실행합니다. 가공 경유지에 도달한 기계는 MD 34100에 기재된 기계 원점 위치로의 축 복귀를 완수하게 됩니다. 만약 이송축 실제 물리 위치와 파라미터 좌표 셋업이 불일치하는 경우 매크로 내에서 운전이 차단되며, 알람창에 Alarm 61800 또는 Alarm 61004를 출력하고 가동 사이클 기동을 중단합니다.
Mitsubishi 예제
G91 G28 X0 Y0 Z0 ; 경유 거리가 0인 증분 홈 복귀 운동 지령
G28 Z150.0 M09 ; 절대 복귀로 Z축을 경유 좌표 Z150.0으로 이송한 후 원점 복귀 및 절삭유 OFF
G28 U0 W0 T0300 ; 선반용 증분 원점 복귀 및 활성 공구 마모/길이 보정 해제
M30 ; 프로그램 종료
공운전 검증
우선 축별 파라미터 #2037 G53ofs 데이터 레지스터에 실제 가공 원점 오프셋이 정상 기입되었는지 점검해야 합니다. 공운전 이송속도로 프로그램을 가동하십시오. 기계 축들은 각 목표 중간점에 도달한 뒤 기계 원점으로 각각의 축 복귀 모션을 완수합니다. 화면 표시 창을 모니터링하여 축들이 정상 복귀되었는지 추적 확인하십시오. 동작 완료 상태가 만족되면 제어기에서 PLC로 zero-arrival 신호를 온전히 전송하는지 최종 확인하십시오.
오류 분석
| 브랜드 | 알람 코드 | 트리거 조건 | 작업자 감지 증상 | 원인 분석 / 해결 방법 |
|---|---|---|---|---|
| Fanuc | Alarm PS0092 | 축이 G28 이동을 성공적으로 마쳤으나 기계 좌표 원점과 일치하지 않는 경우 발생합니다. | 원점 복귀 상태 LED가 점등되지 않으며 자동 운전 기동(Cycle Start)이 중단됩니다. | G28을 입력하기 전 동일 또는 이전 블록에서 모든 활성 공구 보정(G40, G49, Txx00)을 해제하십시오. |
| Fanuc | Alarm PS0187 | 좌표 회전(G68), 스케일링(G51), 미러 이미지(G51.1) 중 하나가 활성화된 중에 G28을 지령한 경우. | 동작이 중지되고 제어반 디스플레이 화면에 Alarm PS0187 경고가 출력됩니다. | G28 명령 전 이전 블록에서 좌표 회전 취소(G69), 스케일링 취소(G50) 등을 선행 프로그래밍하십시오. |
| Fanuc | Alarm PS0325 | 선반 복합 가공 사이클 G71, G72의 P/Q 다듬질 형상 정의 블록 내부에 G28을 입력한 경우. | 프로그램이 중지되며 화면에 Alarm PS0325 오류를 띄웁니다. | 다듬질 형상을 정의하는 시퀀스 블록 범위 내부에서 원점 복귀 명령어를 제거하십시오. |
| Siemens | Alarm 61800 | 외부 ISO Dialect 번호 해석기용 머신 파라미터가 미설정인 채로 G28을 가동했을 때. | 프로그램이 작동을 중단하고 사이클이 Alarm 61800 상태로 일시 정지됩니다. | 머신 파라미터 MD 18800 설정값 또는 옵션 비트 19800 값을 1로 변경하여 활성화하십시오. |
| Siemens | Alarm 61004 | 백그라운드 래퍼 매크로인 cycle328.spf 구동 중 채널의 기하 축 구성 설정이 잘못된 경우. | 매크로 구문 실행 중 기계 동작이 차단되고 Alarm 61004 경고가 발생합니다. | 이송 채널 기하 축 정의 값을 검증하고 그것이 cycle328.spf 내부 변수와 매칭되는지 확인하십시오. |
| Siemens | Alarm 14800 | G28 명령이 실행되었으나 채널 내부의 운동 속도(피드레이트)가 0이거나 초기화되지 않은 경우. | 자동 가동 표시기가 꺼지며 Alarm 14800 코드가 검출됩니다. | 원점 지령 블록 가동 전, 유효한 이송 속도를 미리 프로그래밍하여 지정해 주십시오. |
| Mitsubishi | Program Error (P430) | 전원을 켠 직후 G28 또는 G30 복귀를 1회 이상 수행해 경유지를 획득하기 전에 G29를 지령한 경우. | NC 자동화 라인 구동이 차단되고 제어반에 Program Error (P430)가 출력됩니다. | 반드시 가공 사이클 첫 가동 시 G28 또는 G30 명령어를 선행 실행하여 중간 원점 경유지를 제어기 변수에 저장해 주십시오. |
| Mitsubishi | Program Error (P931) | 공구 기준 축방향 길이 보정(G43.1) 모달 설정이 활성화된 채 G28을 호출한 경우. | 제어기 운전이 중단되고 화면에 Program Error (P931) 알람이 출력됩니다. | G28을 입력하기 전에 활성화되어 있는 G43.1 등의 공구 축보정 상태를 반드시 취소해 주십시오. |
| Mitsubishi | Operation Error (M01 0013) | 중간 경유점 일시 정지 상태에서 조작반 키를 통해 MDI 또는 원점 복귀(ZRN)로 모드를 무단 전환한 경우. | 동작 연산 루프가 강제 중지되고 Operation Error (M01 0013) 상태로 비계획 정지됩니다. | 중간 경유점 일시 정지(Single block waypoint stop) 상태에서는 제어기 모드를 조작하지 마십시오. |
| Mitsubishi | Operation Error (M01 0129) | 중간 경유점 일시 정지 상태에서 장비 PLC 인터럽트 동작 신호가 유입된 경우. | 인터럽트 회로 제어가 즉각 정지되며 Operation Error (M01 0129)가 발생합니다. | 경유지 정지 주기 동안에는 신호 인터럽트 제어를 차단해야 합니다. |
| Mitsubishi | Program Error (P10) | M80/M830 다축 시스템 가동 시, 복수의 회전축 홈 복귀 운동을 한 블록에 동시 명령한 경우. | NC 자동 제어가 강제 차단되고 화면에 Program Error (P10)가 활성화됩니다. | 복수 회전축의 G28 원점 복귀 명령은 단일 블록에 동시 지령하지 말고 축별로 한 블록씩 나누어 프로그래밍하십시오. |
실무 응용 가이드
자동화 반복 가공 가동 체계에서 가장 위험한 시나리오는 제어기 오프셋 상태와 파라미터를 면밀히 확인하지 않은 채 무작동 모드 복귀(MDI) 상태에서 양산 자동 가동으로 돌입하는 것입니다. 구체적으로 미쓰비시 제어기에서 G28 원점 지령을 다중 회전축에 동시에 적용할 때 발생하는 Program Error (P10) 알람을 예방하려면, 축별 캘리브레이션을 구성하는 #2037 G53ofs 파라미터를 사전에 반드시 검증해야 합니다. 이 파라미터를 검증하지 않고 양산에 들어가면, 팔레트 교환 후 두 번째 사이클부터 치수 편차가 누적되어 최종 검사에서 불량이 발견되고, 설비 가동 효율을 무너뜨리는 불량률 상승과 라인 정지로 귀결됩니다. 또한 화낙 제어기의 경우, 공구 길이 보정의 유효성을 제어하는 Parameter No. 5040 Bit 3 (TCT) 및 리셋 시 모달 G-코드 클리어를 제어하는 Parameter No. 3402 설정값들을 사전 확인하면 이 명령어에서 가장 빈번한 비계획 정지를 없앨 수 있습니다. 특히 Parameter No. 3402를 면밀하게 점검하면, 가공 리셋 후 급속 이송 상태에서 갑작스럽게 축 위치가 흐트러져 터렛이 테이블 바이스 죠(vise jaw)나 척(chuck)에 정면 충돌하여 스핀들 샤프트를 휘게 하는 끔찍한 하드 충돌을 차단할 수 있습니다. 작업장에서는 G28 호출 직전에 수동으로 G40(반경 보정 취소) 및 G49/Txx00(길이 및 마모 보정 취소)을 의무적으로 코딩하여 중간 경유지의 오차 편차를 0으로 고정하는 규칙을 현장 가이드라인으로 수립해야 합니다.
관련 명령 구조
- G27 (기준점 복귀 검사): 실제 영구 복귀를 강제하지 않고, 이송 축들이 기계 홈(참조 위치)에 정확히 일치하여 정렬되었는지만 1회 검증합니다.
- G22 (저장된 행정 한계 검사 활성화): 슬라이드가 제한 구역을 넘지 않도록 소프트웨어 안전 경계를 설정합니다.
- G00 (급속 이송 위치결정): 프로그래밍된 위치로 제어 축들을 최대로 신속하게 이동시키는 지령입니다.
G29(기준점으로부터 복귀): 이전G28사이클에서 획득된 중간 경유지를 통과하여 다시 프로그래밍된 가공 시작 위치로 복귀하도록 지령합니다.G30(2, 3, 4차 기준점 복귀): 파라미터에 미리 등록된 보조 기준 좌표(예: 공구 교환점 또는 팔레트 체인지 한계점)로 이송축들을 급송 회퇴시킵니다.
결론
자동화 라인의 반복성과 생산 연속성을 극대화하기 위해 현장 프로그래머는 G28 명령을 사용할 때 절대 지령 방식(G90)을 완전히 배제하고, 증분 방식(G91 또는 U0 W0)을 활용해 원점으로 안전하게 직행시키는 셋업을 강제해야 합니다. 양산 라인을 가동하기 전, 각 제어 장치의 고유 사양(화낙 Parameter No. 3402, 미쓰비시 Parameter #2037)을 면밀히 검증하고, 모든 자동 공구 인덱싱 단계 이전에 공구 보정 취소 코드를 패키지로 적용하는 프로그램 템플릿을 표준화하십시오. 이와 같은 체계적인 검증 체계를 현장에 조기 정착시키면 불량률 축소는 물론 치명적인 비계획 정지 시간을 사전에 온전히 진압할 수 있어, 공장의 가동 시간과 장비 자산 보호를 동시에 달성할 수 있습니다.
자주 묻는 질문 (FAQ)
G28 원점 복귀 명령어를 가동할 때 중간 경유지 이동(충돌 위험)을 완전히 없애고 직행하려면 어떻게 하나요?
자동 가공 라인에서는 절대 지령(G90)이 유지되면 컨트롤러가 기계 원점이 아닌 가공 좌표계의 G54 영점을 중간 경유지로 해석해 충돌을 유발합니다. 이 위험을 제거하려면 증분 지령인 G91(밀링)이나 U/W(선반) 주소를 활용해며, 미쓰비시 제어기인 경우 파라미터 #1091(Ignore middle point)을 1로 활성화하면 제어 소프트웨어 수준에서 중간 정지 없이 원점으로 직행할 수 있습니다. 프로그램의 G28 블록을 무조건 G91 G28 Z0(또는 U0 W0) 형태로 수정하여 경유지 값을 제로화하십시오.
화낙 CNC 제어기에서 G28 원점 복귀를 완료했음에도 LED 램프가 켜지지 않고 Alarm PS0092가 나타나는 원인은 무엇인가요?
이 경고는 자동화 라인에서 공구 마모 오프셋이나 길이 보정이 메모리에 남아 활성화되어 있을 때 자주 검출됩니다. 제어 루프의 기계 좌표 판정 레지스터가 실제 원점 좌표와 잔여 오프셋만큼 일치하지 않는다고 진단하기 때문입니다. 물리적인 축 정렬이나 하드웨어 원점 스위치의 마모 상태를 확인하기에 앞서, 가공 프로그램 상에서 G28 명령어 라인 이전에 G49 및 Txx00 코드를 명시하여 축 좌표 비교기에 들어가기 전에 모든 활성 공구 길이 오프셋을 확실히 취소하십시오.
미쓰비시 제어기에서 다축 터닝 가동 중 G28을 지령할 때 Program Error (P10) 알람과 함께 기계가 비계획 정지되는 현상은 어떻게 조치하나요?
미쓰비시 M80/M830 시리즈에서는 복수의 회전축 복귀 지령이 단일 좌표계 블록에 몰리면 선형 좌표 시프트를 강제 동조하는 가감속 보간 루프에서 타임아웃 오류를 일으켜 기계가 강제 차단됩니다. 다중 회전축 복귀 시에는 G28 U0 V0 W0와 같이 복수의 회전축을 한 줄로 묶지 말고, G28 U0 및 G28 W0 등 단일 축 복귀를 독립된 블록으로 작성하여 순차적으로 실행되도록 변경하십시오.
아직 해결되지 않았나요?
이 주제에 대해 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의 공동 창업자로서 활동을 이어가고 있습니다.
관련 기사
이 주제에 관한 다른 기사
지멘스 SINUMERIK G71 메트릭 스케일링 설정 가이드
지멘스 SINUMERIK 제어기에서 G71 및 G710 메트릭 스케일링 명령을 안전하게 설정하고 MD 10240 파라미터를 검증하여 자동화 라인의 치수 누적 불량과 충돌 사고를 예방하고 비가동 시간을 최소화하는 실무 가이드입니다.
G69 밸런스 컷 취소: 좌표 복구 및 충돌 방지 가이드
Fanuc, Siemens, Mitsubishi CNC 선반에서 G69 밸런스 컷 취소 명령을 프로그래밍하는 방법을 습득하세요. 양축 동기화 모드를 안전하게 해제하고 비계획 정지 및 비가동 시간을 최소화합니다.
G70 CNC ì •ì‚ ì‚¬ì´í´ ê°€ì´ë“œ: Fanuc Siemens Mitsubishi
Fanuc, Siemens, Mitsubishi CNC ì„ ë°˜ì—서 G70 ì •ì‚ ì‚¬ì´í´ì„ 프로그ë˜ë°í•˜ëŠ” ì •ì„ ê°€ì´ë“œë¥¼ 확ì¸í•˜ì„¸ìš”. 공구 ì¶©ëŒì„ ë°©ì§€í•˜ê³ ìë™í™” ë¼ì¸ ë¹„ê°€ë™ ì‹œê°„ì„ ìµœì†Œí™”í•©ë‹ˆë‹¤.
G69 대칭 가공 취소 프로그래밍 및 파라미터 설정 가이드
화낙, 지멘스, 미쓰비시 CNC 제어기에서 G69 명령을 사용하여 G68 대칭 가공 및 밸런스 컷 모드를 안전하게 해제하고, 파라미터 #1202를 검증하여 자동화 라인의 터릿 충돌과 P29 알람을 예방하는 핵심 프로그래밍 가이드입니다.