CNC 프로그래밍 마스터: G-코드 & M-코드 핵심 총정리
CNC(Computer Numerical Control, 컴퓨터 수치 제어)는 공작기계를 넘어 산업용 로봇, 컴퓨터 제어 측정기까지 포괄하는 개념입니다. 1952년 항공 산업의 정밀 가공 수요로 존 파슨스(John T. Parsons)가 IBM, MIT와 협력해 최초 CNC 밀링기를 개발한 이래, CNC 프로그래밍 언어인 G-코드와 M-코드가 산업 표준으로 자리 잡았습니다.
G-코드와 M-코드란?
70년 CNC 역사 속에서 천공 테이프, APT 언어(1956) 등 다양한 언어가 쓰였습니다. RS-274 표준인 G-코드는 APT에서 기하 데이터(공구 위치·형상)와 비기하 기능(스핀들 속도, 냉각 등)을 분리·단순화해 탄생했습니다.
| APT 명령 | G/M-코드 대응 |
| GO TO {X, Y, Z} | G1, G2, G3 {X, Y, Z} |
| FEDRAT | F |
| SPINDLE CW/CCW | S M3 / M4 |
| COOLNT ON/OFF | M8 / M9 |
| FINI | M30 |
RS-274는 G 함수 위주라 'G-코드'라 불리지만, M 함수도 동등하게 중요합니다. 둘의 정의를 명확히 해보겠습니다.
G-코드란? (Geometry Codes)
'G'는 Geometry(기하)를 의미합니다. 공작물에 대한 공구 궤적·기하 관계를 정의합니다.
- 좌표계 선택, 가공 평면, 단위계(인치/미터), 절대/증분 모드
- 공구 이동: 급이송(G0), 직선 보간(G1), 원호 보간 CW(G2)/CCW(G3) 등
M-코드란? (Machine Codes)
'M'은 Machine(기계)을 의미합니다. 기계 장치의 동작·제어를 담당합니다.
- 주축 회전 정/역/정지 (M3/M4/M5)
- 절삭유 ON/OFF (M8/M9)
- 자동 공구 교환 (M6)
- 프로그램 정지/종료/서브루틴 호출 (M00/M30/M98/M99)
G-코드와 M-코드의 차이
- G-코드: "공구가 공작물에 대해 어떻게 움직이는가" (기하·궤적)
- M-코드: "기계가 가공 과정에서 무엇을 하는가" (장치 제어)
보조 기능: X/Y/Z(위치), I/J/K(원호 중심 상대좌표), F(이송속도), S(주축속도), T(공구번호), H(공구 길이 보정), D(공구 반경 보정)
기본 G-코드 목록
| 코드 | 기능 | 보조 파라미터 |
| G0 | 급이송 (직선) | X, Y, Z |
| G1 | 직선 보간 | X, Y, Z, F |
| G2 | 원호 보간 (시계방향) | X, Y, Z, I, J, K, F |
| G3 | 원호 보간 (반시계방향) | X, Y, Z, I, J, K, F |
예제: G1 X10 Y50 F100 → X=10, Y=50 위치로 100 mm/min 직선 이송
G2 X10 Y50 I10 J40 F100 → 시작점 기준 X+10, Y+40 중심, 시계방향 원호 이송
| 코드 | 기능 | 비고 |
| G17/G18/G19 | 가공 평면 선택 (XY/ZX/YZ) | - |
| G20/G21 | 단위계: 인치 / 밀리미터 | - |
| G40/G41/G42 | 공구 반경 보정 해제/좌/우 | D, X, Y, Z |
| G43/G49 | 공구 길이 보정 적용/해제 | H, Z |
| G54~G59 | 기계/작업 좌표계 선택 | - |
| G90/G91 | 절대/증분 프로그래밍 | - |
기본 M-코드 목록
| 코드 | 기능 | 보조 |
| M00 | 프로그램 정지 | - |
| M03/M04 | 주축 정회전/역회전 | S |
| M05 | 주축 정지 | - |
| M06 | 자동 공구 교환 (ATC) | T |
| M08/M09 | 절삭유 ON/OFF | - |
| M30 | 프로그램 종료 | - |
| M98/M99 | 서브루틴 호출/복귀 | 서브루틴명 |
CNC 프로그래밍 방법 3가지
- 수동 프로그래밍: 도면 보며 직접 G/M-코드 작성. 숙련도 필요, 단순 형상에 적합
- 장비 상 프로그래밍 (MDI/대화형): 제어장치 화면에서 대화형으로 형상 입력 → 자동 G-코드 생성. 중소형 형상에 유리
- CAD/CAM 시스템 프로그래밍: 3D 모델 → CAM 전략으로 공구 경로 생성(CL 파일) → 시뮬레이션 검증 → 포스트프로세서로 G-코드 변환 → 장비 전송. 복잡 곡면·다축 가공 필수
CAD/CAM 절차: ① CAD 모델링 ② CAM 공구경로 생성(CL 파일) ③ 시뮬레이션 검증 ④ 포스트프로세싱(G-코드) ⑤ 장비 전송·셋업 ⑥ 가공 조건 확인 ⑦ 실가공
결론
대화형·CAD/CAM 프로그래밍이 보편화됐어도, 특수 상황 대응과 근본 이해를 위해 G/M-코드 지식은 필수입니다. G/M-코드는 범용성이 높아 기초만 알면 어떤 CNC 장비든 최소 문법 차이로 프로그래밍 가능합니다. 전문 CNC 프로그래머가 필요하신가요? 20년 경력 웨이켄(WAYKEN)의 숙련 엔지니어와 첨단 설비가 귀사의 설계를 완벽 구현해 드립니다. 지금 즉시 견적 문의하세요!