Skip to main content
CNC.wiki

G50 스케일링 취소 CNC 프로그래밍 및 파라미터 가이드

Fanuc, Siemens, Mitsubishi CNC 제어기에서 G50 스케일링 취소 명령의 올바른 사용법, 8072번 파라미터 설정 및 원호 보간 P70 알람 해결 방법을 설명합니다.

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

CNC CARE 공동 창업자

서론

CNC 밀링 가공 중 활성화된 좌표 스케일링(G51) 상태를 해제하지 않거나, 프로그램 리셋 후 G51을 재호출하지 않은 상태에서 주축이 하강하면, 공구가 보정되지 않은 1:1 원래 스케일 경로로 급송되어 테이블에 고정된 클램프(clamp), 피스처 바이스 조(vise jaw) 또는 회전하는 스핀들 척(spindle chuck)을 그대로 들받는 치명적인 하드 충돌(hard collision)이 발생합니다. 이 충돌은 스핀들 샤프트의 정밀도 영구 손상과 초경 카바이드 인서트의 비산 파손을 유발하며, 제어기에 과부하 알람(Alarm P70 또는 P35)을 발생시켜 자동 생산 라인을 즉시 중단시킵니다. 이로 인해 설비의 계획되지 않은 비가동 시간(downtime)이 크게 증가하고 가공 불량률이 치솟아 제조 원가에 심각한 타격을 줍니다.

특히 8072번 파라미터를 사전 확인하면 이 명령어에서 가장 빈번한 비계획 정지를 없앨 수 있다. 이 파라미터를 검증하지 않고 양산에 들어가면, 팔레트 교환 후 두 번째 사이클부터 치수 편차가 누적되어 최종 검사에서 불량이 발견된다. 따라서 자동화 라인의 장기적인 가공 반복 정밀도를 보장하기 위해서는 가공 전에 G50 스케일링 취소 모드의 파라미터 제어 논리와 모달 초기화 상태를 엄격히 검증하는 절차가 반드시 선행되어야 합니다.

기술 요약

속성사양
명령 코드G50 (Fanuc, Mitsubishi, Siemens ISO Dialect) / SCALE (Siemens Native)
모달 그룹Group 11 (Fanuc/Mitsubishi modal), Group 18 (Siemens ISO Dialect modal), 또는 네이티브 Siemens 프레임 비활성화 (SCALE)
지원 브랜드Fanuc, Siemens, Mitsubishi
주요 파라미터Fanuc Parameter No. 3401 (Bits GSC/GSB), Parameter No. 8072 (SCALING P); Siemens MD 22914 ($MC_AXES_SCALE_ENABLE), MD 18800 ($MN_MM_EXTERN_LANGUAGE); Mitsubishi Parameter #8072 SCALING P, Parameter #1151 rstint
주요 제한 사항스케일링은 커터 보정량(공구 길이 오프셋 또는 공구 반경 보정)에는 적용되지 않습니다. G50은 안전한 대피 위치의 개별 블록에 프로그램하십시오. 활성화된 스케일링 배율이 비대칭이거나 평면의 한 축에만 지정된 상태에서 원호 보간(G02/G03)을 명령하면 프로그램 오류가 발생해 거동이 제한됩니다. 이송 속도(F)와 스핀들 속도(S)는 스케일링되지 않으므로 수동으로 재계산해야 합니다.

핵심 요약

  • 기계 원점 복귀를 실행하기 전에 안전한 높이의 독립 블록에서 G50을 지령하여 활성화된 모든 G51 스케일링 좌표를 취소하십시오.
  • G51은 기하축에만 영향을 미치고 이송 속도 F 값은 스케일링되지 않으므로, 스케일링 활성화 중에는 프로그래밍된 이송 속도를 수동으로 재계산하고 조정하십시오.
  • G코드 프로그램 오류를 방지하기 위해 원호 보간(G02/G03)을 실행하기 전에 평면의 양 축에 동일한 스케일링 배율을 적용하십시오.
  • Siemens SINUMERIK 제어기에서 G50 또는 G51을 프로그래밍하기 전에 외장 언어 파라미터 MD 18800이 활성화되어 있는지 확인하십시오.
  • 경로 연산 오류를 방지하기 위해 좌표 스케일링을 활성화하기 전에 항상 활성화된 커터 보정(G40)을 취소하십시오.
  • 프로그램 리셋, M30 명령 또는 비상 정지 시 제어기는 자동으로 G50 스케일링 취소 모드로 복귀합니다.

기본 개념

밀링 가공 머신 센터에서 G51 스케일링을 활성화하면 프로그래밍된 공작물 형상을 확대하거나 축소할 수 있는 강력한 수학적 도구가 제공됩니다. 프로그래머는 기준이 되는 스케일링 중심점과 배율을 지정하여 좌표값을 매번 재계산하지 않고도 재료의 수축률을 반영하거나 동일한 형상을 다중 배열하여 가공할 수 있습니다. G50 명령은 이러한 좌표 변환을 취소하여 좌표 연산을 표준 1:1 배율로 복원합니다.

