
G-Code là ngôn ngữ cốt lõi của máy CNC. Hiểu G-Code là chìa khóa để làm chủ công nghệ gia công cơ khí chính xác. Tại cơ khí Thiên Phú, chúng tôi coi đây là “ngôn ngữ mẹ đẻ”. Bài viết này sẽ giải thích G-Code là gì, cung cấp bảng tra G codes và M-Code chuẩn FANUC. Đây là cẩm nang toàn diện cho cả G-Code phay CNC và G-Code tiện CNC, từ cơ bản đến chuyên sâu.
G-Code là gì?
G-Code (hay G codes) là tên gọi chung cho ngôn ngữ lập trình được sử dụng để điều khiển các máy móc tự động hóa, đặc biệt là máy CNC (Computer Numerical Control). Nó là một tập hợp các lệnh được viết dưới dạng mã chữ số. Các lệnh này cho máy móc di chuyển và thực hiện các hành động cụ thể.
Tên gọi “G-Code” bắt nguồn từ việc hầu hết các mã lệnh chính, quy định quỹ đạo di chuyển của dao cụ, đều bắt đầu bằng chữ “G” (viết tắt của Geometric Code – Mã hình học).
Về bản chất, G-Code CNC là cầu nối cuối cùng, chuyển đổi bản vẽ kỹ thuật và chiến lược gia công thành chuyển động cơ học thực tế của máy CNC.

Ý nghĩa và cách thức lập trình G-Code
Hiểu cấu trúc của code cnc là bước đầu tiên để đọc, viết và sửa lỗi chương trình.
Một chương trình g code cnc được tạo thành từ các khối lệnh, mỗi khối lệnh thường nằm trên một dòng. Mỗi dòng lệnh chứa các từ bắt đầu bằng một chữ cái.
Cấu trúc một khối lệnh tiêu chuẩn:
- N (Block Number): Số thứ tự dòng lệnh (ví dụ: N10, N20). Giúp người vận hành dễ dàng tìm kiếm và sửa lỗi.
- G (Geometric Code): Mã lệnh “G”. Đây là lệnh chính, ra lệnh cho máy làm gì (ví dụ: G00 – chạy nhanh, G01 – cắt thẳng, G02 – cắt cung tròn).
- X, Y, Z, A, B, C (Coordinates): Tọa độ điểm đến. Ra lệnh cho máy đi đến đâu trên các trục tương ứng.
- F (Feed Rate): Tốc độ tiến dao (bước tiến). Ra lệnh cho máy đi nhanh hay chậm khi đang cắt (mm/phút hoặc mm/vòng).
- S (Spindle Speed): Tốc độ trục chính. Ra lệnh cho trục chính (dao cắt hoặc mâm cặp) quay nhanh hay chậm (vòng/phút – RPM).
- T (Tool): Mã lệnh chọn dao. Ra lệnh dùng dao nào trong ổ dao.
- M (Miscellaneous Code): Mã lệnh “M”. Ra lệnh cho các chức năng phụ trợ của máy (ví dụ: M03 – bật trục chính, M08 – bật tưới nguội).
Ví dụ phân tích một khối lệnh:
N50 G01 X100. Y50. F200 S1500 M03 T01;
- Dịch: Tại dòng N50, ra lệnh nội suy đường thẳng đến tọa độ X=100mm và Y=50mm. Tốc độ tiến dao là 200 mm/phút. Tốc độ trục chính là 1500 vòng/phút, Bật trục chính quay thuận, và sử dụng dao số 1.

