Mẫu lỗ khoan lặp lại hiếm khi cần một chương trình NC dài. Nếu tọa độ tạo thành một hàng đơn giản, chu trình khoan G81, định vị gia tăng G91 và số lần lặp L thường đủ. Tuy nhiên, với lưới lỗ hình chữ nhật, nhiều kích thước chi tiết hoặc bước thay đổi thường xuyên, việc chỉnh sửa từng tọa độ thủ công trở nên chậm và dễ sai sót. Lập trình macro giữ lại logic lặp trong một chương trình con và truyền kích thước cùng số lượng lỗ dưới dạng tham số.
Ví dụ dưới đây dành cho bộ điều khiển máy phay Haas có hỗ trợ macro. Cách khai báo biến, cú pháp vòng lặp và gọi chương trình con khác nhau tùy theo hệ thống CNC và cấu hình phần mềm. Luôn kiểm tra hướng dẫn cho bộ điều khiển cụ thể, xác nhận chương trình bằng mô phỏng đồ họa và chạy thử trên phôi đầu tiên.
Khi nào chu trình khoan tiêu chuẩn là đủ
G81 đã loại bỏ phần lớn mã lặp trong thao tác khoan. Khi chu trình được kích hoạt, bộ điều khiển khoan tại mỗi vị trí X/Y mới cho đến khi lệnh G80 hủy chu trình. Tài liệu của Haas minh họa cách di chuyển gia tăng theo trục X và tham số L tạo thành hàng lỗ cách đều nhau:
G90 G54 X10. Y20.
G43 H01 Z50.
G99 G81 Z-12. R2. F120.
G91 X25. L4
G80
G90Giải pháp này phù hợp cho một hàng thẳng. Lỗ đầu tiên được khoan tại vị trí kích hoạt G81, trong khi dòng G91 X25. L4 thêm bốn vị trí nữa. Nếu không để ý lỗ đầu tiên, có thể khoan thừa hoặc lệch mẫu lỗ.
Các chu trình tiêu chuẩn khác cũng phục vụ các kiểu khoan khác nhau. G82 thêm thời gian dừng ở đáy lỗ, G83 dùng cho khoan nhát, G98 hoặc G99 xác định mức trả dao. Chu trình chọn phải phù hợp với dụng cụ, độ sâu, vật liệu và điều kiện thoát phoi. Macro chỉ quản lý tọa độ và lặp lại; không thay thế quy trình khoan đúng kỹ thuật.
Macro tham số mang lại gì
Lưới hình chữ nhật có thể định nghĩa bằng chín giá trị: tọa độ lỗ đầu tiên, bước theo hai trục, số cột và số hàng, độ sâu khoan, mặt phẳng R và tốc độ chạy dao. Người vận hành chỉ cần thay đổi một dòng gọi, vòng lặp lồng nhau sẽ tính toán vị trí từng lỗ.
Trong lệnh gọi sau, X và Y xác định điểm bắt đầu lưới, I và J là bước, A và B là số cột và số hàng:
G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.Trên bộ điều khiển Haas, các tham số G65 được ánh xạ vào biến cục bộ trong macro. Ví dụ này X ứng với #24, Y với #25, I là #4, J là #5, A là #1, B là #2, Z là #26, R là #18, F là #9. Mỗi lần gọi G65 cung cấp bộ biến cục bộ mới, nên cùng một macro có thể chạy với các tham số khác nhau.
Macro cho lưới hình chữ nhật
O09010 (DRILL RECTANGULAR PATTERN)
#30 = 0 (ROW INDEX)
WHILE [#30 LT #2] DO1
#31 = 0 (COLUMN INDEX)
WHILE [#31 LT #1] DO2
#32 = [#24 + #31 * #4] (CURRENT X)
#33 = [#25 + #30 * #5] (CURRENT Y)
G90 G00 X#32 Y#33
G81 Z#26 R#18 F#9
G80
#31 = #31 + 1
END2
#30 = #30 + 1
END1
M99Vòng lặp ngoài đếm số hàng, vòng lặp trong đếm số cột. Mỗi tọa độ được tính bằng cách cộng tọa độ bắt đầu với chỉ số vị trí nhân bước. Với A4 và B3, macro khoan 12 lỗ: 4 lỗ mỗi hàng, 3 hàng.
Phiên bản hướng dẫn này kích hoạt và hủy G81 tại mỗi vị trí. Cách này tốn thêm chút thời gian chạy nhưng giữ trạng thái chu trình rõ ràng cho từng thao tác. Phiên bản sản xuất có thể giữ chu trình hoạt động qua nhiều vị trí, nhưng cần kiểm soát kỹ lần chạy đầu, trạng thái modal và lệnh G80 cuối cùng.
Chương trình chính và trạng thái an toàn
Macro không nên tự xác định số dụng cụ, bù chiều dài, tốc độ trục chính hay hệ tọa độ làm việc. Giữ các giá trị đó trong chương trình chính giúp dễ kiểm tra thiết lập.
O01000
G90 G17 G40 G49 G80 G94
G54
T1 M06
S1800 M03
G00 X10. Y20.
G43 H01 Z50.
M08
G65 P9010 X10. Y20. I25. J20. A4. B3. Z-12. R2. F120.
G80
G00 Z50.
M09
M05
G53 G00 Z0.
M30Chương trình này thiết lập mặt phẳng G17, định vị tuyệt đối G90, hệ tọa độ làm việc G54 và bù chiều dài dụng cụ G43 H01 trước khi gọi macro. Chiều cao an toàn, rút dao về tọa độ máy và trình tự bật thiết bị phải theo yêu cầu máy và mẫu chương trình của nhà máy.
Kiểm tra cần có trong macro sản xuất
Mã tham số giảm việc chỉnh sửa thủ công, nhưng một tham số sai có thể làm lệch toàn bộ mẫu lỗ. Macro sản xuất nên kiểm tra đầu vào: số hàng và cột phải là số nguyên dương, mặt phẳng R phải ở phía an toàn trên bề mặt phôi, và tọa độ X/Y tính được phải nằm trong biên dạng chi tiết và hành trình máy.
- Xác nhận ánh xạ tham số sang biến cục bộ trên bộ điều khiển thực tế.
- Đảm bảo số DO và END khớp đúng trong các vòng lặp lồng nhau.
- Tính trước điểm cuối cùng: X + (A − 1) × I và Y + (B − 1) × J.
- Kiểm tra dấu Z, vị trí mặt phẳng R và chế độ trả dao G98 hoặc G99.
- Chạy mô phỏng đồ họa trước, sau đó chạy từng bước với tốc độ nhanh giảm.
- Nếu có ê tô hoặc kẹp phôi, kiểm tra cả đường di chuyển chuyển tiếp và vị trí khoan.
Cũng nên có bảo vệ khi thiếu tham số. Trên các bộ điều khiển mà biến cục bộ không khai báo có giá trị rỗng, macro có thể báo lỗi trước khi máy chuyển động. Cú pháp kiểm tra biến rỗng và báo lỗi phải lấy từ tài liệu bộ điều khiển CNC.
Trường hợp macro thực sự giúp tiết kiệm công sức
Với chi tiết đơn có 5 lỗ cố định, chu trình G81 kèm danh sách tọa độ thường dễ đọc hơn. Macro có ích khi mẫu lỗ thay đổi theo quy tắc rõ ràng: mảng hình chữ nhật hoặc tròn, nhiều kích thước cùng chi tiết, lỗ lặp trên các hệ tọa độ làm việc khác nhau hoặc dòng sản phẩm dùng chung quy trình khoan.
Macro dễ bảo trì có nhiệm vụ rõ ràng và giao diện minh bạch. Mỗi tham số được ghi chú trong chương trình hoặc bảng thiết lập, kèm ví dụ gọi đúng lưu cùng chương trình. Người thiết lập có thể thay đổi kích thước lưới và chế độ gia công mà không cần sửa công thức hay bộ đếm vòng lặp.
Haas cung cấp tài liệu chính thức về cách truyền tham số qua G65 và biến cục bộ cũng như các chu trình khoan tiêu chuẩn. Nên dùng tài liệu này làm điểm khởi đầu và đối chiếu với phiên bản phần mềm trên máy thực tế.