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ỳ |