Lệnh G02 và G03 dùng để chạy dao theo cung tròn: G02 đi cùng chiều kim đồng hồ, G03 đi ngược chiều kim đồng hồ. Khối lệnh chỉ cần ba thông tin là điểm cuối của cung, tâm hoặc bán kính, và lượng chạy dao F. Phần khó nằm ở chỗ khác: nhìn từ phía nào để biết cung đang quay chiều nào, I và J tính từ đâu, khi nào R phải mang dấu âm.
Ba chỗ đó là nguồn lỗi cung tròn hay gặp nhất ở người mới đứng máy. Có lỗi máy báo ngay, có lỗi máy vẫn chạy êm và chỉ lộ ra khi đo chi tiết. Bài này đi qua từng chỗ bằng một biên dạng cụ thể, có đủ tọa độ để người học tự tính lại.
Lệnh G02, G03: nhìn từ phía nào thì mới biết chiều quay
Chiều kim đồng hồ chỉ có nghĩa khi đã nói rõ người nhìn đứng ở đâu. Quy ước của hệ Fanuc và đa số hệ điều khiển khác là nhìn từ phía dương của trục vuông góc với mặt phẳng gia công, hướng về phía âm. Với máy phay đứng, mặt phẳng hay dùng nhất là XY (lệnh G17), nên người lập trình tưởng tượng mình đứng phía trên chi tiết, nhìn từ +Z xuống bàn máy. Từ chỗ đó, dao đi theo chiều kim đồng hồ là G02, ngược lại là G03.
Khi gia công trên mặt phẳng khác, quy ước vẫn giữ nhưng chỗ đứng đổi theo: G18 chọn mặt ZX, nhìn từ +Y; G19 chọn mặt YZ, nhìn từ +X. Phần lớn máy phay tự bật G17 khi khởi động. Lỗi hay gặp nằm ở chỗ chương trình chạy trước, hoặc một đoạn chương trình viết tay xen vào, để lại G18 hay G19 mà không trả về. Một khối G02 viết cho mặt XY mà máy đang ở G18 sẽ báo lỗi, hoặc tệ hơn là chạy ra một cung trong mặt phẳng khác. Vì vậy dòng an toàn đầu chương trình nên có G17, cùng chỗ với G40, G49, G80.

Cú pháp: một khối lệnh cung tròn gồm những gì
Trên máy phay hệ Fanuc, khối lệnh cung tròn trong mặt phẳng XY viết theo một trong hai dạng:
G17 G02 X_ Y_ R_ F_ ; G17 G02 X_ Y_ I_ J_ F_ ;
X, Y là tọa độ điểm cuối của cung, hiểu theo G90 (tuyệt đối) hoặc G91 (tương đối) như mọi lệnh di chuyển khác. Điểm đầu không cần ghi, vì đó là vị trí dao đang đứng sau khối lệnh trước. R là bán kính cung. I, J là khoảng cách từ điểm đầu của cung tới tâm, đo theo X và Y; ở mặt phẳng ZX và YZ thì có thêm K cho trục Z. F là lượng chạy dao, mang tính modal giống trong lệnh G01: đã đặt trước đó thì khối cung tròn dùng lại giá trị cũ.
Với dạng R, máy tự tính tâm từ điểm đầu, điểm cuối và bán kính. Với dạng I, J, người lập trình chỉ thẳng tâm cho máy. Hai cách cho cùng một cung nếu tính đúng, nhưng mỗi cách có một kiểu sai riêng, nói ở hai phần dưới.
I, J đo từ điểm đầu của cung, không phải từ gốc phôi
Đây là chỗ người mới học hay sai. Trên Fanuc ở chế độ mặc định, I và J luôn là giá trị tương đối tính từ điểm đầu cung tới tâm, kể cả khi chương trình đang ở G90. Cách tính chỉ có một phép trừ: I bằng X của tâm trừ X của điểm đầu, J bằng Y của tâm trừ Y của điểm đầu. Dấu của kết quả giữ nguyên, vì nó cho máy biết tâm nằm bên trái hay bên phải, phía trên hay phía dưới điểm đầu.
Lấy biên dạng trong hình dưới: chi tiết 80 × 50 mm, gốc phôi G54 đặt ở góc P1. Cạnh trên có một cung lõm bán kính 15 mm, tâm tại (40, 50), đi từ P3 (25, 50) tới P4 (55, 50). Góc trên bên phải lượn bán kính 10 mm, tâm tại (70, 40), đi từ P5 (70, 50) tới P6 (80, 40). Dao đi vòng quanh chi tiết theo chiều kim đồng hồ, bù bán kính dao bên trái (G41).