Các mã lệnh được dùng cho máy gia công CNC [1]
Đây là phần quan trọng nhất. Mặc dù có nhiều hệ điều khiển, FANUC là hệ điều khiển phổ biến và là tiêu chuẩn “De Facto” tại Việt Nam.
Chúng tôi sẽ tổng hợp các mã G Codes và M-codes cơ bản cho 2 loại máy chính: Tiện (Lathe) và phay (Mill).
Các mã lệnh dùng cho máy tiện CNC – Lathe (Hệ FANUC)
G code tiện cnc (Lathe) tập trung vào 2 trục chính (X – điều khiển đường kính, Z – điều khiển chiều dài).
Bảng 1: Các mã G Codes tiện CNC phổ biến
Danh sách các mã lệnh dùng cho máy tiện CNC hệ FANUC Oi-T cho trong bản sau đây:
| FANUC Oi-T | Nhóm | Mô tả chức năng |
| G00* | 01 | Định vị dao nhanh |
| G01 | Nội suy đường thẳng chậm với lượng ăn dao F | |
| G02 | Nội suy cung tròn theo chiều kim đồng hồ | |
| G03 | Nội suy cung tròn ngược chiều kim đồng hồ | |
| G04 | 00 | Thời gian dừng cuối hành trình |
| G10* | Nhập dữ liệu từ chương trình | |
| G20 | 06 | Hệ inch |
| G21 | Hệ mét | |
| G27 | 00 | Kiểm tra trờ về điểm chuẩn R |
| G28 | Tra trở về điểm chuẩn R | |
| G30 | Tra về điểm chuẩn thứ 2, 3, 4 | |
| G32 | 01 | Cắt ren |
| G40* | 07 | Hủy bù trừ bán kính dao |
| G41 | Bù trừ bán kính dao bên trái | |
| G42 | Bù trừ bán kính dao bên phải | |
| G50 | 00 | Thiết lập hệ tọa độ phôi hoặc giới hạn tốc độ cắt (vòng/phút) |
| G65 | Gọi chương trình macro | |
| G70 | 00 | Chu trình tiện tinh |
| G71 | Chu trình tiện thô dọc biên dạng trục Z | |
| G72 | Chu trình tiện thô dọc biên dạng trục X | |
| G73 | Chu trình tiện ghép hình | |
| G74 | Chu trình tiện rãnh mặt đầu và khoan mặt đầu | |
| G75 | Chu trình tiện rãnh trụ ngoài và rãnh trụ trong theo phương X | |
| G76 | Chu trình cắt ren hỗn hợp | |
| G80 | 00 | Hủy các chu trình lập sẵn |
| G90 | 01 | Chu trình tiện trụ bậc ngoài, trụ trong dọc trục Z |
| G92 | Chu trình tiện ren | |
| G94 | Chu trình tiện mặt đầu dọc trục X | |
| G96 | 02 | Tốc độ mặt cắt không đổi (m/ph) |
| G97* | Hủy tốc độ cắt mặt không đổi, tốc độ cắt là (vg/ph) | |
| G98 | 05 | Lượng ăn dao trên phút (mm/phút) |
| G99* | Lượng ăn dao trên vòng (mm/vòng) |
Bảng 2: Các mã M codes Tiện CNC phổ biến (FANUC)
| Mã M | Chức năng | Diễn giải |
| M00 | Dừng chương trình (Program Stop) | Dừng hẳn, chờ ấn nút Start để chạy tiếp (ví dụ: lật phôi). |
| M01 | Dừng tùy chọn (Optional Stop) | Chỉ dừng khi nút “Optional Stop” trên máy đang BẬT. |
| M02 | Kết thúc chương trình (End of Program) | Tương tự M30. |
| M03 | Trục chính quay thuận (Spindle On CW) | Bật trục chính (quay thuận chiều kim đồng hồ). |
| M04 | Trục chính quay ngược (Spindle On CCW) | Bật trục chính (quay ngược chiều kim đồng hồ). |
| M05 | Dừng trục chính (Spindle Off) | Tắt trục chính. |
| M08 | Bật tưới nguội (Coolant On) | Bật bơm nước làm mát. |
| M09 | Tắt tưới nguội (Coolant Off) | Tắt bơm nước làm mát. |
| M10 | Đóng chấu kẹp (Chuck Close) | (Trên máy tự động) Đóng mâm cặp. |
| M11 | Mở chấu kẹp (Chuck Open) | (Trên máy tự động) Mở mâm cặp. |
| M30 | Kết thúc chương trình, reset (End, Reset) | Phổ biến nhất. Dừng, tắt máy, quay về đầu chương trình. |
| M98 | Gọi chương trình con (Sub-program Call) | “Nhảy” sang một chương trình phụ (ví dụ: P1001). |
| M99 | Kết thúc chương trình con (Sub-program End) | Quay về chương trình chính. |
3.2. Các mã lệnh dùng cho máy phay CNC – Mill (Hệ FANUC)
G Code phay CNC (Mill) phức tạp hơn, thường dùng 3 trục (X, Y, Z) và có thể thêm trục 4, 5 (A, B, C).
Bảng 3: Các mã G codes phay CNC phổ biến
| FANUC O-MC | Mô tả chức năng |
| G00 | Định vị dao nhanh |
| G01 | Nội suy đường thẳng với lượng ăn dao F |
| G02 | Nội suy cung tròn theo chiều kim đồng hồ |
| G03 | Nội suy cung tròn ngược chiều kim đồng hồ |
| G04 | Thời gian dừng cuối hành trình |
| G15 | Hủy chế độ nội suy theo tọa độ cực |
| G16 | Chế độ nội suy theo tọa độ cực |
| G17 | Chọn mặt phẳng gia công XY |
| G18 | Chọn mặt phẳng gia công XZ |
| G19 | Chọn mặt phẳng gia công YZ |
| G20 | Hệ inch |
| G21 | Hệ Milimet |
| G28 | Gọi dụng cụ về điểm chuẩn R |
| G30 | Trở về điểm chuẩn thứ 2, 3, 4 |
| G37 | Bù trừ dao tự động theo Z |
| G40 | Hủy bù trừ bán kính mũi dao |
| G41 | Bù trừ bán kính mũi dao bên trái |
| G42 | Bù trừ bán kính mũi dao bên phải |
| G43 | Bù trừ chiều dài dao dương |
| G44 | Bù trừ chiều dài dao âm |
| G49 | Hủy bù trừ chiều dài dao |
| G50 | Hủy khuyếch đại đường chuyển dao |
| G51 | Khuyếch đại đường chạy dao |
| G52 | Thiết lập hệ tọa độ phôi cục bộ |
| G53 | Thiết lập hệ tọa độ máy |
| G54 – G59 | Thiết lập hệ tọa độ phôi từ thứ 1 đến thứ 6 |
| G60 | Định vị nhanh dụng cụ theo 1 hướng |
| G61 | Chế độ dừng chính xác |
| G62 | Tự động giảm tốc tại góc nhọn giữa 2 đường |
| G63 | Chế độ taro bình thường |
| G65 | Gọi chương trình macro |
| G66 | Gọi chương trình macro modal |
| G67 | Hủy gọi chương trình macro modal |
| G68 | Xoay hệ tọa độ |
| G73 | Chu trình khoan bẻ phôi |
| G74 | Chu trình taro ren trái |
| G76 | Chu trình doa tinh lỗ |
| G80 | Hủy chu trình khoan lỗ |
| G81 | Chu trình khoan mồi |
| G82 | Chu trình khoan có thời gian dừng ở đáy lỗ |
| G83 | Chu trình khoan sâu |
| G84 | Chu trình taro ren phải |
| G85 | Chu trình doa lỗ và lùi dao ra với với tốc độ tiến dao F |
| G86 | Chu trình doa lỗ và lùi dao nhanh ra ngoài mà trục chính ngưng quay |
| G87 | Chu trình doa mặt sau lỗ |
| G88 | Chu trình doa lùi dao bằng tay |
| G89 | Chu trình doa có dừng ở đáy lỗ |
| G90 | Lập trình tuyệt đối |
| G91 | Lập trình tương đối |
| G92 | Thiết lập góc tọa độ từ vị trí hiện tại của dụng cụ |
| G94 | Đơn vị ăn dao trên phút |
| G95 | Đơn vị ăn dao trên vòng |
| G96 | Tốc độ cắt mặt không đổi (met/phút) |
| G97 | Hủy tốc độ cắt mặt không đổi (vòng/phút) |
| G98 | Lùi dao đến cao độ xuất phát trong các chu trình gia công lỗ |
| G99 | Lùi dao đến cao độ an toàn R trong các chu trình gia công lỗ |
Bảng 4: Các mã lệnh “M” trong máy phay CNC FANUC phổ biến
| Mã M | Chức năng | Diễn giải |
| M00 | Dừng chương trình (Program Stop) | Dừng hẳn (ví dụ: để kẹp lại phôi). |
| M01 | Dừng tùy chọn (Optional Stop) | Dừng nếu nút OPT STOP BẬT (ví dụ: để kiểm tra dao). |
| M03 | Trục chính quay thuận (Spindle On CW) | Bật trục chính (thuận). |
| M04 | Trục chính quay ngược (Spindle On CCW) | Bật trục chính (ngược) (dùng cho taro ren). |
| M05 | Dừng trục chính (Spindle Off) | Tắt trục chính. |
| M06 | Thay dao tự động (Tool Change) | Lệnh gọi dao (ví dụ: T01 M06). |
| M08 | Bật tưới nguội (Coolant On) | Bật nước làm mát. |
| M09 | Tắt tưới nguội (Coolant Off) | Tắt nước làm mát. |
| M30 | Kết thúc chương trình, reset (End, Reset) | Phổ biến. Dừng, tắt máy, quay về đầu. |
| M98 | Gọi chương trình con | Gọi chương trình phụ. |
| M99 | Kết thúc chương trình con | Quay về chương trình chính. |
Cách thức hoạt động của G-Code
G-Code là cầu nối giữa thế giới ảo và thế giới thực. Quy trình chuẩn từ bản vẽ đến chi tiết hoàn thiện bao gồm 6 bước:
- Thiết kế (CAD – Computer-Aided Design): Kỹ sư sử dụng phần mềm (như SolidWorks, AutoCAD, Inventor) để tạo mô hình 3D hoặc bản vẽ 2D của chi tiết.
- Lập trình (CAM – Computer-Aided Manufacturing): Kỹ sư CAM nhập mô hình 3D vào phần mềm CAM. Tại đây, họ chọn dao, chiến lược chạy dao (phá thô, chạy tinh, khoan…), và mô phỏng quá trình cắt.
- Xuất mã (Post-Processor): Đây là bước then chốt. Phần mềm CAM sử dụng một “Post-Processor” để dịch chiến lược gia công đó thành một tệp văn bản. Tệp văn bản này chính là G-Code.
- Truyền (DNC – Direct Numerical Control): Kỹ sư vận hành truyền tệp G-Code này vào bộ điều khiển của máy CNC qua USB, thẻ nhớ, hoặc mạng LAN.
- Đọc (Interpreter): Bộ điều khiển CNC đọc từng dòng code cnc một.
- Thực thi (Execution): Bộ điều khiển gửi tín hiệu điện chính xác đến các động cơ servo, biến tần, bơm. Máy bắt đầu di chuyển và cắt phôi theo đúng mệnh lệnh.

