오늘 The Mechanical Post에서 CNC 가공의 G코드와 M코드가 무엇인지 알아봅니다. 기사 끝 버튼으로 PDF 다운로드·인쇄 가능.
CNC 프로그래밍 소개
초기 CNC 머신은 펀치 테이프나 마그네틱 테이프로 명령 입력. 기술 발전으로 컴퓨터 대체. 컴퓨터화 CNC 컨트롤러 예시:
HafeezJD, CC BY-SA 4.0, via Wikimedia Commons
CNC 머신은 특정 언어로 명령 이해. 이 언어는 G코드와 M코드라 불리는 미리 정의된 코드 집합으로 구성.
각 코드 고유 기능, 여러 코드 조합으로 공작물 가공. 이전 포스트에서 CNC 작동, 종류, 장점, 적용 분야 상세 다뤘음: 'CNC 머신이란? 작동·종류·장점·용도 with PDF' 참조.
G코드·M코드 시작 전 CNC 파트 프로그램 완성용 다른 코드/워드도 사용. CNC에서 쓰이는 다양한 코드/워드 살펴봅시다.
N-워드 (N-words)
시퀀스 번호 표현. 블록 식별 도움(각 명령 줄 = 블록). 단계별 작성 시 1번, 2번... 번호 매기듯 CNC 파트 프로그래밍에서 각 줄/블록에 N100, N110, N120... 번호 부여. 보통 10이나 5 단위.
이송 워드 (Feed word, F code)
기계 공구 이송 속도. 형식: F_ _ 뒤 요구 이송률 지정. 예: F240 → 이송률 240. 이송률 단위: mm/min(G94) 또는 mm/rev(G95), 작업자 선택.
X, Y, Z 워드
공구 위치 좌표 지정 코드. X, Y, Z 축 표현. 선형 축 외 각도 위치는 I, J, K 워드로 지정.
스핀들 속도 워드 (Spindle speed word, S-word)
스핀들 속도 S 문자로 표시. 단위: rpm. 예: S800 → 스핀들 속도 800 rpm.
공구 선택 (Tool selection, T word)
자동 공구 교환(ATC) 장착 CNC 머신에서 사용. 가공 중 다른 공구 필요 시 T-워드로 공구 선택 호출. 공구 매거진/라이브러리 각 공구 고유 주소. 예: 현재 테이퍼 공구 사용 중 구멍 뚫기 필요 → 드릴 비트 4번 위치 호출 위해 T04 사용.
CNC 밀링 머신
CNC 밀링용 G코드
CNC 밀링에서 흔히 쓰이는 G코드와 설명:
G00 – 급속 위치결정
G01 – 직선 이동/보간
G02 – 원호 이동/보간(시계방향)
G03 – 원호 보간(반시계방향)
G04 – 드웰(Dwell)
G10 – 프로그램 가능 데이터 입력
G17 – XY 평면 선택
G18 – ZX 평면 선택
G19 – YZ 평면 선택
G20 – 인치 단위 프로그래밍
G21 – 미터법 단위 프로그래밍
G27 – 기준점 복귀 확인
G28 – 기준점 자동 복귀
G29 – 기준점에서 자동 복귀
G30 – 2, 3, 4번째 기준점 복귀
G40 – 커터 직경 보정 취소
G41 – 커터 직경 보정 왼쪽
G42 – 커터 직경 보정 오른쪽
G43 – 공구 길이 보정 양수(+ )
G44 – 공구 길이 보정 음수(-)
G45 – 공구 오프셋 증가
G46 – 공구 오프셋 감소
G49 – 공구 길이 오프셋 취소
G53 – 기계 좌표계
G54-59 – 공작물 좌표계
G80 – 캔드 사이클 취소
G81 – 드릴링 캔드 사이클
G82 – 카운터보링/카운터싱킹 캔드 사이클
G83 – 펙 드릴링 캔드 사이클
G84 – 탭핑 캔드 사이클
G85 – 리밍 캔드 사이클
G86 – 보링 캔드 사이클
G90 – 절대 위치결정
G91 – 증분 위치결정
G92 – 영점 프리셋
G94 – 이송률 mm/min
G95 – 이송률 mm/rev
G96 – 일정 표면 속도 제어
G97 – 일정 표면 속도 제어 해제
CNC 터닝용 G코드
CNC 터닝에선 밀링 대비 일부 G코드 변경. 코드 목록:
G00 – 선형 방향 급속 이동
G01 – 선형 가공
G02 – 시계방향 가공
G03 – 반시계방향 가공
G04 – 드웰
G09 – 정확 정지 확인
G10 – 프로그램 가능 데이터 입력
G17 – X-Y 평면 선택
G18 – X-Z 평면 선택
G19 – Y-Z 평면 선택
G20 – 인치 단위 프로그래밍
G21 – mm 단위 프로그래밍
G27 – 기준점 복귀 확인
G28 – 기준점 복귀
G29 – 기준점 복귀
G30 – 2, 3, 4번째 기준점 복귀
G32 – 캔드 상수 리드 나사절삭 (스핀들 동기화된 G01 유사)
G40 – 공구 커터 보정 해제(반경 보상)
G41 – 공구 커터 보정 왼쪽(반경 보상)
G42 – 공구 커터 보정 오른쪽(반경 보상)
G43 – 공구 길이 보정(양수)
G44 – 공구 길이 보정(음수)
G49 – 공구 길이 보정 취소
G50 – 모든 스케일 팩터 1.0 리셋
G51 – 스케일 팩터 켜기
G52 – 모든 좌표계 로컬 워크 시프트
G53 – 기계 좌표계(워크 오프셋 취소)
G54 – 공작물 좌표계(1번째 공작물)
G55 – 공작물 좌표계(2번째 공작물)
G56 – 공작물 좌표계(3번째 공작물)
G57 – 공작물 좌표계(4번째 공작물)
G58 – 공작물 좌표계(5번째 공작물)
G59 – 공작물 좌표계(6번째 공작물)
G70 – 피니시 터닝 사이클(캔드)
G71 – 러프 터닝 사이클(캔드)
G72 – 러프 페이싱 사이클(캔드)
G73 – 패턴 반복 사이클(캔드)
G74 – 펙 드릴링 사이클(캔드)
G75 – 그루빙 사이클(캔드)
G76 – 나사절삭 사이클(캔드)
G80 – 캔드 사이클 취소(캔드)
G83 – 페이스 드릴링 사이클(캔드)
G84 – 페이스 탭핑 사이클(캔드)
G86 – 보링 캔드 사이클, 스핀들 정지, 급속 이송 아웃(캔드)
G87 – 사이드 드릴링 사이클(캔드)
G88 – 사이드 탭핑 사이클(캔드)
G89 – 사이드 보링 사이클(캔드)
G90 – 절대 프로그래밍(B, C 타입 시스템)
G91 – 증분 프로그래밍(B, C 타입 시스템)
G92 – 나사절삭 사이클(캔드)
G94 – 엔드페이스 터닝 사이클
G96 – 일정 표면 속도 ON
G97 – 일정 표면 속도 취소
G98 – 이송률 mm/min
G99 – 이송률 mm/rev
CNC M코드
M코드는 터닝과 밀링 거의 동일. 주로 다양한 공정 ON/OFF용. M코드 목록:
M00 – 프로그램 정지
M01 – 선택적 정지
M02 – 프로그램 종료
M03 – 스핀들 시작
M04 – 스핀들 시작(반시계방향)
M05 – 스핀들 정지
M06 – 공구 교환
M07 – 냉각수 ON(스핀들 내부)
M08 – 냉각수 ON
M09 – 냉각수 OFF
M30 – 프로그램 끝
M98 – 서브루틴 호출
M99 – 서브루틴 종료
함께 읽으면 좋은 글:
주조란? 상세 설명.
산업 자동화란? 종류는?
GTAW/TIG 용접이란?
가장 흔히 쓰이는 G코드 설명
G00 – 급속 이동
G00은 급속 이동. 공구 한 점에서 다른 점으로 빠르게 이동. 최대 속도 이동. 속도 제조사 지정. 공구 이동 중 절삭 안 함. 공구 공작물 멀리 있을 때 주로 사용. 보통 공구 호출 시 느린 속도 순회 → 시간 증가 → 손실. 그래서 G00 사용. 형식: G00 X_ Y_ Z_ G00 호출 후 목적지 X, Y, Z 좌표 지정. 예: G00 X25 Y05 Z00
G01 – 직선 이동/보간
한 점에서 다른 점으로 선형 방향 절삭/가공용. 형식: G01 X_ Y_ Z_ F_ G01 호출 후 목적지 X, Y, Z 좌표 지정. 이송률도 함께. 예: G01 X30 Y15 Z2 F120. 이송률 단위: mm/min(G94) 또는 mm/rev(G95), 공작물 설계·작업자 따라 다름.
G02 – 원호 이동/보간 (시계방향)
공구 원호 경로 따라 절삭/가공 시 G02(시계방향) 사용. 반시계방향은 G03 코드.
G04 – 드웰(Dwell)
가공 불필요 시 사용. 드웰 중 공구 대기. 형식: G04 X_ 또는 G04 P_. 코드 작성 후 드웰 시간 지정. X=초, P=밀리초. 예: G04 X5 / G04 P60.
이상 널리 쓰이는 G코드 간략 설명. machinistguides.com에서 각 코드 상세 확인 가능.
실제 파트 프로그램 예시로 완제품 공작물 제작 과정 확인 가능.
╍╍╍╍╍╍╍╍╍╍
이상 CNC 머신용 G코드·M코드 개요. 글 좋거나 제안 있으면 댓글 남겨주세요.
텔레그램 채널 가입해 기계공학 업데이트 받으세요. 곧 또 다른 흥미로운 기사로 돌아오겠습니다. 계속 읽으세요!