스케일링 중심점과 배율은 G51 블록의 특정 주소를 통해 정의됩니다. 스케일링 중심점의 좌표는 활성화된 좌표계(G54~G59)를 기준으로 입력됩니다. 배율은 파라미터 P를 사용하여 모든 축에 글로벌하게 적용하거나, I, J, K를 사용하여 각 개별 축에 독립적으로 적용할 수 있습니다. 최소 지령 증분은 제어 장치의 분해능 시스템에 따라 다르며, 정밀한 배율 제어를 위해 일반적으로 소수점 아래 여섯 자리까지 지원합니다.

공구 반경 및 길이 보정은 스케일링 연산이 완료된 후의 물리적 형상을 기준으로 계산됩니다. 즉, 스케일링 배율은 G41/G42 커터 반경 보정과 같은 오프셋 값에 직접 적용되지 않습니다. 표준 프로그래밍 지침에 따르면 스케일링 모드에 진입하기 전에 항상 G40을 사용하여 모든 커터 반경 보정을 취소해야 하며, G50으로 표준 치수를 복원한 후에 보정을 다시 로드해야 합니다.

명령 구조

좌표 스케일링 취소의 구문은 간결하지만, 그 동작은 활성화된 컴파일러 모드 및 제어기 브랜드 구성에 따라 달라집니다. Fanuc, Mitsubishi 및 Siemens의 ISO Dialect 모드에서 G50은 Group 11 또는 Group 18 모달 스케일링을 취소합니다. 네이티브 Siemens SINUMERIK 모드에서는 파라미터 없이 SCALE 명령을 실행하여 절대 스케일링을 취소합니다.

G50이 프로그래밍되면 모든 축에 대해 활성화된 스케일링 모드가 글로벌하게 종료됩니다. 스케일링 중심점과 배율을 선언하려면 사전에 G51 명령이 활성화되어 있어야 합니다. 현장에서 최상의 가공 결과를 얻으려면 기준점으로 복귀하거나 프로그램을 종료하기 전, 안전한 클리어런스 대피 위치의 독립 블록에서 항상 G50을 프로그래밍해야 합니다.

  • G50 ; - 스케일링 모드 취소 (Fanuc, Mitsubishi, Siemens ISO 모드)
  • G51 X__ Y__ Z__ P__ ; - 중심 X, Y, Z에서 공통 배율 P로 스케일링 활성화 (스케일링 ON)
  • G51 X__ Y__ Z__ I__ J__ K__ ; - 중심 X, Y, Z에서 축별 배율 I, J, K로 스케일링 활성화 (스케일링 ON)
  • SCALE ; - 네이티브 Siemens 절대 스케일링 취소 (모든 스케일링 배율을 1:1로 리셋)
  • SCALE X__ Y__ Z__ ; - 네이티브 Siemens 절대 스케일링 활성화 (스케일링 ON)
  • ASCALE X__ Y__ Z__ ; - 네이티브 Siemens 증분(가산) 스케일링 활성화 (스케일링 ON)

명령 파라미터와 주소 레지스터는 프로그램 실행 중에 스케일링 중심점과 배율을 구성합니다:

  • X: X축 방향 스케일링 중심의 절대 좌표.
  • Y: Y축 방향 스케일링 중심의 절대 좌표.
  • Z: Z축 방향 스케일링 중심의 절대 좌표.
  • P: 모든 기본 축에 적용되는 공통 스케일링 배율 승수 (최소 입력 증분은 0.000001).
  • I: 기본 첫 번째 축(X축)의 스케일링 배율.
  • J: 기본 두 번째 축(Y축)의 스케일링 배율.
  • K: 기본 세 번째 축(Z축)의 스케일링 배율.

브랜드별 응용

Fanuc

Fanuc 제어기는 좌표 스케일링을 관리하기 위해 G코드 Group 11 모달 명령에 의존합니다. 활성화된 G코드 시스템은 Parameter No. 3401 (Bits GSC/GSB)에 의해 구성되며, Parameter No. 8072는 기본 백그라운드 배율 P를 설정합니다. Parameter No. 1013을 설정하면 스케일링 좌표 연산을 위한 증분 시스템이 구성됩니다.