Với cung lõm, tâm (40, 50) trừ điểm đầu P3 (25, 50) cho I15, J0. Nhìn từ trên xuống, dao đi từ P3 vòng xuống dưới rồi lên P4, tức là ngược chiều kim đồng hồ, nên dùng G03. Với góc lượn, tâm (70, 40) trừ điểm đầu P5 (70, 50) cho I0, J-10; dao đi từ đỉnh vòng sang phải và xuống, cùng chiều kim đồng hồ, nên dùng G02. Chương trình sau là đường chạy tinh biên dạng bằng dao phay ngón đường kính 10 mm. Phần vật liệu trong cung lõm đã được phá thô từ trước, vì tâm dao chạy theo cung bán kính 10 mm chỉ quét được vành từ bán kính 5 đến 15 mm quanh tâm (40, 50); nếu chỉ chạy đường này thì giữa rãnh còn sót một mẩu vật liệu.
% O1001 G17 G21 G40 G49 G80 G90 T1 M06 S2500 M03 G00 G17 G90 G54 X-15. Y-15. G43 H1 Z50. G00 Z5. G01 Z-3. F80 G41 D1 G01 X0. Y-5. F200 G01 Y50. X25. G03 X55. Y50. I15. J0. G01 X70. G02 X80. Y40. I0. J-10. G01 Y0. X-5. G40 G01 X-15. Y-15. G00 Z50. M05 M30 %
Hai khối cung tròn cũng viết được bằng R: G03 X55. Y50. R15. và G02 X80. Y40. R10. Kết quả giống nhau, vì cả hai cung đều không vượt quá nửa vòng. Riêng cung lõm ôm đúng 180°, nằm sát ranh giới giữa R dương và R âm, nên viết I, J chắc hơn.
Giờ thử viết nhầm J10 thay cho J-10 ở góc lượn. Máy hiểu tâm nằm ở (70, 60). Khoảng cách từ điểm đầu P5 tới tâm này là 10 mm, nhưng từ điểm cuối P6 tới tâm là căn bậc hai của 10² + 20², khoảng 22,4 mm. Hai bán kính lệch nhau quá giới hạn cho phép nên hệ Fanuc dừng máy và báo lỗi sai lệch bán kính. Lỗi này khó chịu nhưng an toàn, vì máy không cắt. Lỗi thứ hai cùng họ là ghi tọa độ tuyệt đối của tâm vào I, J (viết I40. J50. cho cung lõm), cũng thường kết thúc bằng báo lỗi bán kính.
R dương, R âm và lỗi máy không báo
Qua hai điểm cho trước, với cùng một bán kính và cùng chiều quay, luôn vẽ được hai cung: một cung ngắn ôm góc không quá 180° và một cung dài ôm góc lớn hơn 180°. Khi dùng R, máy không có cách nào tự đoán người lập trình muốn cung nào, nên quy ước là R dương chọn cung ngắn, R âm chọn cung dài.