Ưu điểm nổi bật của G-Code trong gia công CNC
Mặc dù là ngôn ngữ lập trình “cổ” (ra đời từ những năm 1950), G-Code vẫn là tiêu chuẩn vàng vì những lý do sau.
- Tính tiêu chuẩn & phổ quát: G codes được hiểu bởi HẦU HẾT mọi hệ điều khiển. Điều này tạo ra một ngôn ngữ chung cho toàn ngành.
- Kiểm soát tuyệt đối: G-Code cung cấp khả năng kiểm soát chính xác đến từng micron, từng vòng quay. Đây là yêu cầu bắt buộc của ngành gia công cơ khí chính xác.
- Đơn giản, gọn nhẹ: Một tệp G-Code chỉ là tệp văn bản, cực kỳ nhẹ. Hàng triệu dòng lệnh cũng chỉ nặng vài megabyte, máy móc có thể xử lý dễ dàng trong thời gian thực.
- Dễ đọc: Với kinh nghiệm, kỹ sư có thể đọc G-Code và “tưởng tượng” được đường chạy dao, giúp dễ dàng sửa lỗi ngay tại máy mà không cần quay lại phần mềm CAM.
- Tự động hóa hoàn toàn: Một chương trình G Code CNC có thể bao gồm cả lệnh thay dao, kiểm tra dao… cho phép máy chạy tự động 24/7. Các dịch vụ như gia công thép tấm hay báo giá cắt cnc sắt tấm đều dựa trên G-code.

