G-code cho máy CNC: Lệnh và cách sử dụng
Tất cả các máy CNC đều dựa vào G-code để hoạt động. Trái với suy nghĩ của một số người, G-code cho máy CNC không phải là một khái niệm khó, rất dễ để hiểu những điều cơ bản, cách thức hoạt động của nó và cách tạo G-code cho dự án tiếp theo của bạn. Hãy tiếp tục đọc để tìm hiểu mọi thứ cần biết về G-code cho máy CNC.
G-code là gì?

Đây là một loại ngôn ngữ lập trình CNC được sử dụng để điều khiển các chức năng của máy CNC liên quan đến chuyển động của dụng cụ cắt.
Nó là viết tắt của 'Mã hình học', bao gồm các lệnh mà bộ vi điều khiển trong máy CNC có thể đọc và diễn giải. Sau đó, các lệnh được chuyển đến bộ phận máy có liên quan, một dòng mã G có thể chứa nhiều lệnh, mỗi dòng mã G được định nghĩa là một khối, đây là ngôn ngữ lập trình rất đơn giản, không yêu cầu logic phức tạp hay kỹ năng toán học.
Lập trình G-code hoạt động kết hợp với M-code, là viết tắt của Machine code, và một số người cho rằng nó là viết tắt của mixed code, điều khiển nhiều chức năng khác nhau của máy CNC không liên quan trực tiếp đến chuyển động, Các chức năng này bao gồm các lệnh như máy tải chương trình, tạm dừng chương trình và dòng chất làm mát.
Mã G theo phương thức và không theo phương thức
Có hai loại mã G được sử dụng trong gia công CNC – modal và non-modal. Mã G modal vẫn có hiệu lực trong suốt chương trình cho đến khi một mã G khác thay đổi nó. Ngược lại, mã G non-modal chỉ có hiệu lực đối với khối mà chúng được sử dụng.

Có phải tất cả máy CNC đều sử dụng G-code không?
Có, tất cả các máy CNC đều sử dụng mã G. Việc triển khai mã G được tích hợp sẵn trong mọi loại máy CNC trong bộ vi điều khiển.
Tuy nhiên, các nhà sản xuất thường thay đổi định dạng của mã G theo những cách nhỏ để nó có thể hoạt động trên các máy cụ thể của họ.
Ví dụ, một số máy có thể có thêm '0' trước các giá trị số của mã G. Ví dụ, trong khi một số máy có mã G chuyển động nhanh là G00, những máy khác có thể có mã G là G0.
Vai trò của G-code trong gia công CNC là gì?
Mã G đóng vai trò quan trọng trong lập trình CNC. Tự động hóa trong gia công CNC đi kèm với việc giải thích mã G, Máy CNC không thể hiểu ngôn ngữ giao tiếp, chúng hoạt động trên một tập lệnh ngôn ngữ máy chuyên dụng, các lập trình viên biên dịch các lệnh này trong tệp mã G để hướng dẫn máy CNC cách vận hành.
Bộ vi điều khiển lập trình CNC được lập trình sẵn với ý nghĩa của mọi lệnh G-code. Do đó, khi bộ vi điều khiển đọc một lệnh cụ thể, nó sẽ biết ngay phải làm gì. Nếu bất kỳ lệnh G-code nào nằm ngoài từ điển của bộ vi điều khiển CNC, nó sẽ không hoạt động.
Các lệnh G-code hoạt động kết hợp với các lệnh tương ứng của chúng - M-code. G-code điều khiển chuyển động của máy công cụ CNC, trong khi M-code điều khiển các quy trình hoạt động của máy CNC, chẳng hạn như dòng chất làm mát hoặc thay đổi dụng cụ. M-code và các lệnh G-code được sử dụng cùng nhau để tạo thành một tệp lập trình CNC hoàn chỉnh.
Có bao nhiêu mã G trong một máy CNC?
Có hơn 100 lệnh G-code cho lập trình CNC, Hầu hết các G-code đều chung cho mọi hoạt động lập trình CNC. Tuy nhiên, một số G-code dành riêng cho loại hoạt động như phay, tiện, khoan,...
Có thể có sự khác biệt trong danh sách mã G giữa các nhà sản xuất CNC khác nhau.
Không phải máy nào cũng hỗ trợ mọi mã G. Ngoài ra, máy có các tính năng độc đáo hoặc khả năng gia công đa trục có thể có thêm mã G. Nhà sản xuất có thể cung cấp hướng dẫn về mã G để lập trình CNC trong tài liệu tham khảo hàng năm đi kèm với máy.

