간단한 답변:
G 코드와 M 코드는 모든 CNC 선반 작동을 제어하는 두 가지 핵심 언어입니다. G 코드는 공구 경로와 위치 지정, 보간, 이송 속도 등의 동작 명령을 제어하는 반면, M 코드는 스핀들 시작 및 정지, 절삭유 제어, 프로그램 종료와 같은 기계 기능을 처리합니다. 이러한 코드를 명확히 이해하지 못하면 기계 출력을 잘못 해석하거나, 잘못된 재료를 선택하거나, 표준 CNC 선반으로는 안정적으로 생산할 수 없는 사양을 요구하기 쉽습니다.
대부분의 구매자는 코드를 처음부터 직접 작성할 필요는 없지만, 코드를 읽고 평가할 수는 있어야 합니다. 이해하기 CNC 선반의 G 코드 및 M 코드 이를 통해 공급업체가 귀사의 부품 형상을 제대로 이해하고 있는지 확인하고, 해당 업체의 기계 설정이 귀사의 공차 요구 사항을 충족하는지 확인할 수 있을 뿐만 아니라, 양산 전에 편차나 수정 사항을 전달할 수 있는 실용적인 방법을 제공합니다.
YPMFG에서는 고객의 도면을 검토하고, 가장 효율적인 방안을 제안합니다. CNC 선반 가공 프로그램, 그리고 엔지니어링 평가를 수행하여 코드 불일치를 조기에 파악합니다. 아래 정보에서는 이러한 코드가 실제 생산 현장에서 어떤 의미를 지니는지, 부품 품질과 비용에 어떤 영향을 미치는지, 그리고 기계 가공 업체와 사양을 공유할 때 무엇을 확인해야 하는지에 대해 다룹니다.
CNC 선반에서 G 코드와 M 코드가 실제로 제어하는 것
G 코드와 M 코드는 거의 모든 CNC 선반에서 사용되는 ISO 표준 프로그래밍 언어에 속합니다. 이는 제품명이나 독점적인 기능이 아닙니다. 기계 컨트롤러가 단계별로 해석하는 기능적 명령어입니다.
G 코드 기하학적 구조와 운동 거동을 정의합니다. 이 명령들은 기계에 이동할 위치, 점과 점 사이를 어떻게 이동할지, 고속 이동을 사용할지 제어 이동을 사용할지, 그리고 어떤 보간 모드를 적용할지 등을 지시합니다.
M 코드 보조 기계 동작을 정의합니다. 일반적으로 전원을 켜거나 끄고, 공작물 고정 신호를 관리하며, 절삭유 공급을 제어하고, 정지 및 재설정 상태와 같은 프로그램 흐름 제어를 처리합니다.
두 가지 코드 유형은 모두 하나의 공구 프로그램 내에서 함께 사용됩니다. 한 줄에는 여러 개의 G 코드, 하나 또는 두 개의 M 코드, 축 위치, 이송 속도 또는 회전 속도 값이 포함될 수 있습니다.
CNC 선반 프로그래밍에 사용되는 주요 G 코드
G 코드는 컨트롤러 계열에 따라 약간씩 차이가 있지만, CNC 선반에서 가장 일반적으로 사용되는 ISO G 코드는 일관된 논리를 따릅니다. 아래에 소개된 코드들은 대부분의 생산 프로그램에서 볼 수 있는 기능을 다루고 있습니다.
| G 코드 | 함수 | CNC 선반에서의 일반적인 용도 |
|---|---|---|
| G00 | 신속한 위치 파악 | 공작물 내 각 피처 간 빠른 비절삭 이동 |
| G01 | 선형 보간법 | 직선 절삭, 테이퍼 선삭, 평면 가공 |
| G02 | 시계 방향 원형 보간 | 아크 절단, 반경 프로파일링 |
| G03 | 반시계 방향 원형 보간 | 아크 절단, 반경 프로파일링 |
| G17 | XY 평면 선택 | 선반 가공을 위한 평면 기준 |
| G20 | 인치 단위 | 인치 단위의 프로그램 치수 |
| G21 | 미터법 입력 단위 | 프로그램 치수 지정(단위: 밀리미터) |
| G27 | 기준점 복귀 확인 | 기계의 제로 위치 확인 |
| G28 | 기준점으로 돌아가기 | 기계 제로점으로 자동 복귀 |
| G40 | 커터 반경 보정 해제 | 마무리 동작을 수행하기 전에 반경 보정을 제거하십시오 |
| G41 | 커터 반경 보정 (왼쪽) | 프로파일 절삭 시 공구 오프셋 보정 |
| G42 | 커터 반경 보정 (오른쪽) | 프로파일 절삭 시 공구 오프셋 보정 |
| G54부터 G59까지 | 작업 좌표계 선택 | 저장된 작업 오프셋 테이블 선택 |
| G90 | 절대 프로그래밍 | 모든 위치는 고정된 원점을 기준으로 계산되었습니다. |
| G91 | 증분 프로그래밍 | 마지막 지점을 기준으로 계산된 위치 |
| G94 | 분당 공급량 | 분당 거리 단위로 지정된 이송 속도 |
| G95 | 1회전당 이송량 | 1회전당 거리 단위로 지정된 이송 속도 |
| G96 | 일정한 표면 속도 | 스핀들 속도가 안정적인 절삭 속도를 유지하도록 조절됩니다. |
| G97 | 일정한 RPM | 직경에 관계없이 스핀들 속도는 일정하게 유지됩니다. |
이러한 코드는 모든 CNC 선반 프로그램의 구조적 근간을 이룹니다. 이를 이해하면 공급업체가 귀하의 공작물 형상에 적합한 동작 로직을 적용하고 있는지 평가하는 데 도움이 됩니다.
CNC 선반 프로그래밍에 사용되는 Core M 코드
M 코드는 일반적으로 G 코드보다 간단하지만, 여전히 중요한 작업적 의미를 지닙니다. 각 M 코드는 절삭 주기를 지원하는 특정 기계 기능을 실행합니다.
| M 코드 | 함수 | CNC 선반에서의 일반적인 용도 |
|---|---|---|
| M00 | 프로그램 중지 | 수동 검사 또는 측정을 위해 실행을 일시 중지합니다. |
| M01 | 선택적 경유지 | 선택 사항인 정지 스위치가 활성화된 경우에만 일시 정지합니다. |
| M03 | 스핀들이 시계 방향으로 회전하기 시작합니다. | 공작물 또는 공구 스핀들을 앞으로 회전시킵니다 |
| M04 | 스핀들이 시계 반대 방향으로 회전하기 시작합니다. | 스핀들을 반대 방향으로 회전시킵니다 |
| M05 | 스핀들 정지 | 절삭 또는 위치 결정 후 스핀들 회전을 정지합니다. |
| M06 | 공구 교환 | 터렛 인덱스 또는 공구 교환 순서를 활성화합니다. |
| M08 | 냉각수 공급 중 | 스핀들 통로식 절삭유 공급을 개시합니다. |
| M09 | 냉각수 차단 | 냉각수 회로를 차단합니다 |
| M30 | 프로그램 종료 및 되감기 | 프로그램을 종료하고 시작 블록으로 돌아갑니다. |
M 코드는 또한 심압대 이송, 척 클램핑 신호, 칩 컨베이어 작동과 같은 부속 장치의 제어에도 사용됩니다. 이러한 맞춤형 또는 기계별 M 코드는 제조사에 따라 다르며, 일반적으로 구매자와의 표준적인 논의 대상에는 거의 포함되지 않습니다.
G 코드 및 M 코드가 부품 품질과 비용에 미치는 영향