Nguy hiểm nằm ở chỗ quên dấu trừ không làm máy báo lỗi. Một cung 270° viết thành R20. thay vì R-20. vẫn có điểm đầu, điểm cuối và bán kính hợp lệ, máy chạy bình thường và cắt ra cung 90°. Nếu đó là đường chạy dao quanh một vấu tròn, dao có thể cắt vào phần lẽ ra phải giữ lại. Lỗi kiểu này thường chỉ lộ ra khi chạy thử, nên với cung trên nửa vòng, nhiều người lập trình chọn I, J cho chắc: tâm đã chỉ rõ thì không còn chuyện chọn nhầm cung.
Cung tròn kín 360° thì bắt buộc dùng I, J. Khi điểm đầu trùng điểm cuối, có vô số đường tròn bán kính R đi qua điểm đó, nên trên Fanuc khối lệnh dạng R không tạo ra chuyển động nào. Phay một rãnh vòng hay phay mở rộng lỗ, người lập trình viết G02 I-20. (không ghi X, Y), máy hiểu là đi trọn một vòng quanh tâm nằm cách điểm đầu 20 mm về phía X âm.
Bán kính dao làm cung thật khác cung trên bản vẽ
Tọa độ trong chương trình mẫu ở trên là biên dạng chi tiết, còn đường tâm dao do lệnh bù G41 tự tính. Ở góc lượn lồi R10, tâm dao đi trên cung bán kính 10 + 5 = 15 mm. Ở cung lõm R15, tâm dao đi trên cung bán kính 15 − 5 = 10 mm. Từ đây có hai hệ quả người đứng máy cần biết. Cách vào bù, ra bù và chọn G41 hay G42 cho từng kiểu biên dạng có trong bài lệnh G41, G42 bù bán kính dao.
Thứ nhất, cung lõm có bán kính nhỏ hơn bán kính dao thì không cắt được. Một hốc có góc trong R4 mà dùng dao đường kính 10 mm (bán kính 5 mm), Fanuc thường dừng máy và báo lỗi can thiệp khi bù dao. Nếu chức năng kiểm tra can thiệp bị tắt, dao có thể cắt lẹm vào thành hốc; còn nếu góc được lập trình thành góc nhọn thì góc thật ra R5 chứ không phải R4. Cách xử lý là đổi dao nhỏ hơn, không phải sửa số cho máy chịu chạy. Khi đọc bản vẽ, nhìn bán kính góc trong nhỏ nhất trước rồi mới chọn dao.
Thứ hai, lượng chạy dao tại lưỡi cắt trên cung lõm cao hơn số F trong chương trình. Trên Fanuc, F khi đang bù dao áp cho tâm dao. Tâm dao đi cung bán kính 10 mm, còn lưỡi cắt đi trên cung bán kính 15 mm của chi tiết trong cùng thời gian, nên lưỡi cắt chạy nhanh hơn tâm dao 15 / 10 = 1,5 lần: F200 thành khoảng 300 mm/phút tại chỗ tiếp xúc. Góc lõm càng sát bán kính dao thì tỷ lệ này càng lớn. Cộng thêm việc dao ôm vật liệu nhiều hơn khi vào góc lõm, đó là lý do dao hay rung, mẻ lưỡi ở góc trong. Cung lồi thì ngược lại, lưỡi cắt chậm hơn F. Người lập trình có kinh nghiệm thường giảm F riêng cho các khối cung lõm, hoặc dùng chức năng tự giảm tốc ở góc trong nếu máy có.

Khi thêm trục Z: phay xoắn ốc bằng G02, G03
Nếu khối G02 hoặc G03 ở mặt phẳng G17 có thêm Z, máy vừa chạy cung tròn trên XY vừa hạ hoặc nâng Z đều theo cung. Đường dao thành xoắn ốc. Kiểu chạy này dùng để phay lỗ lớn mà không cần dao khoan cùng cỡ, để ăn dao xuống hốc kín thay cho cắm thẳng dao xuống, và để phay ren bằng dao phay ren. Cú pháp giữ nguyên, chỉ thêm Z là độ sâu điểm cuối. Người mới học nên nắm chắc G02, G03 phẳng trước, vì tay ren do cặp chiều quay và chiều đi của Z quyết định: với ren phải, G03 thì dao đi lên, G02 thì dao đi xuống. Đổi một trong hai mà giữ nguyên cái kia là ra ren trái.
Thứ tự kiểm tra một khối cung tròn trước khi chạy máy
Các lỗi trên đều bắt được trên giấy nếu kiểm tra theo một thứ tự cố định:
- Mặt phẳng: dòng đầu chương trình có G17 (hoặc G18, G19 nếu cố ý dùng).
- Chiều quay: tưởng tượng nhìn từ phía dương của trục vuông góc, dao đi cùng chiều kim đồng hồ là G02, ngược lại là G03.
- Điểm cuối: X, Y là điểm kết thúc cung, đúng chế độ G90 hoặc G91 đang dùng.
- Tâm: I, J bằng tọa độ tâm trừ tọa độ điểm đầu, giữ dấu; nếu dùng R thì kiểm tra cung có vượt quá nửa vòng không để đặt dấu âm.
- Bán kính dao: cung lõm nhỏ nhất phải lớn hơn bán kính dao; xem lại F ở các cung lõm sát bán kính dao.
- Chạy mô phỏng đồ họa trên máy hoặc chạy khô với Z nâng cao trước khi cắt thật.