스케일링 활성화는 스케일링 중심 좌표 및 배율 주소 P와 함께 G51을 사용하고, G50은 활성 스케일링 모드를 취소합니다. 활성화된 두 평면 축 중 하나에만 스케일링이 활성화된 상태에서 원호 보간 명령(G02 또는 G03)이 실행되면 제어기는 Program Error (P70)을 발생시키고 작동을 멈춥니다.

  • Parameter No. 3401 (Bits GSC/GSB): G50의 모달 그룹을 결정하는 G코드 시스템 A, B, C를 선택합니다.
  • Parameter No. 8072 (SCALING P): G51 블록에서 P 또는 I/J/K가 생략된 경우의 기본 스케일링 배율입니다. 설정 범위: -99999999 ~ 99999999 (실제 배율 -99.999999 ~ 99.999999배를 의미).
  • Parameter No. 1013: 스케일링 좌표 연산을 위한 증분 시스템을 정의합니다.
  • Program Error (P70): 평면의 한 축에만 스케일링이 활성화된 상태에서 원호 보간(G02/G03)을 프로그래밍한 경우 발생합니다.
  • Program Error (P35): 지령된 스케일링 배율이 허용 한계를 초과한 경우 발생합니다 (-99.999999 ~ 99.999999 범위를 벗어남).
  • Program Error (P350): G51 스케일링을 지령했으나 스케일링 소프트웨어 옵션이 설치되지 않은 경우 발생합니다.
  • Lathe vs. Milling Difference: 선반과 밀링의 차이점: 선반 시스템에서 G50은 주속 일정 제어 최고 스핀들 속도 설정 또는 좌표계 설정을 위한 Group 00 비모달 명령입니다. 밀링 시스템에서 G50은 Group 11 모달 스케일링 취소 명령입니다.
  • Series 15 Program Format: Series 15 프로그램 포맷: Parameter No. 0001 Bit 1 (FCV)을 1로 설정하면 Series 15 포맷이 강제 적용되어 반복 고정 사이클 도중 스케일링 파라미터 평가를 무시합니다.

스케일링이 활성화된 상태에서 원점 복귀 명령(G28 또는 G30)을 실행하면 Fanuc 제어기는 중간 경로점 벡터를 스케일링합니다. 축 충돌을 방지하기 위해 원점 복귀 전 항상 G50을 프로그래밍하십시오.

Siemens

Siemens SINUMERIK 제어기는 좌표 스케일링을 동적 프레임 메모리 구조의 독립적인 구성 요소로 관리합니다. 프로그래머는 G291을 통해 인터프리터를 ISO Dialect 모드로 전환하여 G50/G51을 활성화하며, 이를 위해 머신 데이터 파라미터 MD 18800이 1로 설정되어야 합니다. 네이티브 스케일링은 SCALE 및 ASCALE 블록을 통해 관리되며, 인수가 없는 단독 SCALE 명령은 스케일링 배율을 비활성화합니다.

제로 오프셋 억제 명령(G53, G153, SUPA)을 호출하면 MD 10760에 따라 공구 오프셋이 억제됩니다. 프로그램 중단을 방지하기 위해 가공 사이클을 호출하기 전에 오프셋이 다시 로드되었는지 확인하십시오.

  • MD 22910 $MC_WEIGHTING_FACTOR_FOR_SCALE: 프로그래밍된 스케일링 배율의 기본 단위를 정의합니다.
  • MD 22914 $MC_AXES_SCALE_ENABLE: 지정된 축에 대한 축 방향 스케일링 배율 기능을 활성화하기 위해 1로 설정합니다.
  • MD 10760 $MN_G53_TOOLCORR: 좌표계 억제(G53, G153, SUPA) 시 공구 길이 및 반경 보정을 억제할지(1) 또는 유지할지(0)를 정의합니다. 설정 범위: BYTE (2 ~ 4, 기본값 2).
  • MD 18800 $MN_MM_EXTERN_LANGUAGE: G291, G50, G51용 외부 NC 컴파일러를 활성화하려면 1로 설정합니다.
  • Alarm 12080 "Syntax error": 네이티브 Siemens 모드(G290)에서 G50 블록을 프로그래밍했거나, 스케일링 중 불법 포맷 또는 블록 건너뛰기 문자를 프로그래밍한 경우 발생합니다.
  • Alarm 14800: 계산된 경로 속도(이송 속도 F)가 0 이하로 평가되는 경로 속도를 프로그래밍한 경우 발생합니다.
  • Alarm 14011: G10.6 고속 후퇴를 지령했으나 NC 메모리에 후퇴 서브루틴 CYCLE3106.spf가 누락된 경우 발생합니다.
  • Alarm 61800: MD 18800이 비활성화된 상태에서 G291로 전환을 시도하거나 G50/G51 명령을 프로그래밍한 경우 발생합니다.
  • SINUMERIK 840D sl vs. 802D sl: 840D sl에서는 블록 건너뛰기 레벨 및 공운전(DryRun) 동작에 대한 동적 조정이 가능하지만, 802D sl에서는 잠금 설정되어 변경할 수 없습니다.
  • Hardware Features: 하이엔드 840D sl은 사이드 스크린이 최소화된 멀티 터치 패널과 컴팩트/레거시 모델에서는 지원되지 않는 전용 "Collision avoidance"(충돌 방지) 옵션을 제공합니다.

네이티브 모드에서 스케일링만 취소하기 위해 인수가 없는 SCALE 명령을 호출하면 모든 프레임 구성 요소가 리셋되어 활성화된 영점 이동(TRANS) 및 좌표 회전(ROT)이 즉시 지워집니다.