코드 선택은 단순히 이론적인 문제가 아닙니다. 프로그래머가 G 코드와 M 코드를 작성하는 방식은 절삭 안정성, 표면 마감, 사이클 시간, 그리고 재작업 발생 가능성에 직접적인 영향을 미칩니다.
사용 G96 일정한 표면 속도 고정 RPM 대신 이 방식을 사용하면 직경이 다양한 경우 표면 마무리를 개선할 수 있습니다. 이 방식은 공구가 스핀들 중심을 향해 이동하거나 멀어질 때에도 절삭 속도를 일정하게 유지해 줍니다.
선택하기 G01, 회전당 적절한 이송량 과도한 이송 속도를 피함으로써 공구 마모를 줄이고, 가늘거나 벽이 얇은 부품에서 변형을 방지할 수 있습니다.
과도한 사용 G00 급속 이동 마무리가 거의 끝난 가공면은 자국을 남기거나 칩의 흐름을 방해할 수 있습니다. 프로그래머들은 일반적으로 최종 가공 단계에 들어가기 전에 제어 이송 모드로 전환합니다.
부적절한 사용은 G41 및 G42 커터 보정 반경 오차가 발생하거나 윤곽 피처에 잔여 재료가 남을 수 있습니다. 보정 값은 실제 공구 형상과 오프셋 테이블과 일치해야 합니다.
이러한 선택 사항들은 개별 프로그램에서는 사소해 보일 수 있지만, 일괄 생산 단계에 이르면 그 영향이 배가됩니다. 프로그래밍상의 사소한 비효율성 때문에, 동일한 도면을 바탕으로 견적을 제시하는 두 공급업체가 리드 타임과 단가에서 큰 차이를 보이는 경우가 종종 있습니다.
컨트롤러마다 코드 표준이 다른 이유
제조사에 따라 CNC 선반의 작동 방식이 항상 똑같은 것은 아닙니다. Fanuc, Mitsubishi, Siemens, Haas의 컨트롤러는 공통된 ISO 기반을 공유하지만, 각 제조사마다 독자적인 확장 기능과 미묘한 논리적 차이를 더하고 있습니다.
한 컨트롤러 계열에서 작성된 프로그램은 다른 컨트롤러 계열에서 실행하기 전에 일부 수정이 필요할 수 있습니다. 일반적으로 나타나는 차이점으로는 고정 사이클 정의, 공구 수명 관리를 위한 매개변수 설정, 긴 공작물 프로그램 처리를 위한 대체 메모리 처리 방식 등이 있습니다.
이것이 바로 노련한 CNC 부품 제조 가공 업체들은 먼저 귀하의 도면을 검토합니다. 이들은 귀하의 기하학적 요구 사항을 자사 기계가 가장 효율적으로 처리할 수 있는 코드 전략에 매핑합니다. 이러한 매핑을 통해 시험 가동을 줄이고, 예기치 않은 경보 발생을 방지하며, 반복되는 생산 배치 전반에 걸쳐 프로그램의 안정성을 유지합니다.
구매자가 CNC 선반 프로그램을 평가할 때 흔히 저지르는 실수
많은 구매 담당자들이 프로그램 구조는 간과한 채 최종 치수와 표면 마감에만 집중합니다. 이러한 접근 방식은 특히 신규 공급업체를 선정하거나 생산량을 확대할 때 위험을 초래합니다.
흔히 저지르는 실수 중 하나는 사이클 시간이 길면 품질이 반드시 더 좋다고 가정하는 것입니다. 때로는 프로그램이 길어질수록 불필요한 위치 조정, 중복된 보정, 또는 지나치게 보수적인 이송 속도가 포함되어, 부품의 품질을 향상시키지 못하면서도 비용만 증가시키는 경우가 있습니다.
또 다른 실수는 M 코드 기능을 선택 사항으로 취급하는 것입니다. M08(절삭유 공급), M06(공구 교환), M30(프로그램 종료)과 같은 신호는 안전성과 반복 정밀도를 위해 기계 로직에 내장되어 있습니다. 이러한 코드를 제거하거나 잘못 배치하면 경보가 발생하거나 가공 사이클이 제대로 완료되지 않을 수 있습니다.
일부 구매자들은 또한 다음 사이의 관계를 간과하기도 하는데, G90 절대 위치 지정 그리고 G91 증분 위치 지정. 두 모드를 잘못 혼합하면 공작물의 좌표 기준점이 어긋나 작업 단계 간에 치수 편차가 발생할 수 있습니다.
견적이나 기술 검토를 요청할 때, 공급업체는 제안된 규격 전략이 귀사의 자재, 공차 범위 및 납기 일정에 부합하는지 확인해야 합니다.
CNC 가공 업체에 도면을 보내기 전에 확인해야 할 사항
G 코드나 M 코드를 직접 작성할 필요는 없지만, 프로그래머가 해당 부품에 적합한 코드 전략을 선택할 수 있도록 필요한 정보를 제공해야 합니다. 명확한 도면, 재료 사양 및 현실적인 공차 목표치를 제시하면 수차례의 수정 과정을 줄이고 견적의 정확성을 높일 수 있습니다.
아래 체크리스트에는 CNC 선반 프로그램의 구성 방식에 가장 큰 영향을 미치는 정보들이 포함되어 있습니다.