Làm thế nào để học G-Code nhanh chóng và chuyên sâu?
Học G-Code không khó nếu bạn đi đúng lộ trình. Đây là lộ trình 6 bước dành cho người mới:
- Học khái niệm cơ bản: Nắm vững hệ tọa độ, các lệnh G/M cơ bản nhất (G00, G01, G02, G03, M03, M05, M08, M09, M30).
- Đọc chương trình mẫu: Lấy một chương trình CAM đã xuất, đối chiếu G-Code với đường chạy dao mô phỏng. Đây là cách học “thụ động” nhanh nhất.
- Viết tay: Tự viết tay các chương trình đơn giản (ví dụ: khoan 4 lỗ, phay 1 hình vuông). Đây là cách để “thấm” cấu trúc lệnh.
- Sử dụng phần mềm mô phỏng: Dùng các phần mềm như CIMCO Edit, Vericut, hoặc trình mô phỏng của CAM để chạy thử G-Code bạn viết. Nó sẽ báo lỗi nếu bạn sai cú pháp.
- Thực hành trên máy: Quan trọng nhất. Dưới sự giám sát, hãy thử chạy “khô” (không phôi, dao chạy trên không) G-Code của bạn trên máy thật. Đây là cách học “sợ” (vì sợ va chạm) và “nhớ” nhanh nhất.
- Học chuyên sâu: Sau khi thành thạo, hãy học các chu trình và lập trình biến số, đây là cấp độ chuyên gia.

