Digital Transformation

IT 기술자의 시선으로 본 G코드: 소프트웨어와 하드웨어의 연결 고리

헬로제이콥 2026. 5. 9. 14:31

G코드는 기계(CNC 공작기계, 3D 프린터 등)에게 "어디로, 어떻게, 얼마나 빠르게 움직일지"를 지시하는 아주 단순명료한 작업 명령서입니다.

소프트웨어가 컴퓨터를 움직이게 한다면, G코드는 물리적인 모터와 절삭 공구를 움직이게 하는 가장 직관적인 스크립트 언어라고 볼 수 있습니다.

1. G코드의 아주 쉬운 예시

택시 기사님께 목적지를 설명하는 상황을 상상해 보면 이해하기 쉽습니다.

  • G00 X100 Y100 (급속 이송)
    • 의미: "기사님, (100, 100) 위치로 최대한 빨리 가주세요!"
    • 설명: 허공에서 공구가 빠르게 다음 작업 위치로 이동할 때 씁니다. 이때는 재료를 깎지 않습니다.
  • G01 X200 Y200 F50 (직선 보간)
    • 의미: "기사님, (200, 200) 위치까지 속도 50으로 일정하게 가주세요."
    • 설명: 실제로 재료를 깎거나(CNC) 노즐에서 플라스틱을 짜내며(3D 프린터) 이동할 때 씁니다. 여기서 F는 Feed rate(속도)를 뜻합니다.
  • 기초 G코드 가공 예제G90 G21 G17 (절대 좌표계 설정, 단위는 mm, 평면 가공 모드 설정) M03 S1500 (주축 회전 시작, 속도는 1500 RPM) G00 X0 Y0 Z5.0 (원점으로 이동하되, 안전을 위해 재료 위쪽 5mm 지점에 멈춤)G00 Z5.0 (공구를 재료 밖으로 빠르게 들어 올림) M05 (주축 회전 정지) M30 (프로그램 종료 및 처음으로 되돌리기)
  • 코드 읽는 법 꿀팁
    • G00/G01: 이동 명령 (빨리 갈래? 깎으면서 갈래?)
    • X/Y/Z: 목적지 주소 (어디로 갈래?)
    • F (Feed): 이동 속도 (얼마나 빠르게 갈래?)
    • S (Speed): 회전 속도 (날을 얼마나 빨리 돌릴래?)
    • M (Misc): 보조 기능 (기계를 켜고 끌래?)
    이 코드 뭉치를 포스트 프로세서에 넣으면, 사용하시는 미쓰비시나 화낙 컨트롤러의 '사투리'에 맞춰 헤더(시작 부분)와 푸터(끝부분)가 덧붙여진 최종 가공 파일이 완성됩니다.
  • G01 Z-1.0 F100 (재료 안으로 1mm 깊이만큼 천천히 내려감) G01 X50.0 Y0 F200 (X축 방향으로 50mm 직선 가공) G01 X50.0 Y50.0 (Y축 방향으로 50mm 직선 가공) G01 X0 Y50.0 (X축 0 지점으로 돌아오며 직선 가공) G01 X0 Y0 (시작 지점으로 돌아와서 사각형 가공 완료)

2. 기계마다 G코드가 다른 이유

G코드의 기본 뼈대는 국제 표준으로 정해져 있지만, 실제 산업 현장에서는 기계마다 G코드가 다르게 작성되어야 합니다. 그 이유는 크게 두 가지입니다.

① 컨트롤러 제조사마다의 '사투리 (Dialect)' C++ 같은 프로그래밍 언어를 윈도우용과 리눅스용으로 각각 다르게 컴파일해야 하는 것과 비슷한 원리입니다. 기계의 두뇌 역할을 하는 컨트롤러(미쓰비시, 화낙, 지멘스 등) 제조사들은 자신들의 기계를 더 효율적으로 제어하기 위해 고유한 명령어를 추가했습니다. 단순한 직선 이동(G01)은 똑같이 알아듣지만, 특정 자동화 사이클을 돌거나 공구를 교체하는 등의 복잡한 제어 영역으로 넘어가면 제조사만의 독자적인 '사투리' 문법을 사용하게 됩니다.

② 기계의 물리적 구조와 스펙 차이 기계 하드웨어의 한계와 특성이 코드에 직접적으로 반영되어야 합니다.

  • 축의 개수: X, Y, Z 3축만 있는 기계와 회전축이 포함된 5축 가공기는 이동을 계산하는 방식 자체가 다릅니다.
  • 물리적 스펙: 모터가 감당할 수 있는 최대 가속도, 스핀들의 최대 RPM 제한, 센서의 위치 등이 기계마다 다릅니다. 어떤 기계에서는 안전한 속도(F1000)가 다른 기계에서는 모터에 과부하를 일으킬 수 있습니다.

결론적으로, AI나 CAM 소프트웨어에서 기계가 움직일 경로(Toolpath)를 수학적으로 완벽하게 계산했더라도, 이를 특정 기계가 정확히 알아듣고 움직일 수 있는 맞춤형 코드로 번역해 주는 과정이 반드시 필요합니다. 이 번역기 역할을 하는 소프트웨어를 포스트 프로세서(Post-Processor)라고 부르며, 현장 장비 세팅에서 가장 중요한 역할을 차지합니다.