Mitsubishi

Mitsubishi 제어기는 활성 포맷 파라미터 및 리셋 설정에 따라 스케일링 취소를 실행합니다. 모달 리셋 동작은 Parameter #1151 rstint 및 #1210 RstGmd에 의해 제어되며, 리셋 시 스케일링 취소 모달 G50이 초기화되는지 여부를 결정합니다. 활성 입력 단위 설정은 Parameter #1003 iunit 및 Parameter #1041 I_inch를 통해 관리됩니다.

스케일링 활성화는 스케일링 중심 좌표 및 배율 주소 P와 함께 G51을 사용하고, G50은 활성 스케일링 모드를 취소합니다. 스케일링 오프셋을 위한 시스템 변수는 변수 #30080 ~ #30097에 매핑되며, 선반 시스템에서는 비활성화됩니다.

  • Parameter #8072 SCALING P: G51 블록에서 배율이 생략된 경우의 기본 백그라운드 스케일링 배율입니다. 설정 범위: -99999999 ~ 99999999.
  • Parameter #1151 rstint: 리셋 초기 상태 구성: 0 (모달 유지) 또는 1 (모달 취소).
  • Parameter #1210 RstGmd: 모달 G코드 리셋 설정: 리셋 시 Group 11 스케일링 상태가 초기화되는지 또는 유지되는지 제어합니다.
  • Parameter #1003 iunit: 명령 분해능 시스템 및 활성 입력 단위 시스템을 선택합니다.
  • Parameter #1041 I_inch: 활성 입력 단위 시스템(미터/인치 치수)을 선택합니다.
  • Program Error (P350): 제어 시스템에 스케일링 소프트웨어 옵션이 설치되거나 활성화되지 않은 상태에서 G51 스케일링을 지령한 경우 발생합니다.
  • Program Error (P35): 허용 범위를 벗어난 스케일링 배율을 프로그래밍한 경우 발생합니다 (-99.999999 ~ 99.999999 외 영역 또는 0을 제외한 -0.000001 ~ 0.000001 사이 값).
  • Program Error (P70): 두 개의 활성 평면 축 중 한 축에만 스케일링이 활성화된 상태에서 G02 또는 G03 원호 보간을 지령한 경우 발생합니다.
  • Lathe vs. Milling Difference: 선반과 밀링의 차이점: 선반 시스템에서 G50은 스핀들 클램프 속도 또는 좌표계 설정을 위한 Group 00 비모달 명령입니다. 밀링 시스템에서 G50은 Group 11 모달 스케일링 취소 명령입니다.
  • M800/M80 Series Variables: #30080 ~ #30097에 매핑되는 스케일링 시스템 변수는 밀링(M) 시스템에서는 완전히 활성화되지만, 선반(L) 시스템에서는 완전히 비활성화(×로 표시)됩니다.

스케일링이 활성화된 상태에서 공작물 좌표계 프리셋(G92)을 수행하면 물리적 스케일링 중심이 정확한 오프셋 수치만큼 이동하여 후속 툴패스 편차가 발생합니다.

브랜드 비교

비교 항목FanucSiemensMitsubishi
스케일링 활성화 G코드G51 (밀링 Group 11)네이티브: SCALE/ASCALE; ISO Dialect 모드: G51 (Group 18)G51 (밀링 Group 11)
스케일링 취소 명령G50네이티브: SCALE (축 방향 또는 글로벌 비활성화); ISO Dialect 모드: G50G50
선반 G50 매핑주속 일정 제어 최고 스핀들 속도 설정 또는 좌표계 설정 (Group 00 비모달)— (no source)주속 일정 제어 최고 스핀들 속도 설정 또는 좌표계 설정 (Group 00 비모달)
수동 역송(manual reverse run)과의 통합— (no source)— (no source)활성 스케일링 벡터가 유효하게 유지되며 모달 정보 저장 블록(G127)을 사용하여 성공적으로 복구됨
이중 언어 프로그램 포맷 전환 컴파일러— (no source)G290/G291을 통한 인터프리터 전환G188/G189 G코드를 통한 선삭 및 밀링 포맷 전환
글로벌 억제 제어기준점 복귀(G28/G30) 중 중간점 좌표에서 억제됨MD 10760에 의해 제어되는 G53, G153, SUPA 프레임을 통한 억제기준점 복귀(G28/G30) 중 중간점 좌표에서 억제됨

기술 분석

좌표 스케일링 취소를 분석하면 G코드 변환을 관리하는 세 가지 고유한 아키텍처 방식이 나타납니다. 첫째, Fanuc 및 Mitsubishi 제어기는 G코드 Group 11 모달 G코드(G50/G51)를 사용하여 스케일링 모드를 전환하므로, G50은 다른 모달 그룹이나 오프셋 레지스터에 영향을 주지 않고 오직 스케일링만 취소합니다. Siemens SINUMERIK 제어기는 네이티브 모드에서 G50/G51을 생략하고 스케일링을 독립적인 프레임 변환(SCALE 또는 ASCALE)으로 취급합니다. 네이티브 Siemens 모드에서 인수가 없는 단독 SCALE 명령을 통해 스케일링을 취소하면 활성화된 프로그램 가능 프레임의 모든 프레임 구성 요소가 재설정되므로, 활성 영점 오프셋(TRANS)과 좌표 회전(ROT)이 동시에 지워집니다.

