G-code (viết tắt của Geometric Code – Mã Hình học) là ngôn ngữ lập trình tiêu chuẩn và phổ biến nhất được sử dụng để điều khiển các máy công cụ điều khiển số bằng máy tính (CNC – Computer Numerical Control). Nó đóng vai trò như cầu nối giao tiếp, dịch chuyển ý tưởng thiết kế từ con người thành các lệnh mà máy CNC có thể hiểu và thực hiện để tạo ra sản phẩm.
Vai trò của G-code là tuyệt đối không thể thiếu trong vận hành máy CNC, quyết định mọi hoạt động từ đơn giản đến phức tạp của quá trình gia công.
Ngôn Ngữ Chỉ Thị Chuyển Động Chính
Vai trò cơ bản và quan trọng nhất của G-code là điều khiển chuyển động của dụng cụ cắt (dao cắt) hoặc bàn máy trong không gian làm việc.
- Xác định Quỹ đạo và Tọa độ: G-code chỉ thị cho máy CNC biết dụng cụ cắt phải di chuyển đến đâu (tọa độ X, Y, Z) và cách thức di chuyển (đường thẳng, cung tròn, hay chạy nhanh).
- G00 (Di chuyển Nhanh): Dùng để di chuyển dụng cụ đến một vị trí mới với tốc độ tối đa khi không gia công (chạy không tải).
- G01 (Nội suy Tuyến tính): Dùng để cắt theo đường thẳng với tốc độ tiến dao (Feedrate – F) được xác định.
- G02/G03 (Nội suy Cung tròn): Dùng để cắt theo cung tròn (theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ) để tạo ra các biên dạng cong.
- Thiết lập Hệ Tọa độ: Các lệnh G-code như G90 (Tọa độ Tuyệt đối) và G91 (Tọa độ Tương đối) giúp xác định cách máy tính toán vị trí, cũng như các lệnh như G54-G59 để thiết lập gốc tọa độ chi tiết (WCS – Work Coordinate System).

G-code CNC
Kiểm Soát Chế Độ Gia Công
G-code không chỉ điều khiển chuyển động mà còn thiết lập các tham số quan trọng cho quá trình cắt gọt, đảm bảo chất lượng và hiệu suất gia công.
- Tốc độ Tiến dao (Feedrate – F): G-code xác định tốc độ mà dụng cụ cắt di chuyển vào phôi liệu, ảnh hưởng trực tiếp đến độ nhám bề mặt và tuổi thọ dao.
- Tốc độ Trục chính (Spindle Speed – S): Lệnh G-code gián tiếp thiết lập tốc độ quay của trục chính (thường kết hợp với lệnh M-code như M03/M04 để Bật/Tắt).
- Các Chu trình Cắt gọt Đóng gói (Canned Cycles): Các lệnh G-code phức tạp như G81 (Khoan tiêu chuẩn), G83 (Khoan lỗ sâu), G76 (Tiện ren) cho phép lập trình viên thực hiện một loạt hành động cắt gọt lặp lại chỉ bằng một dòng lệnh, giúp chương trình gọn gàng và dễ chỉnh sửa.
Quản Lý Bù Trừ Dụng Cụ
Máy CNC cần sự bù trừ để đạt được độ chính xác cao nhất, và G-code đảm nhận vai trò này.
- Bù trừ Bán kính Dao (Cutter Compensation): Các lệnh G41/G42 (Bù trái/phải) giúp máy tự động điều chỉnh đường chạy dao để tính đến bán kính thực tế của dụng cụ cắt, đảm bảo biên dạng chi tiết gia công chính xác theo bản vẽ.
- Bù trừ Chiều dài Dao (Tool Length Offset): Lệnh G43 được sử dụng để áp dụng sự bù trừ cho chiều dài dụng cụ, đảm bảo độ sâu cắt (trục Z) là chính xác bất kể chiều dài thực tế của dao. G40 dùng để hủy các chế độ bù.

G-code CNC
Phối Hợp Với M-Code (Miscellaneous Code)
Mặc dù G-code tập trung vào chuyển động (Geometric), nó hoạt động song song với M-code (Miscellaneous Code – Mã Phụ trợ) để tạo thành một chương trình hoàn chỉnh.
| Mã lệnh | Vai trò chính | Ví dụ |
| G-code | Điều khiển chuyển động (đến đâu, đi như thế nào, tốc độ). | G01, G02, G90, G41 |
| M-code | Điều khiển các chức năng phụ trợ của máy (Bật/Tắt). | M03 (Bật trục chính), M08 (Bật nước làm mát), M30 (Kết thúc chương trình). |
G-code ra lệnh “cắt một đường thẳng từ đây đến đó”, trong khi M-code ra lệnh “Bật trục chính lên” hoặc “Bật nước làm mát”. Sự phối hợp này tạo nên sự tự động hóa hoàn toàn của máy CNC.
Tầm Quan Trọng Tổng Thể
G-code là trái tim của lập trình CNC. Nhờ có G-code, máy CNC có thể:
- Tự động hóa: Thực hiện hàng nghìn lệnh một cách tự động, giảm thiểu can thiệp thủ công.
- Độ Chính xác cao: Thực hiện các chuyển động lặp lại với độ chính xác và dung sai cực kỳ nhỏ.
- Linh hoạt: Cho phép gia công các hình dạng phức tạp, từ các đường thẳng đơn giản đến các bề mặt 3D phức tạp.
- Tiêu chuẩn hóa: Là ngôn ngữ chung được hiểu bởi hầu hết các loại máy CNC khác nhau (phay, tiện, cắt laser, in 3D), giúp dễ dàng chuyển giao chương trình.
G-code biến bản vẽ kỹ thuật thành hành động cơ khí, là công cụ không thể thiếu để vận hành và kiểm soát máy CNC trong mọi quy trình sản xuất hiện đại.