직업공부

CNC 초보가 헷갈리는 G코드 5가지 완벽 정리

궁금한 회사원 2025. 10. 31. 11:16
반응형

CNC를 배우기 시작하면 가장 먼저 부딪히는 것이 바로 G코드다.
G코드는 공작기계가 어떤 방식으로, 어떤 경로로 움직일지를 지시하는 명령어다.
숫자와 문자가 섞여 있어서 어렵게 느껴지지만, 원리를 이해하면 그리 복잡하지 않다.
이번 글에서는 초보자들이 특히 많이 헷갈려 하는 G코드 다섯 가지를 중심으로 차근히 살펴본다.


1. G00과 G01 — 이동 속도의 차이를 구분하자

G00은 급속이송(rapid move), G01은 절삭이송(feed move) 명령이다.
둘 다 공구를 이동시키지만, 속도와 목적이 다르다.

  • G00 : 공구를 다음 위치로 빠르게 이동시킬 때 사용한다. 절삭하지 않는다.
  • G01 : 실제로 재료를 절삭할 때 사용하며, 이송 속도(F값)를 지정해야 한다.

예를 들어 공구가 가공할 위치로 이동할 때 G00을 쓰고,
가공을 시작하는 순간에는 G01로 전환한다.
이 구분을 하지 않으면 공작물과 공구가 부딪혀 파손될 수 있다.
현장에서는 “공작물 근처에서는 G00을 쓰지 않는다”는 말이 있을 정도다.


2. G02와 G03 — 원호 가공의 방향이 다르다

G02와 G03은 원호(arc) 가공을 위한 명령어다.
G02는 시계 방향(clockwise), G03은 반시계 방향(counterclockwise) 으로 공구를 움직인다.

원호를 가공할 때는 중심 좌표(I, J, K) 또는 반지름(R)을 함께 지정해야 한다.
문제는 기준 평면이 다르면 방향이 달라진다는 점이다.
CNC에서는 G17, G18, G19로 평면을 지정하는데,

  • G17은 X-Y 평면
  • G18은 X-Z 평면
  • G19는 Y-Z 평면을 의미한다.

예를 들어 G17 상태에서 G02를 입력하면 시계 방향으로 원을 그리고,
G18에서는 X-Z 평면 기준으로 같은 코드가 다른 방향으로 작동할 수 있다.
따라서 G02, G03을 사용할 때는 현재 평면 설정을 먼저 확인해야 한다.


3. G28 — 단순한 ‘원점 복귀’가 아니다

많은 초보자들이 G28을 단순히 “원점으로 돌아가는 코드”라고 기억한다.
하지만 실제로는 기계 좌표계의 원점(Machine Home) 으로 이동하는 명령이다.
즉, 워크 좌표계(G54~G59)와 관계없이 기계의 기준점으로 급속 이동한다.

이때 공구가 바로 원점으로 향하면 충돌 위험이 있다.
그래서 일반적으로는 중간 지점을 지정해 안전하게 이동시킨다.
예를 들어 G28 U0 W0; 라고 입력하면
공구가 X, Z축 방향으로 잠시 이동한 후 원점으로 돌아간다.
이렇게 하면 공작물이나 척과의 충돌을 피할 수 있다.
G28을 사용할 땐 “먼저 빼고, 그 다음 복귀”라는 순서를 기억해 두자.


4. G90과 G91 — 절대좌표와 증분좌표의 개념

G90은 절대좌표(Absolute mode), G91은 증분좌표(Incremental mode) 이다.

  • G90 : 프로그램 기준점(워크 원점)으로부터의 절대 위치를 지정한다.
  • G91 : 현재 위치를 기준으로 한 상대 이동 거리를 지정한다.

예를 들어
G90 X50; → 기준점에서 X축 50mm 지점으로 이동
G91 X50; → 현재 위치에서 X축 방향으로 50mm 더 이동

이 차이를 모르면 공구가 엉뚱한 방향으로 급이동할 수 있다.
특히 G91 상태에서 G28을 쓰면 “현재 위치 기준으로 복귀”하려 하기 때문에 매우 위험하다.
프로그램의 시작 부분에 항상 G90 또는 G91을 명시해 두는 습관이 필요하다.


5. G40, G41, G42 — 공구 보정의 방향

공구 보정(tool compensation)은 초보자가 가장 헷갈리는 부분 중 하나다.
G40은 보정 해제, G41은 좌측 보정, G42는 우측 보정을 의미한다.
이는 공구의 반경을 보정해 실제 가공 치수를 정확히 맞추기 위한 기능이다.

예를 들어 공구가 경로를 따라 오른쪽으로 이동한다면,
공구의 중심은 경로 왼쪽으로 이동해야 원하는 치수가 나온다.
이때 G41을 사용한다. 반대로 이동 방향이 왼쪽이면 G42를 쓴다.
보정 방향을 반대로 입력하면 공구가 가공면을 침범해 불량이 발생할 수 있다.
도면을 보고 경로 방향을 먼저 판단한 뒤 보정 코드를 지정하는 것이 안전하다.


마무리 — G코드를 이해하는 가장 확실한 방법

G코드는 단순히 외워서 쓰는 명령어가 아니다.
각 코드가 가진 의도와 좌표 개념을 함께 이해해야 실제 작업에 활용할 수 있다.
처음엔 복잡하게 느껴지지만, 하나씩 동작을 실습해보면 점점 흐름이 보인다.

학습 순서는 G00과 G01 같은 단순 이동 명령부터 시작하고,
그다음 G02·G03의 원호 가공, G90·G91의 좌표 개념으로 확장해 보는 것이 좋다.
또한 사용하는 장비의 컨트롤러 종류(FANUC, Siemens 등)에 따라
동일한 코드라도 세부 동작이 다를 수 있으므로 매뉴얼을 꼭 확인해야 한다.

CNC에서 G코드를 제대로 이해하면 단순히 프로그램을 ‘입력하는 사람’이 아니라
기계의 움직임을 ‘예측하고 제어하는 기술자’로 성장할 수 있다.
이 글이 그 첫걸음이 되길 바란다.

 

반응형