둘째, 인터프리터 전환 방법론에서 Siemens는 Fanuc 및 Mitsubishi와 구별됩니다. Siemens는 이중 언어 컴파일러 모델을 사용하여 G291을 통해 인터프리터를 ISO Dialect 모드로 전환해 G50 및 G51 블록을 컴파일합니다. 인터프리터를 다시 네이티브 SINUMERIK 모드로 전환하려면 포켓 사이클과 고수준 프레임 연산이 실행되는 G290 명령이 필요합니다. Mitsubishi는 표준 G코드 전환 명령인 G188 및 G189를 통해 선반과 머시닝 센터 코드 레이아웃 간을 토글하며, 이는 G코드 테이블을 동적으로 리셋합니다. Fanuc은 프로그램 내부의 단일 컴파일러 스위칭 기능이 없으며, G코드 시스템 모달을 고정하기 위해 전적으로 백그라운드 파라미터(Parameter No. 3401)에 의존합니다.

셋째, 고급 머신 기능과의 통합은 수동 개입 시 Mitsubishi의 독특한 모달 처리 성능을 보여줍니다. 수동 임의 역송(G127)이 활성화되어 있을 때, Mitsubishi의 모션 커널은 축 드리프트를 방지하기 위해 전용 모달 정보 저장 블록을 사용하여 활성 스케일링 벡터 좌표를 유지하고 복구합니다. Siemens는 머신 데이터 MD 10760에 따라 SUPA, G153 또는 G53 이동 중에 프레임을 글로벌하게 억제합니다. Fanuc은 G28 또는 G30 원점 복귀 중 중간점 좌표에서만 좌표 변환을 엄격하게 억제하며, 비모달 좌표를 위한 내장형 핸드휠 롤백 복구 기능을 제공하지 않습니다.

프로그램 예제

Fanuc G코드 프로그램 예제

N10 G90 G00 G54 X-100.0 Y-100.0 ; 절대 시작 위치로 급속 이송
N20 G51 X-100.0 Y-100.0 P0.5 ; 중심 X-100 Y-100에서 배율 0.5로 스케일링 활성화
N30 G01 X0 Y0 F150 ; 50% 배율로 프로파일 가공
N40 G40 G50 X0 Y0 ; 좌표 복귀 전 커터 보정 및 스케일링 모드 취소
N50 G91 G28 X0 Y0 Z0 ; 기준 원점 복귀

공운전 (dry run) 워크스루

  • 블록 N10: G54 좌표계에서 축을 절대 좌표(X-100.0, Y-100.0)로 급속 이송합니다.
  • 블록 N20: 물리적 피벗 중심점(X-100.0, Y-100.0)을 기준으로 프로그래밍된 툴패스 크기를 절반으로 축소하는 배율 0.5의 좌표 스케일링을 활성화합니다.
  • 블록 N30: 150 mm/min 속도의 직선 이송으로 공구를 목표 좌표(X0, Y0)로 이동합니다. 배율 0.5의 스케일링이 활성화되어 있으므로 실제 물리적 이동 거리는 100 mm 대신 50 mm가 됩니다.
  • 블록 N40: 공구 반경 보정(G40) 및 스케일링 모드(G50)를 취소하여 좌표 배율 승수를 표준 1:1 비율로 복원합니다.
  • 블록 N50: Z, X, Y 원점 위치로 증분 기계 기준점 복귀를 수행하여 중간 좌표 연산이 스케일링되지 않도록 보장합니다.

Siemens G코드 프로그램 예제

N10 G17 G54 T01 D01 M03 S1500 ; 평면 선택, 영점 오프셋, 공구 에지, 스핀들 기동
N20 TRANS X15 Y15 ASCALE X0.7 Y0.7 ; 네이티브 모드: 영점 오프셋 이동 및 XY 윤곽을 0.7배로 스케일링
N30 SCALE ; 네이티브 모드: 스케일링 배율 취소 및 활성 프로그램 가능 프레임 리셋
N40 G291 ; 레거시 코드 컴파일을 위해 인터프리터를 ISO Dialect 모드로 전환
N50 G51 X0 Y0 P0.5 ; ISO 모드: 중심 X0 Y0에서 배율 0.5로 스케일링 활성화
N60 G50 ; ISO 모드: 스케일링 비활성화 및 1:1 경로 연산 복원