Ví dụ thực tế cho chương trình G-Code đơn giản
Hãy xem một ví dụ thực tế cho G Code phay CNC (phay mặt hình chữ nhật 100x50mm).
Giả định:
- Phôi: 100 x 50 x 20mm
- Gốc G54: Góc dưới, bên trái, mặt trên cùng của phôi.
- Dao: T01 (Dao phay ngón D10).
- Mặt Z0: Mặt trên cùng của phôi.
- Yêu cầu: Phay mặt phẳng, sâu 1mm (xuống Z-1.).
Chương trình G-Code (FANUC):
O0001 (TEN CHUONG TRINH: PHAY HCN);
N10 G21 G90 G80 G40 G49; (Lenh an toan: Dat che do mm, Toa do tuyet doi, Huy chu trinh, Huy bu dao);
N20 T01 M06; (Goi dao so 1);
N30 G54 G90 G00 X-10. Y-10.; (Dat G54, Chay nhanh den vi tri an toan ben ngoai phoi);
N40 G43 H01 Z10. M03 S1500; (Bu chieu dai dao H01, Z cach phoi 10mm, Bat truc chinh S1500);
N50 M08; (Bat nuoc tuoi nguoi);
N60 G01 Z-1. F100; (An dao xuong Z-1. (cat 1mm) voi F100);
N70 G01 X110. F200; (Chay cat ngang qua X110.);
N80 G01 Y50.; (Chay len Y50.);
N90 G01 X-10.; (Chay ve X-10.);
N100 G01 Y-10.; (Chay ve vi tri ban dau);
N110 G00 Z50.; (Nhac dao nhanh len Z50.);
N120 M05; (Tat truc chinh);
N130 M09; (Tat tuoi nguoi);
N140 G28 G91 Z0; (Ve Home Z);
N150 G28 G91 X0 Y0; (Ve Home XY);
N160 M30; (Ket thuc, reset chuong trinh);
Kết luận
G-Code là ngôn ngữ nền tảng, bất biến của ngành gia công cơ khí chính xác. Mặc dù công nghệ CAM ngày càng thông minh và tự động hóa việc xuất mã, việc hiểu bản chất G-Code là gì và các mã lệnh m trong máy phay CNC FANUC vẫn là kỹ năng “vàng” của một kỹ sư hay người vận hành chuyên nghiệp.
Hiểu G-Code cho phép bạn tối ưu hóa đường chạy dao, sửa lỗi ngay tại máy, và thực sự làm chủ công nghệ.
Tại Thiên Phú, đội ngũ kỹ sư của chúng tôi làm chủ G-Code, từ việc lập trình CAM đến việc tối ưu trực tiếp tại máy, đảm bảo mọi chi tiết G Code phay CNC và G Code tiện CNC được thực thi hoàn hảo với độ chính xác cao nhất. Giải pháp gia công cơ khí tại: https://giangiaoviet.com/
Nguồn tham khảo:
[1] TechK. (n.d.). G-Code là gì? Các mã lệnh dùng cho máy CNC | TechK.vn. TRUNG TÂM ĐÀO TẠO VÀ CHUYỂN GIAO CÔNG NGHỆ TECHK.
Mr. Phan Lê Hoài Thiện là quản trị viên và biên tập viên của website giangiaoviet.com. Anh chuyên cung cấp các kiến thức về giàn giáo xây dựng, cốp pha xây dựng và các công nghệ mới trong thi công xây dựng.
- Lắp đặt giàn giáo cho nhà máy Johnson & Son
- LẮP DỰNG GIÀN GIÁO – GIẢI PHÁP THI CÔNG AN TOÀN, ĐẠT CHUẨN KỸ THUẬT VÀ TIẾN ĐỘ
- Dịch Vụ Cho Thuê Giàn Giáo Tại Phú Giáo – Giải Pháp Toàn Diện Cho Công Trình An Toàn & Tiến Độ
- Hướng dẫn lắp đặt bát chuồn đúng kỹ thuật – An toàn thi công & 5 lỗi thường gặp
- CÁCH NHẬN BIẾT CHẤT LƯỢNG GIÀN GIÁO NÊM (GIÀN GIÁO VIETFORM)
- Cắt laser là gì? Công nghệ cắt laser và ứng dụng
- Giá Ống Thép Phi 60 Hiện Nay | Cập Nhật Báo Giá Mới Nhất
























