G-code là gì?

G-code là gì?

G-code (viết tắt của Geometric Code) là một ngôn ngữ lập trình dùng để điều khiển máy CNC (Computer Numerical Control). Đây là ngôn ngữ tiêu chuẩn được sử dụng rộng rãi trong lĩnh vực gia công cơ khí, in 3D, cắt laser và các hệ thống tự động hóa.

G-code cung cấp các lệnh chính xác để máy thực hiện các chuyển động, như di chuyển trục, bật/tắt trục chính, thay dao cụ, thiết lập tốc độ cắt, hoặc thay đổi hướng gia công. Mỗi dòng G-code thường đại diện cho một hành động cụ thể mà máy CNC sẽ thực hiện.

G-code hoạt động như thế nào?

Tại đầu vận hành (người dùng & phần mềm)

  • Quá trình bắt đầu từ một bản vẽ thiết kế CAD (Computer-Aided Design), tạo ra mô hình 2D hoặc 3D của chi tiết cần gia công.
  • Phần mềm CAM (Computer-Aided Manufacturing) sẽ chuyển đổi mô hình CAD thành các lệnh G-code. Trong bước này, phần mềm có thể tự động tính toán đường chạy dao, tốc độ cắt, bù trừ dao cụ và tối ưu hóa quá trình gia công.
  • Nếu cần điều chỉnh, kỹ thuật viên sẽ sử dụng phần mềm chỉnh sửa G-code để tinh chỉnh các lệnh, phù hợp với mục tiêu gia công cụ thể.
  • Sau đó, tệp G-code sẽ được đưa qua phần mềm hậu xử lý (Post-Processor), giúp chuyển đổi mã lệnh về đúng định dạng mà máy CNC cụ thể có thể hiểu được.
  • Kết quả cuối cùng là một tệp G-code hoàn chỉnh, sẵn sàng để đưa vào máy CNC.

Tại đầu máy (bộ điều khiển máy CNC)

  • Máy CNC có bộ vi điều khiển chuyên dụng, được thiết kế để đọc và giải mã G-code. Khi nhận tệp G-code, hệ thống điều khiển sẽ phân tích từng lệnh và chuyển nó thành chuyển động cụ thể của trục máy, dao cụ, động cơ trục chính…
  • Đối với những máy có cấu hình đặc biệt như nhiều trục, hoặc các tính năng nâng cao, nhà sản xuất thường tích hợp thêm các lệnh mở rộng ngoài chuẩn G-code cơ bản để kiểm soát toàn bộ chức năng.
  • Việc giải mã G-code và điều phối hoạt động diễn ra theo thời gian thực, đảm bảo quá trình gia công chính xác, nhanh chóng và đồng bộ giữa các bộ phận máy.

Cấu trúc của G-code

G-code là tập hợp các lệnh điều khiển máy CNC, mỗi lệnh thường bắt đầu bằng một chữ cái theo sau là một số. Chữ cái biểu thị loại lệnh (chức năng), còn con số quy định chi tiết hành động sẽ thực hiện. Các số này có thể có một hoặc nhiều chữ số, và cách định dạng có thể thay đổi đôi chút tùy vào từng dòng máy CNC cụ thể.

Mặc dù các lệnh thường bắt đầu bằng chữ G, như 'G00', 'G01', 'G02' để chỉ các loại chuyển động, nhưng thực tế, lệnh trong G-code có thể bắt đầu bằng nhiều ký tự khác như F, M, S, T,... với nhiều chức năng khác nhau.

Lệnh

Chức năng

G

Lệnh điều khiển chuyển động (di chuyển nhanh, cắt thẳng, cắt cung tròn…)

F

Tốc độ tiến dao (feed rate)

S

Tốc độ quay trục chính (spindle speed)

M

Các lệnh phụ trợ (bật/tắt trục chính, làm mát, dừng chương trình…)

T

Chọn hoặc thay dao cụ

X, Y, Z

Tọa độ trong hệ trục tuyến tính

A, B, C

Tọa độ quay quanh các trục X, Y, Z (áp dụng cho máy CNC nhiều trục)

Cách viết chương trình cho máy CNC

Các bước cơ bản khi viết chương trình

  • Xác định tọa độ tham chiếu
  • Chọn công cụ cắt và thiết lập tốc độ
  • Di chuyển đến vị trí gia công
  • Thực hiện các thao tác gia công
  • Kiểm soát các chức năng phụ
  • Quản lý thay dao
  • Kiểm tra và mô phỏng chương trình

Ví dụ một chương trình cơ bản

G90 G54                  ; Làm việc ở chế độ tuyệt đối, gọi hệ tọa độ G54  

T1 M06                  ; Chọn dao số 1 và thực hiện thay dao  

S1000 M03               ; Quay trục chính với tốc độ 1000 vòng/phút theo chiều kim đồng hồ  

G00 X0 Y0 Z5            ; Di chuyển nhanh đến vị trí X0 Y0 cách phôi 5mm  

G01 Z-1 F100            ; Hạ dao xuống sâu 1mm với tốc độ tiến dao 100mm/phút  

G01 X50 Y50             ; Di chuyển cắt đến vị trí X50 Y50  

G00 Z10                 ; Rút dao lên cao 10mm  

M05                     ; Tắt trục chính  

M30                     ; Kết thúc chương trình

Phân loại và chức năng các lệnh G-code phổ biến

Nhóm lệnh

Lệnh

Chức năng

Lệnh định vị

G00

Định vị nhanh máy công cụ (di chuyển không cắt)

G01

Nội suy tuyến tính (di chuyển có cắt)

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ồ

G90

Sử dụng hệ tọa độ tuyệt đối

Lệnh tốc độ

G08 – G09

Tăng hoặc giảm tốc độ

G93 – G95

Lựa chọn đơn vị cấp liệu tuyến tính

G96

Tốc độ bề mặt không đổi

G97

Tốc độ trục chính không đổi

Lệnh gia công

G81

Khoan đơn giản

G82

Khoan đơn giản có dừng

G83

Khoan lỗ sâu (có rút dao từng bước)

G84

Taro (ren trong)

Lệnh bù trừ

G40 – G44

Bù trừ bán kính dao, chiều dài dao

G53 – G59

Thiết lập hệ tọa độ, vị trí tuyệt đối (bù trừ bằng 0)

Các lệnh bổ sung khác

G04

Thời gian chờ (dừng máy trong một thời gian xác định)

G61

Chế độ dừng chính xác tại điểm kết thúc lệnh

G80 - G89

Mô tả quy trình khoan/taro/chích lỗ theo chu kỳ