Những lệnh G-code phổ biến nào được sử dụng trong máy CNC?
Có hơn một trăm mã G được sử dụng trong quá trình lập trình CNC. Do đó, có thể khó để ghi nhớ tất cả các mã riêng lẻ và ý nghĩa của chúng.
Dưới đây là danh sách mã G cho các lệnh thường dùng trong quá trình lập trình CNC.
Bạn có thể sử dụng danh sách này làm điểm tham chiếu khi viết bất kỳ tệp lập trình CNC nào. Việc ghi nhớ các lệnh quan trọng như G00-G03 rất hữu ích vì chúng được sử dụng trong mọi dự án lập trình CNC.
Chuyển động và di chuyển CNC
Các mã dưới đây được sử dụng để kiểm soát chuyển động và đường đi của dụng cụ trong lập trình CNC:
G00: Di chuyển nhanh của máy công cụ
Lệnh di chuyển nhanh di chuyển công cụ từ điểm này sang điểm khác mà không cắt vật liệu. Các chuyển động được thực hiện ở tốc độ cao nhất có thể. Do đó, không yêu cầu tốc độ cấp liệu cho các lệnh di chuyển nhanh. Nó yêu cầu tọa độ vị trí theo trục X, trục Y và trục Z.
G01: Nội suy tuyến tính của máy công cụ
Nội suy tuyến tính di chuyển công cụ từ điểm này đến điểm khác theo đường thẳng. Tốc độ theo tốc độ cấp liệu được chỉ định bởi 'F' trong khối lệnh G01.
G02: Nội suy cung tròn theo chiều kim đồng hồ
Thay vì đường thẳng, G02 ra lệnh cho dụng cụ cắt cắt theo hình cung theo chiều kim đồng hồ. Nó yêu cầu tốc độ chạy dao được chỉ định bởi giá trị 'F'. Nó yêu cầu chỉ định điểm tâm (I, J, K) hoặc bán kính (R) của cung.
G03: Nội suy cung tròn ngược chiều kim đồng hồ
Giống như G02. Thay vì theo chiều kim đồng hồ, nó cắt một vòng cung theo hướng ngược chiều kim đồng hồ.
G04: Dừng lại
Dwell biểu thị sự tạm dừng trong chương trình. Nó dừng các chuyển động của máy nhưng các chức năng phụ trợ vẫn tiếp tục. Ví dụ, trục chính vẫn tiếp tục di chuyển trong khi chương trình ở chế độ Dwell. Thời gian dừng được biểu thị bằng thời gian tạm dừng 'P'. Máy đọc giá trị P theo giây.
G09: Dừng chính xác
Mã G dừng chính xác được sử dụng khi cần góc nhọn. Gia công thông thường tạo ra các góc tròn do quán tính của dụng cụ cắt. G09 loại bỏ vấn đề này bằng cách dừng dụng cụ cắt tạm thời ở góc rồi di chuyển lại, tạo ra các góc hoàn hảo sắc nét.
Lựa chọn mặt phẳng
Lựa chọn mặt phẳng Các chương trình mã G chỉ định mặt phẳng hai chiều trong hệ tọa độ Descartes trục X, Y, Z. Các lệnh này là:
- G17 – Lựa chọn mặt phẳng XY
- G18 – Lựa chọn mặt phẳng XZ
- G19 – Lựa chọn mặt phẳng YZ
Kích thước
Các chương trình mã G cho kích thước chỉ ra đơn vị đo lường nào được chọn. Các lệnh này là:
-
G20: Đổi đơn vị đo sang inch
-
G21: Đổi đơn vị đo sang milimét
Mã bù dao cắt
Xem xét các thông số như chiều dài dụng cụ và bán kính dụng cụ. Sử dụng các lệnh này có thể tăng độ chính xác của toàn bộ hoạt động CNC.
- G40 – Tắt bù trừ công cụ
- G41 – Bù dao cắt bên trái
- G42 – Bù dao cắt phải
- G43 – Bù chiều dài dụng cụ
- G49 – Hủy bù chiều dài dụng cụ
Bù trừ công việc
Bù trừ công việc đảm bảo rằng phôi ở vị trí số không thực. Các lệnh cho giá trị bù trừ công việc là:
- G54 – Bù trừ công việc 1
- G55 – Bù trừ công việc 2
- G56 – Bù trừ công việc 3
- G57 – Bù trừ công việc 4
- G58 – Bù trừ công việc 5
- G59 – Bù trừ công việc 6
Chu kỳ khoan lỗ
Là sự lặp lại của một hoạt động máy cụ thể như khoan, doa, ren, doa lỗ, v.v. Một số chương trình mã G chu trình đóng hộp phổ biến là:
- G73 - Chu trình gia công lỗ sâu tốc độ cao
- G74 - Chu trình taro
- G75 - Chu trình tạo rãnh nhanh cho máy tiện CNC
- G76 – Chu trình khoét lỗ và chu trình ren
- G81 – Chu trình khoan lỗ cạn
- G82 – Mũi khoan tiêu chuẩn có chốt ở đáy lỗ
- G83 – Chu trình khoan lỗ sâu rút lại toàn bộ qua lỗ
- G84 – Chu trình ren phải để gia công ren vào lỗ đã khoan sẵn
- G85 – Chu trình doa lỗ và lùi dao ra với tốc độ tiến dao.
- G86 – Chu trình doa và dừng; Trục chính dừng khi dụng cụ chạm đến đáy lỗ
- G87 – Chu trình doa với dụng cụ chuyên dụng để mở rộng đường kính lỗ
- G88 – Chu kỳ doa với lệnh P; P chỉ thị số giây dừng
- G89 – Chu kỳ doa ngược có dừng
Hủy Mã
-
G50: Hủy khuyếch đại đường chuyển dao; trong một số máy, nó có thể được sử dụng để lập trình điểm trung tâm không tuyệt đối hoặc để thiết lập giới hạn tốc độ trục chính
-
G80: Hủy tất cả các chu trình khoan lỗ đang hoạt động
Chế độ định vị
Chế độ định vị đề cập đến cách máy CNC sẽ đọc các lệnh định vị. Chương trình mã G cho các chế độ định vị khác nhau là:
- G90 – Lập trình theo tọa độ tuyệt đối
- G91 – Lập trình theo tọa độ tương đối
Tốc độ và Nguồn cấp dữ liệu
Tốc độ và chế độ nạp liệu đề cập đến cách máy diễn giải các đơn vị giá trị. Các lệnh này là:
- G94 – Chế độ nạp liệu mỗi phút
- G95 – Chế độ nạp liệu theo vòng quay
- G96 – Chế độ tốc độ cắt mặt không đổi (m/ph)
- G97 – Chế độ tốc độ cắt mặt thay đổi (tốc độ trục chính không đổi)
Mặt phẳng trả về
Lệnh trả về mặt phẳng xem xét vị trí của dụng cụ cắt trong nhiều mặt phẳng khác nhau. Các lệnh trả về mặt phẳng phổ biến là:
- G98 – Quay lại mặt phẳng ban đầu
- G99 – Quay lại mặt phẳng nhanh

