1. Ví dụ Cách sử dụng biến để Thay đổi vị trí lỗ trước khi tạo một chương trình thành macro.
1.1 Cách biến tâm lỗ thành một biến
Trong khóa học trước, bạn có thể tự do thay đổi đường kính lỗ và đường kính dao. Tuy nhiên, gốc gia công lúc đó là tâm của lỗ, do đó gốc gia công phải được thay đổi cho mỗi lỗ. Lần này, Tôi sẽ biến tâm của lỗ thành một biến số làm tiền đề để tạo một chương trình thành Macro.
Xem lại bài trước: Hướng dẫn sử dụng Biến để thay đổi quỹ đạo Dao
%
O100 (Gia công lỗ)
# 100 = 130 (F)
# 101 = 0 (Vị trí Z BẮT ĐẦU)
# 102 = -2.0 (Vị trí Z KẾT THÚC)
# 103 = 0,2 (Lượng cắt)
# 104 = 10. (ĐK lỗ)
# 105 = 6. (ĐK Dao)
# 106 = [# 104- # 105] / 2
G17
G91G28Z0
G90G00G54X 0 Y 0
Z50.
M3S1300
M8
G01X # 106 F1000
Z1.F2000
Z0.2F100
N10 (BẮT ĐẦU)
WHILE [# 101GT # 102] DO1
G03I- # 106Z # 101F # 100
# 101 = # 101- # 103
HẾT1
I- # 106Z # 102
I- # 106
G01X 0
Z10.F2000
M9
M5
G91G28Z0
G28Y0
M30
%
1.1 Cách đặt Biến để thay đổi vị trí lỗ trong chương trình NC
Chương trình trên là chương trình được tạo ở tâm. Tôi sẽ thêm một biến để đưa tọa độ của tâm lỗ vào phần màu đỏ. Có hai tọa độ tâm của lỗ, trục X và trục Y, vì vậy hãy đặt chúng lần lượt là # 107 và # 108.
%
O100 (Gia công lỗ)
# 100 = 130 (F)
# 101 = 0 (Vị trí Z BẮT ĐẦU)
# 102 = -2.0 (Vị trí Z KẾT THÚC)
# 103 = 0,2 (Lượng cắt)
# 104 = 10. (ĐK Lỗ)
# 105 = 6. (ĐK dao)
# 106 = [# 104- # 105] / 2
# 107 = 0 (Tâm X)
# 108 = 0 (Tâm Y)
G17
G91G28Z0
G90G00G54X # 107 Y # 108
Z50.
M3S1300
M8
G01X [# 106 + # 107] F1000
Z1.F2000
Z0.2F100
N10 (BẮT ĐẦU)
WHILE [# 101GT # 102] DO1
G03I- # 106Z # 101F # 100
# 101 = # 101- # 103
HẾT1
I- # 106Z # 102
I- # 106
G01X # 107
Z10.F2000
M9
M5
G91G28Z0
G28Y0
M30
%
Với điều này, ngay cả khi vị trí lỗ thay đổi, bạn có thể gia công lỗ đơn giản bằng cách thay đổi giá trị của biến.
2. Cách Tạo một chương trình thành macro để sử dụng lại
2.1 Cách đặt biến để tạo một chương trình thành macro
Tính đến thời điểm cuối cùng, tính linh hoạt của chương trình đã tăng lên đáng kể. Lần này, hãy tạo một chương trình thành macro để sử dụng lại nó có thể được kết hợp vào một chương trình chuyên dụng hơn.
%
O100 (GC lỗ 10)
# 100 = 130 (F)
# 101 = 0 (Vị trí Z BẮT ĐẦU)
# 102 = -2.0 (Vị trí Z KẾT THÚC)
# 103 = 0,2 (Lượng cắt)
# 104 = 10. (ĐK Lỗ)
# 105 = 6. (ĐK dao)
# 106 = [# 104- # 105] / 2
# 107 = 0 (Tâm tọa độ X)
# 108 = 0 (Tâm tọa độ Y)
G91G28Z0
G90G00G54X # 107 Y # 108
Z50.
M3S1300
M8
——————–
(Tách ra từ đây)
G01X [# 106 + # 107] F1000
Z1.F2000
Z0.2F100
N10 ( BẮT ĐẦU)
WHILE [# 101GT # 102] DO1
G03I- # 106Z # 101F # 100
# 101 = # 101- # 103
HẾT1
I- # 106Z # 102
I- # 106
G01X # 107
Z10.F2000
——————–
M9
M5
G91G28Z0
G28Y0
M30
%
2.2 Cách tạo một chương trình thành macro bằng cách đặt như sau
Tôi sẽ chia các chương trình đã tạo đến lần cuối cùng. Việc tính toán # 106 sẽ được thực hiện trong macro, vì vậy hãy xóa nó đi. Nó được di chuyển đến tâm của lỗ khi hệ tọa độ của G54 được chọn, nhưng vì điều này cũng được thực hiện trong macro, hãy di chuyển nó đến gốc gia công (X0, Y0) tại đây. Số chương trình của chương trình macro đã chia được đặt thành “O10” ở đây.
(Chương trình chính)
%
O100 (GC Lỗ 10)
# 100 = 130 (F)
# 101 = 0 (Vị trí Z BẮT ĐẦU)
# 102 = -2.0 (Vị trí Z KẾT THÚC)
# 103 = 0,2 (Lượng cắt)
# 104 = 10. (ĐK Lỗ)
# 105 = 6. (ĐK dao)
# 107 = 0 (Tâm tọa độ X)
# 108 = 0 (Tâm tọa độ Y)
G17
G91G28Z0
G90G00G54X 0 Y 0
Z50.
M3S1300
M8
M9
M5
G91G28Z0
G28Y0
M30
%
——————–
(Chương trình macro)
%
O10 (Gia công lỗ bằng MACRO)
G01X [# 106 + # 107] F1000
Z1.F2000
Z0.2F100
N10 (BẮT ĐẦU)
WHILE [# 101GT # 102] DO1
G03I- # 106Z # 101F # 100
# 101 = # 101- # 103
HẾT1
I- # 106Z # 102
I- # 106
G01X # 107
Z10.F2000
%
Vì chuỗi số # 100 là một biến chung, nó có thể được sử dụng trong chương trình chính, và sẽ rất nguy hiểm nếu bạn sử dụng nó mà không để ý, vì vậy hãy đổi nó thành một biến cục bộ từ # 1 thành # 33. Khi nó nhận được một đối số từ chương trình chính, nó sẽ tự động được nhập vào một biến cục bộ, vì vậy hãy thay đổi nó khi xem xét điều đó. Đầu tiên, hãy quyết định những gì để đặt vào biến nào.
Chương trình macro:
%
O10 (Gia công lỗ bằng MACRO)
(A = Đường kính lỗ)
(B = Vị trí Z BẮT ĐẦU)
(C = Vị trí Z KẾT THÚC)
(K = Lượng cắt)
(D = Đường kính dao)
(F = F)
(X = Tọa độ tâm X)
(Y = Tọa độ tâm Y)
G01X [# 106 + # 107] F1000
Z1.F2000
Z0.2F100
N10 (BẮT ĐẦU)
WHILE [# 101GT # 102] DO1
G03I- # 106Z # 101F # 100
# 101 = # 101- # 103
HẾT1
I- # 106Z # 102
I- # 106
G01X # 107
Z10.F2000
%
Bằng cách mô tả những gì cần đặt vào biến nào theo cách này, bạn sẽ không mắc lỗi hoặc bị lạc khi nhìn vào nó sau này. Bây giờ chúng ta hãy thay đổi các biến thông thường thành các biến cục bộ. Nhân tiện, các biến cục bộ tương ứng với các bảng chữ cái trong bảng bên dưới.
Bảng chữ cái | Biến cục bộ tương ứng |
A | # 1 |
B | # 2 |
C | # 3 |
Tôi | # 4 |
J | #5 |
K | # 6 |
D | # 7 |
E | # 8 |
F | # 9 |
H | # 11 |
M | # 13 |
Q | # 17 |
R | # 18 |
S | # 19 |
T | # 20 |
U | #21 |
V | #22 |
W | #23 |
X | #24 |
Y | #25 |
Z | # 26 |
(Chương trình macro)
%
O10 (Gia công lỗ bằng MACRO)
(A = Đường kính lỗ)
(B = Vị trí Z BẮT ĐẦU)
(C = Vị trí Z KẾT THÚC)
(K = Lượng cắt)
(D = Đường kính dao)
(F = F)
(X = Tọa độ tâm X)
(Y = Tọa độ tâm Y)
# 30 = [# 1- # 7] / 2
G01X # 24Y # 25F2000
G01X [# 30 + # 24] F1000
Z1.F2000
Z0.2F100
N10 (BẮT ĐẦU)
WHILE [ # 2 GT # 3 ] DO1
G03I- # 30 Z # 2 F # 9
# 2 = # 2- # 6
HẾT1
I- # 30 Z # 3
I- # 30
G01 X # 24
Z 50. F2000
M99
%
Như vậy đã hoàn thành chương trình macro. “M99” cuối cùng là lệnh để quay lại chương trình chính. Hãy gọi chương trình macro này từ chương trình chính. Sử dụng “G65” để gọi chương trình macro.
(Chương trình chính)
%
O100 (Gia công lỗ)
# 100 = 130 (F)
# 101 = 0 (Vị trí Z BẮT ĐẦU)
# 102 = -2.0 (Vị trí Z KẾT THÚC)
# 103 = 0,2 (Lượng cắt)
# 104 = 10. (Đường kính lỗ)
# 105 = 6. (Đường kính dao)
# 107 = 0 (Tọa độ tâm X )
# 108 = 0 (Tọa độ tâm Y )
G17
G91G28Z0
G90G00G54X0Y0
Z50.
M3S1300
M8
G65P10A # 104B # 101C # 102K # 103D # 105F # 100X # 107Y # 108
M9
M5
G91G28Z0
G28Y0
M30
%
Vậy là đã hoàn thành. Tôi đã có thể tạo một khối mã có hơn 10 khối. Hãy thực sự kết hợp nó vào một chương trình chuyên dụng khác. Các lỗ và thanh đối chiếu dưới đây đã được gia công và gốc gia công nằm ở tâm của phôi.
%
O101 (MẪU)
# 107 = 4.0 (Đường Kính dao)
G17
G91G28Z0
G90G00G54X0Y0
Z50.
M3S2000
M8
(6,5 Lỗ)
G65P10A6.5B0C-10.5K0.13D # 107F200X15.Y15.
G65P10A6.5B0C-10.5K0.13D # 107F200X15.Y-15.
G65P10A6.5B0C-10.5K0.13D # 107F200X-15.Y-15.
G65P10A6.5B0C-10.5K0.13D # 107F200X-15.Y15.
(Bậc lỗ 11 sâu 6.5)
G65P10A11.B0C-6.5K0.36D # 107F200X15.Y15.
G65P10A11.B0C-6.5K0.36D # 107F200X15.Y-15.
G65P10A11.B0C-6.5K0.36D # 107F200X-15.Y-15.
G65P10A11.B0C-6.5K0.36D # 107F200X-15.Y15.
M9
M5
G91G28Z0
G28Y0
M30
%
Lần này, tôi đã biến đường kính dao thành một biến. Ngay cả khi vị trí lỗ và đường kính lỗ khác nhau, bạn có thể dễ dàng lập trình chỉ với một chương trình macro.
Bài này đến đây là kết thúc. Bài tiếp theo Tôi sẽ hướng dẫn thêm về các bài thực hành về Biến trong lập trình NC.
Hãy xem lại các bài học trước nếu Bạn chưa xem qua khi lập trình NC tại đây:
- Lợi ích khi dùng chương trình NC
- Cấu trúc của chương trình NC
- Hệ tọa độ trong chương trình NC
- Các toán tử trong chương trình NC thường dùng nhất
- Hướng dẫn sử dụng Biến trong chương trình NC
- Thay đổi giá trị của Biến trong chương trình NC
Cảm ơn bạn đã đọc đến cuối. Nếu Bạn có quan tâm về:
Các khóa học lập trình cnc cấp tốc
thì Hãy liên hệ với Tôi :
Lập trình tiện NC (2 trục, 3 trục).
Lập trình phay NC (3 trục ).
Lập trình tiện CNC bằng phần mềm Mastercam
Lập trình Phay CNC 2D, 3D, 4,5 trục bằng phần mềm Mastercam.
Cảm ơn Bạn đã theo dõi. Hẹn gặp Bạn vào bài viết tiếp theo.
Đăng ký Kênh Cad/Cam/Cnc: Đăng ký miễn phí
Tham gia Group chia sẻ kiến thức: Tham gia miễn phí