공운전 워크스루

  • 블록 N10: 활성 작업 평면 XY(G17)를 선택하고 G54 공작물 영점 오프셋을 활성화하며 공구 에지 D01을 로드하고 스핀들을 1500 RPM으로 기동합니다.
  • 블록 N20: 현재 제로 위치를 X 및 Y 방향으로 15 mm 이동하고 양 기하축에 0.7의 축 방향 스케일링 배율을 추가합니다.
  • 블록 N30: 스케일링 배율을 지우고 프로그램 가능 프레임 좌표 변환을 리셋합니다 (N20에서 프로그래밍된 이동 오프셋 해제).
  • 블록 N40: SINUMERIK 제어기 컴파일러 인터프리터를 ISO Dialect 모드로 전환합니다.
  • 블록 N50: (X0, Y0) 중심의 스케일링 배율 0.5의 스케일링을 활성화합니다 (툴패스 치수를 절반으로 축소).
  • 블록 N60: G50을 지령하여 스케일링을 비활성화하고 제어기를 ISO Dialect 모드의 표준 1:1 경로 연산으로 복귀시킵니다.

Mitsubishi G코드 프로그램 예제

N10 G90 G00 G54 X-100.0 Y-100.0 ; 절대 좌표 클리어런스 값으로 급속 이송
N20 G51 X-100.0 Y-100.0 P0.5 ; 중심 X-100 Y-100에서 배율 0.5로 스케일링 활성화
N30 G01 X0 Y0 F200 ; 스케일링된 크기로 프로파일 가공
N40 G50 G40 X0 Y0 M30 ; 스케일링 및 커터 보정 취소, 기존 좌표 복귀 및 프로그램 종료

공운전 워크스루

  • 블록 N10: G54 시스템에서 절대 클리어런스 좌표(X-100.0, Y-100.0)로 급속 이송 위치결정 이동을 실행합니다.
  • 블록 N20: 좌표 피벗 포인트(X-100.0, Y-100.0)를 기준으로 툴패스 이송 거리를 절반으로 축소하는 배율 0.5의 좌표 스케일링을 활성화합니다.
  • 블록 N30: 200 mm/min 속도로 목표 좌표(X0, Y0)까지 직선 절삭 이동을 실행합니다. 실제 물리적 공구 이동 경로는 50% 크기로 축소됩니다.
  • 블록 N40: 활성 스케일링 모드(G50) 및 공구 반경 보정(G40)을 취소하고 좌표를 표준 1:1 비율로 초기화하며 프로그램 실행을 종료합니다(M30).

오류 분석

브랜드알람 코드발생 조건작업자 인지 증상원인 분석 및 대처 요령
FanucProgram Error (P70)평면의 한 축에만 스케일링이 활성화된 상태에서 원호 보간(G02/G03)을 명령하는 경우.가공 사이클이 즉시 정지되며 평면 연산 알람이 표시됩니다.원호 지령 전에 G50을 사용하여 스케일링 모드를 취소하거나, 평면의 양 축에 동일한 배율을 설정하십시오.
FanucProgram Error (P35)프로그래밍된 스케일링 배율이 제어 한계를 벗어나는 경우 (-99.999999 ~ 99.999999 범위를 초과).제어기에 지령 한계 초과 메시지가 표시되고 프로그램이 정지합니다.스케일링 배율 승수가 허용 한계 범위 내에 들어가도록 수정하십시오.
FanucProgram Error (P350)제어기에 스케일링 기능 옵션이 활성화되지 않은 상태에서 프로그램 내에서 G51 스케일링을 지령하는 경우.CNC가 프로그램 에러 코드 표시와 함께 정지합니다.스케일링 소프트웨어 옵션을 활성화하거나 프로그램에서 스케일링 블록을 제거하십시오.
SiemensAlarm 12080 "Syntax error"네이티브 Siemens 모드(G290)에서 G50 block을 프로그래밍했거나, 스케일링 중 불법 포맷 또는 블록 건너뛰기 문자를 프로그래밍한 경우.스핀들이 정지하고 구문 오류 경고가 표시됩니다.G50은 ISO Dialect 모드(G291)에서만 프로그래밍하고, 코딩 구문 형식을 수정하십시오.
SiemensAlarm 14800계산된 경로 속도(이송 속도 F)가 0 이하가 되도록 경로 속도를 지령한 경우.경로 속도 경고가 나타나며 프로그램 가공이 즉시 중단됩니다.프로그램에 0이 아닌 유효한 이송 속도 F가 지령되고 활성화되어 있는지 확인하십시오.
SiemensAlarm 61800MD 18800(외장 언어 컴파일러)이 비활성화된 상태에서 G291 또는 G50/G51 명령을 실행한 경우.외장 언어 인터프리터 누락 메시지가 표시되며 NC 제어가 중단됩니다.머신 데이터 파라미터 MD 18800을 1로 설정하여 ISO Dialect 컴파일러를 활성화하십시오.
MitsubishiProgram Error (P350)스케일링 옵션이 설치 또는 활성화되지 않은 상태에서 G51 스케일링을 호출하는 경우.옵션 누락 알람과 함께 기계 작동 사이클이 중단됩니다.스케일링 소프트웨어 옵션을 활성화하거나 가공 프로그램을 수정하십시오.
MitsubishiProgram Error (P35)허용 범위를 벗어난 배율 값을 프로그래밍한 경우 (0을 제외한 -0.000001 ~ 0.000001 사이 영역 또는 -99.999999 ~ 99.999999 외 영역).배율 파라미터 범위 초과 메시지와 함께 제어기 작동이 정지합니다.스케일링 배율을 안전한 한계 범위 내로 조정하십시오.
MitsubishiProgram Error (P70)두 개의 활성 평면 축 중 한 축에만 스케일링이 활성화된 상태에서 G02 또는 G03 원호 보간을 명령한 경우.프로그램 실행이 취소되고 화면에 알람 코드가 표시됩니다.평면의 양 축에 동일한 배율을 적용하거나, 원호 보간 명령 전에 G50을 선언해 스케일링을 취소하십시오.