Học lập trình phay CNC theo phương pháp Hybrid tại CVTECH
Ở khóa lập trình máy phay CNC chuyên sâu của CVTECH (1 tháng, 180 giờ, học phí 8 triệu đồng), học viên học lý thuyết mã lệnh và MasterCAM 2018 trên app và web, rồi thực hành lập trình cung tròn, bù dao tại xưởng Lô 4 Cụm công nghiệp Lai Xá, phường Tây Tựu, Hà Nội, trên máy phay hệ Fanuc. Người chưa từng đứng máy có thể bắt đầu từ khóa vận hành máy phay CNC thực chiến (1 tháng, 180 giờ, 8 triệu đồng) hoặc học combo phay CNC (2 tháng, 360 giờ, 12 triệu đồng).
Lớp học 8h–17h từ thứ Hai đến thứ Sáu, thực hành không giới hạn, học lại miễn phí đến khi thành nghề, có ký túc xá và được học miễn phí Tiếng Trung kỹ thuật online. Lịch khai giảng xem tại trang học phí và lịch khai giảng.
Câu hỏi thường gặp
G02 và G03 khác nhau thế nào?
G02 chạy dao theo cung tròn cùng chiều kim đồng hồ, G03 ngược chiều kim đồng hồ. Chiều quay xét khi nhìn từ phía dương của trục vuông góc với mặt phẳng gia công; với máy phay ở G17 là nhìn từ trên xuống bàn máy.
Nên dùng R hay I, J khi lập trình cung tròn?
Cung nhỏ hơn hoặc bằng nửa vòng, như góc lượn và cung chuyển tiếp, dùng R cho gọn. Cung lớn hơn nửa vòng nên dùng I, J để tránh lỗi quên dấu âm của R. Cung tròn kín 360° bắt buộc dùng I, J.
Cách tính I, J trong lập trình CNC?
I bằng tọa độ X của tâm trừ tọa độ X của điểm đầu cung, J bằng tọa độ Y của tâm trừ tọa độ Y của điểm đầu. Kết quả giữ nguyên dấu. Trên Fanuc mặc định, I, J luôn là giá trị tương đối, kể cả khi chương trình đang ở G90.
Vì sao máy báo lỗi khi chạy G02, G03?
Nguyên nhân hay gặp nhất là khoảng cách từ điểm đầu tới tâm và từ điểm cuối tới tâm không bằng nhau, do tính sai I, J, sai dấu hoặc sai tọa độ điểm cuối. Các nguyên nhân khác là chưa có F, sai mặt phẳng G17, G18, G19, hoặc cung lõm có bán kính nhỏ hơn bán kính dao khi đang bù dao.
Trước khi viết khối cung tròn tiếp theo, lấy bản vẽ một chi tiết có góc lượn, tự ghi tọa độ điểm đầu, điểm cuối, tâm rồi tính I, J bằng tay. Làm năm cung như vậy thì quy tắc nhìn từ phía nào, trừ từ đâu sẽ thành phản xạ. Phần nền cần ôn lại nằm ở các bài lệnh cắt gọt theo đường thẳng G01, G90 và G91 trong chương trình NC và hệ tọa độ máy CNC; danh sách các mã lệnh khác có ở bài các mã lệnh gia công CNC phổ biến.