중요 직경, 길이 및 나사산 구역에 대한 치수 공차를 확인하십시오.
해당되는 경우, 재료 등급 및 열처리 상태를 명시하십시오.
특별한 공구 접근이나 비정상적인 공구 경로가 필요한 모든 특징을 파악하십시오.
기능적 영역 및 외관적 영역에 대한 표면 마감 요건을 정의한다
귀사의 설계에서 표준 그립 방식 또는 바 공급 방식의 재고 길이를 모두 허용하는지 명확히 밝혀 주십시오.
나사 가공, 널링, 크로스 드릴링과 같은 2차 가공 공정이 있는 경우 이를 기록하십시오.
다음과 같은 경우 점검 항목을 명시하십시오. CNC 선반 가공 프로그램 일시 정지나 측정 주기가 필요할 수 있습니다
이 항목 중 불분명한 부분이 있다면, 해당 프로그램에는 추가적인 안전 블록, 더 긴 공구 경로 또는 추가 보정이 포함될 가능성이 높습니다. 이러한 조정으로 인해 사이클 시간이 늘어나고 비용이 증가할 수 있습니다.
YPMFG의 CNC 선반 G 코드 및 M 코드 평가 방식
저희는 코드 선정을 단순히 ‘블랙박스’처럼 취급하지 않습니다. 새로운 프로젝트가 들어오면, 엔지니어들은 먼저 고객의 형상을 적합한 프로그래밍 전략에 맞춰 매핑합니다. 그리고 표준 ISO 코드로 충분한지, 아니면 기계별 전용 사이클을 사용하는 것이 더 명확한 해결책이 될지 평가합니다.
복잡한 프로파일의 경우, 우리는 종종 숨겨진 고정 사이클보다 명시적인 선형 및 원형 보간법을 선호합니다. 이러한 접근 방식을 통해 이송량, 절삭 깊이, 보정 로직을 직접 제어할 수 있습니다. 또한 나중에 수정 요청이 있을 때 프로그램 검토를 더 간단하게 진행할 수 있습니다.
첫 번째 제품 가공에 앞서 시뮬레이션 검증을 수행합니다. 이 단계를 통해 충돌을 파악하고, 기준점 복귀를 확인하며, G 코드 및 M 코드 시퀀스가 기계의 실제 성능과 일치하는지 검증합니다. 특정 가공 부위가 안전한 선반 가공 범위를 벗어날 경우, 이를 조기에 파악하여 수정된 가공 방법이나 보완 공정을 제안합니다.
사양서를 YPMFG로 보내주시면 검토해 드리겠습니다. 기술적 범위가 명확해지면 코드 로직, 권장 자재 및 공정 관련 사항이 포함된 간략한 엔지니어링 평가 결과와 견적서를 보내드리겠습니다.
G 코드 및 M 코드 선택이 리드 타임과 단가에 미치는 영향
코드 효율성은 리드 타임과 단가를 좌우하는 숨은 요인 중 하나입니다. 안정적인 칩 제어 하에 더 적은 패스로 목표 치수에 도달하는 프로그램은 대개 비용과 일정 면에서 모두 우위를 차지합니다.
도구 경로가 길어지거나, 복합 사이클이 과도하게 사용되거나, 불필요한 정지 블록이 추가되면 부품 하나당 가공 시간이 몇 초씩 늘어납니다. 소형 부품의 경우, 대량 생산 시 이러한 몇 초의 차이가 금세 누적됩니다.
수동 개입 단계에 크게 의존하거나, 절삭유 공급이 빈번하게 중단되거나, 보정 재설정이 불안정한 프로그램 역시 변동성을 증가시킵니다. 이러한 변동성은 시료 승인 절차를 지연시키고, 기계 가공 업체와 구매자 모두에게 작업량 일정 수립을 더 어렵게 만듭니다.
이 때문에 저희는 고객 여러분께서 조도 목표치, 공차 범위, 배치 크기를 조기에 알려주시기를 권장합니다. 이러한 정보는 그 어떤 단일 가공 매개변수보다도 코드 전략을 결정하는 데 더 큰 영향을 미칩니다.
구매자들이 CNC 선반의 G 코드 및 M 코드에 대해 자주 묻는 실용적인 질문들
하나의 CNC 선반 프로그램으로 미터법과 인치법 치수를 모두 처리할 수 있나요?
네, 하지만 프로그램에서는 미터법을 사용할 때는 G21을, 인치법을 사용할 때는 G20을 일관되게 사용해야 합니다. 하나의 프로그램 내에서 두 단위 체계를 혼용하면 대개 좌표 충돌이나 치수 오류가 발생합니다. 더 안전한 방법은 각 단위 체계별로 별도의 프로그램을 작성하는 것입니다.
왜 어떤 프로그램은 G96을 사용하고, 다른 프로그램은 G97을 사용하는 것일까요?
G96은 일정한 표면 속도를 유지하므로, 직경이 변하는 경우에도 일관된 표면 마감을 얻는 데 유용합니다. G97은 고정된 회전수(RPM)를 유지하며, 더 간단하고 짧은 반복 선삭 가공이나 경질 소재 가공 시 주로 선호됩니다. 어떤 것을 선택할지는 표면 요구 사항과 소재의 특성에 따라 달라집니다.
G41 및 G42 보정 기능을 기계가 자동으로 처리하도록 두어도 안전한가요?
오프셋 테이블이 실제 공구의 형상 및 마모 상태와 일치할 때 자동 보정 기능이 제대로 작동합니다. 오프셋 값이 부정확하면 프로그램이 별다른 경고 없이 프로파일을 실제 치수보다 작게 또는 크게 가공할 수 있습니다. 첫 번째 시제품을 가공하기 전에 항상 공구 오프셋 값을 확인하십시오.
M00 또는 M01을 절삭 사이클 내에 배치하면 어떻게 되나요?
한 M00 일시 정지 작업자가 사이클 시작 버튼을 다시 누를 때까지 모든 동작이 즉시 중지됩니다. M01 선택적 정지 기능도 동일한 방식으로 작동하지만, 선택적 정지 스위치가 켜져 있을 때만 활성화됩니다. 두 기능 모두 공정 중 검사에 유용하지만, 불필요하게 사용하면 사이클 시간이 늘어납니다.
~하세요 다른 CNC 선반 제조사마다 사용하는 M 코드가 완전히 다른가요?
대부분의 M 코드는 동일한 ISO 표준을 따르지만, 일부 브랜드에서는 사용되지 않는 M 번호에 추가 기능을 할당하기도 합니다. M03, M05, M06, M08, M09, M30과 같은 핵심 기능은 널리 공통적으로 사용됩니다. 사용자 정의 또는 부가적인 M 코드의 경우, 프로그램을 교환하기 전에 반드시 가공 업체와 확인해야 합니다.
공급업체에 전체 프로그램 코드를 공유해 달라고 요청해야 할까요?
해당 프로그램을 요청할 수는 있지만, 보안상의 이유로 많은 업체들이 편집된 버전만 공유합니다. 일반적으로 더 유용한 문서는 공정 시트, 공구 배치도, 세팅 참고 사항 등입니다. 이러한 문서들은 독점적인 중첩 구조나 루틴을 노출하지 않으면서도 코드 전략을 파악할 수 있게 해줍니다.
제 부품에 대해 제시된 사이클 타임이 현실적인지 어떻게 알 수 있나요?
명시된 사이클 시간을 예상되는 피스 수, 재료 제거량 및 공차 범위와 비교해 보십시오. 복잡한 부품의 경우 사이클 시간이 지나치게 짧은 것은 종종 과도한 이송 속도, 보정 생략 또는 본격적인 양산 단계에서 공차를 충족하지 못할 수도 있는 단순화된 프로그램을 의미할 수 있습니다.
코드 준비 상태를 바탕으로 적합한 CNC 선반 가공 파트너 선정하기
G 코드 및 M 코드의 논리를 잘 이해하는 공급업체는 대개 프로그래밍상의 위험 요소가 공작 기계에 반영되기 전에 이를 파악합니다. 이러한 공급업체는 고객의 공차 표기 사항을 조정하고, 실현 가능한 소재 크기를 제안하며, 표준 선반의 성능에 부합하는 가공 순서를 권장할 수 있습니다.
견적서를 비교할 때는 단가만 보고 판단하지 마십시오. 불명확하거나 지나치게 단순화된 코드 논리에 기반한 저렴한 견적은 종종 재작업, 샘플링 주기 연장, 예측 불가능한 배치 성능 문제로 이어집니다. 명확한 프로그램 전략을 수립할수록 초기 제품 검사 결과가 더 안정적이고, 양산 전환 과정도 더 원활하게 진행되는 경향이 있습니다.
견적에 최종 동의하기 전에 YPMFG에 엔지니어링 평가를 요청하실 수 있습니다. 도면, 소재, 공차 목표치 및 예상 생산 수량을 알려주시기 바랍니다. 당사에서 이를 검토한 후 CNC 선반의 G 코드 및 M 코드 그 함의를 분석하고, 실행 가능한 절차적 접근 방안을 제시하며, 명확한 기술적 설명이 포함된 투명한 견적서를 제출합니다.