실무 응용 가이드

원호 보간(G02/G03) 지령 시 평면의 단 한 축에만 스케일링 배율이 설정되어 있으면 제어기가 알람(Fanuc/Mitsubishi Program Error P70)을 발생시켜 가공 프로그램을 급정지시킵니다. 또한, G51에 배율 입력이 누락되었을 때 백그라운드 기본 배율을 결정하는 Fanuc/Mitsubishi의 8072번 파라미터(SCALING P)가 부적절하거나, Siemens에서 개별 축 스케일링을 제어하는 MD 22914 ($MC_AXES_SCALE_ENABLE) 설정이 누락되면 가공 궤적이 설계와 완전히 달라져 불량품(scrap part)이 발생하고 생산 라인의 불량률이 급격히 증가합니다. 특히 스케일링이 활성화된 상태에서 G28/G30 기계 원점 복귀를 지령하는 경우, 제어기가 원점 복귀의 중간 도포점(waypoint) 좌표까지 스케일링 배율을 적용하여 축이 예기치 못한 비정상적인 궤적으로 이동해 기계 바이스나 클램프와 충돌하는 사고로 이어집니다. 대량 생산 라인에서의 단 한 번의 설정 오류는 대규모 하드 충돌과 장기간의 비계획 정지(downtime)로 인한 비가동 시간을 초래하므로, 셋업 엔지니어는 가공 전에 8072번 파라미터와 MD 18800(외장 NC 언어 컴파일러)과 같은 핵심 파라미터를 완벽히 점검하고 안전 높이 대피 후 G50을 명시적으로 코딩하는 안전 표준을 수립해야 합니다.

관련 명령 구조

  • G51: 피벗 중심점을 기준으로 공작물 형상을 확대 또는 축소하기 위해 좌표 스케일링을 활성화하는 명령입니다 (Fanuc/Mitsubishi는 밀링 Group 11, Siemens ISO Dialect는 Group 18).
  • SCALE / ASCALE: 네이티브 Siemens 프레임 변환에서의 절대 또는 증분(가산) 프로그램 가능 좌표 스케일링 명령입니다.
  • G290 / G291: 레거시 G코드를 컴파일하기 위한 Siemens 제어기의 네이티브 SINUMERIK 모드 또는 ISO Dialect 모드 인터프리터 전환 명령입니다.
  • G188 / G189: Mitsubishi 제어기에서 선반과 밀링 G코드 시스템 간의 명령 포맷을 전환하는 명령입니다.
  • G28 / G30: 원점 복귀 가동 시 중간 경로점 좌표에서 활성화된 스케일링 배율을 임시로 억제하는 기준점 복귀 명령입니다.
  • G52 / G92: 활성 스케일링 중심 레지스터의 위치를 이동시키는 로컬 좌표계 설정 및 좌표계 설정 명령입니다.
  • g40-compensation-cancel: 스케일링 개시 전에 반드시 먼저 실행해야 하는 공구 반경 보정 취소 명령입니다. 링크: g40-compensation-cancel
  • g41-cutter-radius-compensation: 스케일링된 툴패스 좌표를 기준으로 연산되어 좌측으로 공구 반경 보정을 적용하는 명령입니다. 링크: g41-cutter-radius-compensation
  • g49-tool-length-compensation-cancel: 안전 대피 높이에서 반드시 실행해야 하는 또 다른 중요 취소 명령인 공구 길이 보정 취소 명령입니다. 링크: g49-tool-length-compensation-cancel

결론

자동화 생산 공정에서 G50 스케일링 취소 명령은 스케일링이 적용된 모든 가공 사이클 종료 직후에 독립된 단독 블록으로 명시적으로 지령되어야 합니다. 암묵적인 모달 취소나 제어기 리셋에만 의존해 가공을 진행하는 방식은 두 번째 사이클 이후의 축 정밀도 누적 편차와 불량률 급증이라는 가공 위험을 안고 있습니다. 기계 가동 전 기본 스케일링 파라미터(Parameter No. 8072 및 MD 22914)의 상태를 이중으로 검증하고, 스케일링 해제 전 반드시 툴을 안전 높이로 대피시키는 제어 프로그램을 표준화하는 것이 충돌로 인한 비가동 시간(downtime)을 방지하고 자동화 가공 라인의 가동률을 안전하게 유지하는 지름길입니다.