Mã G ít được sử dụng
Một số mã G không phổ biến như những mã được liệt kê ở trên. Tuy nhiên, bạn có thể cần chúng thỉnh thoảng cho các yêu cầu cụ thể của chương trình. Sau đây là danh sách một số mã G ít được sử dụng:
- G10 – Đầu vào tham số có thể lập trình
- G22 – Kiểm tra hành trình đã lưu ON
- G23 – Kiểm tra hành trình đã lưu OFF
- G27 – Kiểm tra trờ về điểm chuẩn R
- G28 – Trở về gốc máy tự động
- G29 – Trở về gốc máy thứ 2, 3, 4
- G30 – Trả về vị trí số 0 thứ hai
- G31 – Chức năng bỏ qua mã lệnh
- G44 – Bù chiều dài dụng cụ, -
- G45 – Bù vị trí dụng cụ, tăng
- G46 – Bù vị trí dụng cụ, giảm
- G47 – Bù vị trí dụng cụ, Tăng gấp đôi
- G48 – Bù vị trí dụng cụ, giảm 2 lần
- G51 – Bật các yếu tố tỷ lệ
- G52 – Chuyển tạm thời chương trình về số 0
- G53 – Hệ thống tọa độ máy
- G60 – Di chuyển theo một hướng
- G61 – Chế độ dừng chính xác
- G64 – Chế độ cắt thông thường
- G65 – Gọi chu trình Macro (Macro Call)
- G66 – Gọi chu trình chuẩn (Macro Modal Call)
- G67 – Huỷ bỏ lệnh dùng chu trình chuẩn (Macro Modal Call Cancel)
- G68 – Chế độ xoay tọa độ
- G69 – Hủy chế độ xoay tọa độ
- G92 – Thiết lập góc tọa độ từ vị trí hiện tại của dụng cụ
Có cân nhắc nào về an toàn khi lập trình mã G cho máy CNC không?
Có, một số cân nhắc về an toàn tồn tại khi lập trình mã G cho máy CNC. Máy CNC có khả năng cắt vật liệu có độ cứng cực cao.
Do đó, mã G không chính xác có thể gây nguy hiểm cho máy, người vận hành và khu vực làm việc. Mã G phải xem xét các yếu tố như độ lệch làm việc và độ lệch chiều dài dụng cụ để đảm bảo dụng cụ không bị gãy.
Sự cố gãy dụng cụ là một tai nạn thường xuyên xảy ra do va chạm dụng cụ. Chạy mô phỏng trước đó trong phần mềm CAD và CAM có thể loại bỏ mọi khả năng xảy ra lỗi và lỗi trong G-code.
Những mã nào khác được sử dụng trong gia công CNC?
Mã M là mã quan trọng khác được sử dụng trong lập trình CNC bên cạnh mã G. Mã M điều khiển nhiều chức năng khác nhau của máy CNC không liên quan đến chuyển động.
Mã M dành riêng cho bộ điều khiển máy CNC cụ thể và các tính năng được hỗ trợ của nó. Mã M và mã G được sử dụng cùng nhau để lập trình CNC hoàn chỉnh. Một số lệnh mã M phổ biến là:
- M00 - Chương trình bắt buộc dừng
- M01 - Dừng chương trình tùy chọn
- M02 - Điểm kết thúc chương trình
- M30 - Chương trình dừng và tua lại
- M06 - Thay đổi công cụ