G-Code là gì? Tổng hợp mã FANUC M-Code/G-Code trong CNC

Một đoạn code cnc hiển thị trên màn hình điều khiển FANUC của máy phay.
G-Code là gì – Ngôn ngữ lập trình g code cnc cốt lõi.

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.

Sơ đồ minh họa G-Code điều khiển dao cắt (Tool) di chuyển theo các trục (X, Y, Z).
G-Code là gì – Sơ đồ G-Code điều khiển trục 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ấu trúc lập trình code cnc chi tiết
Cấu trúc một khối lệnh (Block) g code cnc với các thành phần N, G, X, Y, Z, F, S, M, T

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-TNhómMô tả chức năng
G00*01Định vị dao nhanh
G01Nội suy đường thẳng chậm với lượng ăn dao F
G02Nội suy cung tròn theo chiều kim đồng hồ
G03Nội suy cung tròn ngược chiều kim đồng hồ
G0400Thời gian dừng cuối hành trình
G10*Nhập dữ liệu từ chương trình
G2006Hệ inch
G21Hệ mét
G2700Kiểm tra trờ về điểm chuẩn R
G28Tra trở về điểm chuẩn R
G30Tra về điểm chuẩn thứ 2, 3, 4
G3201Cắt ren
G40*07Hủy bù trừ bán kính dao
G41Bù trừ bán kính dao bên trái
G42Bù trừ bán kính dao bên phải
G5000Thiết lập hệ tọa độ phôi hoặc giới hạn tốc độ cắt (vòng/phút)
G65Gọi chương trình macro
G7000Chu trình tiện tinh
G71Chu trình tiện thô dọc biên dạng trục Z
G72Chu trình tiện thô dọc biên dạng trục X
G73Chu trình tiện ghép hình
G74Chu trình tiện rãnh mặt đầu và khoan mặt đầu
G75Chu trình tiện rãnh trụ ngoài và rãnh trụ trong theo phương X
G76Chu trình cắt ren hỗn hợp
G8000Hủy các chu trình lập sẵn
G9001Chu trình tiện trụ bậc ngoài, trụ trong dọc trục Z
G92Chu trình tiện ren
G94Chu trình tiện mặt đầu dọc trục X
G9602Tố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)
G9805Lượ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ã MChức năngDiễn giải
M00Dừ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).
M01Dừng tùy chọn (Optional Stop)Chỉ dừng khi nút “Optional Stop” trên máy đang BẬT.
M02Kết thúc chương trình (End of Program)Tương tự M30.
M03Trục chính quay thuận (Spindle On CW)Bật trục chính (quay thuận chiều kim đồng hồ).
M04Trục chính quay ngược (Spindle On CCW)Bật trục chính (quay ngược chiều kim đồng hồ).
M05Dừng trục chính (Spindle Off)Tắt trục chính.
M08Bật tưới nguội (Coolant On)Bật bơm nước làm mát.
M09Tắ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.
M11Mở chấu kẹp (Chuck Open)(Trên máy tự động) Mở mâm cặp.
M30Kế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.
M98Gọi chương trình con (Sub-program Call)“Nhảy” sang một chương trình phụ (ví dụ: P1001).
M99Kế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-MCMô tả chức năng
G00Định vị dao nhanh
G01Nội suy đường thẳng với lượng ăn dao F
G02Nội suy cung tròn theo chiều kim đồng hồ
G03Nội suy cung tròn ngược chiều kim đồng hồ
G04Thời gian dừng cuối hành trình
G15Hủy chế độ nội suy theo tọa độ cực
G16Chế độ nội suy theo tọa độ cực
G17Chọn mặt phẳng gia công XY
G18Chọn mặt phẳng gia công XZ
G19Chọn mặt phẳng gia công YZ
G20Hệ inch
G21Hệ Milimet
G28Gọi dụng cụ về điểm chuẩn R
G30Trở về điểm chuẩn thứ 2, 3, 4
G37Bù trừ dao tự động theo Z
G40Hủy bù trừ bán kính mũi dao
G41Bù trừ bán kính mũi dao bên trái
G42Bù trừ bán kính mũi dao bên phải
G43Bù trừ chiều dài dao dương
G44Bù trừ chiều dài dao âm
G49Hủy bù trừ chiều dài dao
G50Hủy khuyếch đại đường chuyển dao
G51Khuyếch đại đường chạy dao
G52Thiết lập hệ tọa độ phôi cục bộ
G53Thiết lập hệ tọa độ máy
G54 – G59Thiế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
G61Chế độ dừng chính xác
G62Tự động giảm tốc tại góc nhọn giữa 2 đường
G63Chế độ taro bình thường
G65Gọi chương trình macro
G66Gọi chương trình macro modal
G67Hủy gọi chương trình macro modal
G68Xoay hệ tọa độ
G73Chu trình khoan bẻ phôi
G74Chu trình taro ren trái
G76Chu trình doa tinh lỗ
G80Hủy chu trình khoan lỗ
G81Chu trình khoan mồi
G82Chu trình khoan có thời gian dừng ở đáy lỗ
G83Chu trình khoan sâu
G84Chu trình taro ren phải
G85Chu trình doa lỗ và lùi dao ra với với tốc độ tiến dao F
G86Chu trình doa lỗ và lùi dao nhanh ra ngoài mà trục chính ngưng quay
G87Chu trình doa mặt sau lỗ
G88Chu trình doa lùi dao bằng tay
G89Chu trình doa có dừng ở đáy lỗ
G90Lập trình tuyệt đối
G91Lập trình tương đối
G92Thiế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
G96Tốc độ cắt mặt không đổi (met/phút)
G97Hủy tốc độ cắt mặt không đổi (vòng/phút)
G98Lùi dao đến cao độ xuất phát trong các chu trình gia công lỗ
G99Lù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ã MChức năngDiễn giải
M00Dừng chương trình (Program Stop)Dừng hẳn (ví dụ: để kẹp lại phôi).
M01Dừng tùy chọn (Optional Stop)Dừng nếu nút OPT STOP BẬT (ví dụ: để kiểm tra dao).
M03Trục chính quay thuận (Spindle On CW)Bật trục chính (thuận).
M04Trục chính quay ngược (Spindle On CCW)Bật trục chính (ngược) (dùng cho taro ren).
M05Dừng trục chính (Spindle Off)Tắt trục chính.
M06Thay dao tự động (Tool Change)Lệnh gọi dao (ví dụ: T01 M06).
M08Bật tưới nguội (Coolant On)Bật nước làm mát.
M09Tắt tưới nguội (Coolant Off)Tắt nước làm mát.
M30Kết thúc chương trình, reset (End, Reset)Phổ biến. Dừng, tắt máy, quay về đầu.
M98Gọi chương trình conGọi chương trình phụ.
M99Kết thúc chương trình conQuay 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. Đọc (Interpreter): Bộ điều khiển CNC đọc từng dòng code cnc một.
  6. 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.
Sơ đồ luồng công việc: CAD -> CAM -> Post-Processor -> G-Code -> Máy CNC
Sơ đồ cách thức hoạt động của g code cnc từ thiết kế đến gia công.

Ư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.
Một chi tiết máy phức tạp được gia công chính xác, thể hiện ưu điểm của G-Code
Ưu điểm của G-Code là tạo ra các chi tiết gia công chính xác.

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:

  1. 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).
  2. Đọ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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
Một kỹ sư trẻ đang học G-Code bằng phần mềm mô phỏng trên máy tính.
Cách học G-Code nhanh chóng qua phần mềm mô phỏng

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.

Rate this post

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *