간단한 답변:
G 코드는 부품 프로그램의 이동 및 형상 작업을 지시합니다 CNC 선반, 반면 M 코드는 스핀들 시작, 냉각수 온/오프, 프로그램 종료와 같은 보조 동작을 실행합니다. 두 코드는 함께 모든 선반 부품 프로그램. G 코드는 공구가 어디로 이동하고 어떻게 절삭할지 알려줍니다. M 코드는 컨트롤러가 어떤 보조 동작을 실행할지 알려줍니다. 둘 중 하나라도 없으면 정상적인 선삭 사이클을 실행할 수 없습니다. 이 두 코드 계열에 대한 실무 지식은 작성, 디버깅, 검토를 위한 최소 기준입니다 CNC 선반 G-code 모든 컨트롤러에서.
대부분의 작업자는 CNC 선반이 코드로 작동한다는 것을 알고 있습니다. 혼란이 시작되는 지점은 G 기능과 M 기능의 경계입니다. 코드 하나만 잘못 놓여도 스핀들 충돌, 누락된 절삭, 또는 작업 중간에 멈춰 배치를 폐기하는 프로그램이 될 수 있습니다. 이 가이드에서는 필수 코드, 하나의 블록 안에서 코드가 상호 작용하는 방식, 그리고 현장에서 가장 큰 손실을 초래하는 시퀀스 오류를 다룹니다.
G 코드와 M 코드가 실제로 하는 일
G 코드는 형상과 이동을 관장합니다: 직선 이송, 급속 이동, 원호 보간, 그리고 캔드 선삭 사이클입니다. M 코드는 주변 장치 동작을 관장합니다: 스핀들 제어, 냉각수, 공구 교환, 프로그램 종료입니다. 두 계열은 기능적으로 겹치지 않지만, 모든 블록에서 올바른 순서로 배치되어야 합니다.
선반 가공에 꼭 필요한 G 코드
| G 코드 | 함수 | 일반적인 용도 |
|---|---|---|
| G00 | 급속 이동 | 절삭 없이 공구를 시작점으로 이동 |
| G01 | 선형 보간법 | 프로그램된 이송 속도로 직선 절삭 |
| G02 / G03 | 원호 보간 | 외부 또는 내부 표면의 원호 |
| G96 | 일정한 표면 속도 | 다양한 직경에서 절삭 속도를 일정하게 유지 |
| G97 | 일정한 스핀들 속도 | 드릴링 또는 보링 작업을 위한 고정 RPM |
| G71 / G72 | 캔드 황삭 사이클 | 다중 패스 프로파일 황삭 및 정면 가공 |
G01과 G71은 거의 모든 선삭 프로그램에 등장합니다. 선택 기준은 G96 일정한 표면 속도 과 G97 중 어느 것을 고르느냐이며 스핀들 속도 제어 결정으로, 표면 조도와 공구 수명에 직접 영향을 미칩니다. 잘못 선택하면 절삭이 불균일해지거나 공구 날이 조기에 마모됩니다.
선반 작업에 꼭 필요한 M 코드
M 코드 세트는 더 짧지만 똑같이 중요합니다. 거의 모든 프로그램에서 보게 되는 네 가지는 다음과 같습니다:
M03 / M04 – 스핀들 정회전 / 역회전

M08 / M09 – 냉각수 켜기 / 끄기
M19 – 공구 교환을 위한 스핀들 방향 정렬
M30 – 프로그램 종료, 시작점 복귀
첫 절삭 전에 M08을 생략하면 공구 끝단에 열 손상이 생길 수 있습니다. 끝에서 M30을 잊으면 컨트롤러가 정의되지 않은 상태로 남아, 프로그램 큐에 로드되는 다음 작업에 영향을 줍니다.
단일 블록에서 G 코드와 M 코드가 작동하는 방식
“G01 X50 F0.1 M08”과 같은 한 줄은 이동, 이송, 냉각수를 하나의 컨트롤러 사이클로 결합합니다. G 기능과 M 기능은 해당 블록 안에서 동시에 실행됩니다. M08을 G01 뒤의 별도 줄로 분리하면 냉각수가 한 사이클 늦게 시작됩니다. 그 간격이면 첫 패스를 태우기에 충분할 수 있습니다.
블록 단위 편집을 지원하는 컨트롤러에서는 부품 검사나 M98, M99와 같은 서브 프로그램 호출을 위한 선택적 M 코드를 추가할 수 있습니다. 이러한 고급 M 코드는 응용 분야에 따라 다르고 제조사마다 다르므로, 컨트롤러 매뉴얼과 대조해 확인하십시오.
프로그램이 많은 작업을 실행할 때, CNC 선반 프로그래밍 오류는 보통 개별 코드 값이 아니라 시퀀스에서 비롯됩니다. YPMFG 작업이 현장에 투입되기 전에 바로 이런 종류의 타이밍 및 시퀀스 문제를 검토합니다.
폐기나 충돌을 일으키는 흔한 실수
안전한 S 값을 설정하기 전에 G96을 배치하여 첫 패스에서 스핀들이 과속하는 경우.
터렛형 선반에서 자동 공구 교환 전에 M19를 생략하는 경우.
부품 도면과 원호 중심 좌표를 확인하지 않고 G02/G03을 작성하는 경우.