자주 묻는 질문 (FAQ)

CNC 자동화 가공 중 원호 보간(G02/G03)을 실행할 때 P70 알람이 발생하는 원인과 예방 방법은 무엇인가요?

이 알람은 활성화된 가공 평면(G17/G18/G19)의 두 축 중 한 축에만 스케일링 배율이 비대칭하게 설정되어 완벽한 원호 궤적을 연산할 수 없을 때 발생합니다. 이를 방지하기 위해서는 G51 지령 시 평면을 구성하는 양 축에 동일한 배율(예: P0.5 또는 I0.5 J0.5)을 지정하거나, 원호 가공 블록 진입 전에 반드시 G50을 독립 블록으로 선언하여 스케일링 모드를 일시적으로 해제해야 합니다. 가공 전 프로그램에서 원호 블록 전후의 G50/G51 쌍을 검증하고 시뮬레이션해 보십시오.

제어기를 리셋(NC Reset)하거나 프로그램이 끝났을 때 스케일링 모드(G51)가 자동으로 취소되도록 하려면 어떤 파라미터를 점검해야 합니까?

일반적인 Fanuc 및 Mitsubishi 제어기는 리셋이나 M30 종료 시 G50 스케일링 취소 상태로 자동 초기화되지만, Siemens 시스템은 MD 20150 또는 MD 10760과 같은 리셋 모달 보존 설정 파라미터에 따라 이전의 스케일링 프레임 데이터가 메모리에 유지되어 충돌을 유발할 수 있습니다. 예기치 않은 미복귀 사고를 원천 차단하기 위해, 공정 교환이나 교대 작업 시 조작반 화면에서 현재 활성화된 모달 그룹 코드의 상태 값을 수동으로 재확인하고 첫 사이클 가동 전 기계 리셋 상태의 파라미터를 이중으로 검토하십시오.

좌표 스케일링(G51) 모드가 켜진 상태에서 원점 복귀(G28/G30) 명령을 가동하면 왜 충돌 위험이 커지며 이를 어떻게 해결해야 하나요?

G51 모드 내에서 G28/G30을 명령하면 기계가 원점 복귀의 경유지(중간점) 좌표를 스케일링 배율에 맞추어 강제로 축소 또는 확대 연산하므로, 공구가 계획된 경로를 이탈해 바이스나 테이블 클램프와 충돌하기 때문입니다. 이러한 오동작과 라인 정지를 완전히 예방하기 위해서는 원점 복귀 명령을 내리기 전 상단 라인에 반드시 G50을 단독 블록으로 지정해 스케일링 모드를 확실히 취소한 후 안전한 G91 증분 모드로 복귀 지령을 내려야 합니다. 지금 가공 프로그램을 열고 원점 복귀 전 G50 선언 여부를 확인해 정비하십시오.

아직 해결되지 않았나요?

이 주제에 대해 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 - 2008)
  • Ören Kalıp CNC Mold Line Team Leader (1999 - 2002)

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

관련 기사

이 주제에 관한 다른 기사

지멘스 SINUMERIK G71 메트릭 스케일링 설정 가이드

지멘스 SINUMERIK 제어기에서 G71 및 G710 메트릭 스케일링 명령을 안전하게 설정하고 MD 10240 파라미터를 검증하여 자동화 라인의 치수 누적 불량과 충돌 사고를 예방하고 비가동 시간을 최소화하는 실무 가이드입니다.

FanucSiemensProgramming

G69 밸런스 컷 취소: 좌표 복구 및 충돌 방지 가이드

Fanuc, Siemens, Mitsubishi CNC 선반에서 G69 밸런스 컷 취소 명령을 프로그래밍하는 방법을 습득하세요. 양축 동기화 모드를 안전하게 해제하고 비계획 정지 및 비가동 시간을 최소화합니다.

FanucSiemensProgramming

G70 CNC 정삭 사이클 가이드: Fanuc Siemens Mitsubishi

Fanuc, Siemens, Mitsubishi CNC 선반에서 G70 정삭 사이클을 프로그래밍하는 정석 가이드를 확인하세요. 공구 충돌을 방지하고 자동화 라인 비가동 시간을 최소화합니다.

FanucSiemensProgramming

G69 대칭 가공 취소 프로그래밍 및 파라미터 설정 가이드

화낙, 지멘스, 미쓰비시 CNC 제어기에서 G69 명령을 사용하여 G68 대칭 가공 및 밸런스 컷 모드를 안전하게 해제하고, 파라미터 #1202를 검증하여 자동화 라인의 터릿 충돌과 P29 알람을 예방하는 핵심 프로그래밍 가이드입니다.

FanucSiemensProgramming