각 오류는 폐기되는 부품을 만들거나, 최악의 경우 공구가 공작물에 충돌하게 합니다. 첫 절삭 전에 G-code 파일을 부품 도면과 한 줄씩 대조해 검토하십시오.
프로그램 실행 전 빠른 자체 점검
새로운 선반 프로그램에서 시작 버튼을 누르기 전에 다음 짧은 목록을 확인하십시오:
G28 또는 G30(기준점 복귀)이 첫 번째 G 코드인지 확인합니다.
G96이 활성화된 상태에서 S 값이 스핀들 정격 범위 내에 있는지 확인합니다.
모든 자동 공구 교환 전에 M19가 오는지 확인합니다.
M30이 프로그램의 마지막 M 코드인지 확인합니다.
모든 X, Z, R 좌표를 부품 도면과 비교합니다.
이 목록을 2분만 점검하면 대부분의 CNC 선반 프로그램 오류를 장비에서 값비싼 실수가 되기 전에 잡아냅니다.
## CNC 선반의 G 코드와 M 코드에 관한 자주 묻는 질문
FANUC, Siemens, HAAS 간에 G 코드와 M 코드가 다른가요?
핵심 G 코드 세트는 컨트롤러마다 비슷하지만, 사이클 번호와 M 코드 할당은 다릅니다. G71은 FANUC에서는 황삭 사이클이지만 Siemens에서는 다른 용도로 쓰입니다. 항상 컨트롤러별 코드표를 확인하십시오.
G 코드와 M 코드를 같은 줄에 함께 둘 수 있나요?
예, 그렇게 해야 합니다. 하나의 블록으로 묶으면 컨트롤러가 이를 단일 사이클로 읽어 이동과 보조 동작 사이의 타이밍 간격을 없앱니다.
가장 흔한 첫 줄 오류는 무엇인가요?
첫 절삭 전에 G28 또는 G30을 잊는 것입니다. 기준 원점을 알 수 없으면 이후의 모든 좌표는 장비의 정의되지 않은 위치를 기준으로 하게 됩니다.
일반적인 선삭 프로그램은 서로 다른 G 코드를 몇 개나 사용하나요?
대부분의 단일 부품 선삭 프로그램은 8~15개의 서로 다른 G 코드를 사용합니다. 개수는 G71 황삭 선삭 사이클 과 같은 캔드 사이클에 의존하는지, 각 패스를 수동으로 프로그래밍하는지에 따라 달라집니다.
캔드 사이클만 사용한다면 M 코드를 알아야 하나요?
G71과 같은 캔드 사이클도 내부적으로 스핀들 및 냉각수 제어를 위해 M 코드를 호출합니다. 사이클의 보조 동작을 재정의하거나 사용자 정의하려면 최소한 기본적인 M 코드 지식이 필요합니다.
작업에 맞는 코드 세트 선택하기
모든 G 코드와 M 코드를 외울 필요는 없습니다. 부품에 실제로 필요한 10~15개에 집중하십시오. YPMFG 위험한 S/T 값을 표시하는 것부터 작업이 장비에 도달하기 전에 더 안전한 캔드 사이클 구조를 제안하는 것까지, 코드 수준 검토가 필요한 프로젝트를 지원합니다.
프로그램이 계속 공차를 벗어난 부품을 생산한다면, G-code 파일을 YPMFG에 보내 독립적인 엔지니어링 검토를 받는 것이 현장에서 몇 주간의 시행착오를 절약할 수 있습니다. 부품 도면과 현재 프로그램을 공유하시면, 저희 팀이 수정이 필요한 특정 코드 줄을 찾아드립니다.




