Ðề: Đại hội võ lâm dành cho CAM thủ lần thứ 1 -2011.
Tham khảo tại:
http://bleiercnctraining.blogspot.c...vel-pl[MEDIA=youtube]n-machining[/MEDIA].html
Mượn tạm cái hình của Bí để giải thích một tí về Cycle800 như đã hứa với Bí này:
Thêm bớt vào một tí, cái hình nó thành ra thế này:
Giờ giải thích từng dòng CYCLE theo chương trình mẫu của bí đã, xíu nữa giải thích sâu hơn tí về CYCLE800 nhé.
Dòng CYCLE800 thứ nhất: N25 Cycle800(1, “Head_3”, 0, 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1)
Dòng này gần như không ý nghĩa, nên hãy quan tâm tới lần gọi Cycle800 thứ hai: N40 Cycle800(1, “Head_3”, 0, 57, 25, 0, 0, -15, 0, 0, 0, 0, 0, 1)
Dòng này có tác dụng như sau:
- Chuyển gốc tọa độ từ Gốc ban đầu (G54) sang gốc thứ 2 (CSys1 trong hình): gốc này được mô tả như sau: Csys1 có tọa độ theo G54 theo các chiều là: X0, Y25, Z0; Các trục của gốc mới được tạo thành bởi phép quay quanh trục X của G54 một góc là -15 độ (A=-15). Có một chút nhầm lẫn của tác giả chương trình này: nếu như theo hình vẽ, thì phải viết lại như sau:
N40 Cycle800(1, “Head_3”, 0, 57, 0, 25, 0, -15, 0, 0, 0, 0, 0, 1)
- Sau đó trên hệ trục tọa độ CSys1 này, tiến hành gia công khỏa mặt với các thông số như sau:
N45 S1500 M3 M8 - Tốc độ vòng quay trục chính 1500, có tưới nguội.
N50 Cycle71() - Chu trình khỏa mặt.
Rồi, tiếp theo:
N60 Cycle800(1, “Head_3”, 1, 57, 0, 0, 0, 0, 0, 0, 40, 30, 0, 1) ;additive translation in the plane
N65 S5000 M3 M8
N70 Pocket4()
N80 Cycle800( )
Bỏ qua chỗ thay dao đi nhé, đọc hiểu ngay rồi.
Đoạn này, dòng N60 lại làm nhiệm vụ chuyển gốc tọa độ một lần nữa: từ gốc CSYS1 tới CSYS2 (ngay tâm cái hốc ấy), Csys2 được mô tả như sau:
- Hướng các trục trùng hướng với CSYS1,
- Có tọa độ so với CSYS1 là X40, Y30, Z0.
Sau đó phay hốc với các thông số như trên.
Alright, về mặt chương trình là thế, phát hiện ra 1 bug;
Giờ phân tích thêm một tí về sự khác nhau của N60 và N40 nhé:
N40 Cycle800(1, “Head_3”, 0, 57, 0, 25, 0, -15, 0, 0, 0, 0, 0, 1)
N60 Cycle800(1, “Head_3”, 1, 57, 0, 0, 0, 0, 0, 0, 40, 30, 0, 1)
Thấy có mấy thứ khác nhau, phải không nào. Nhưng để hiểu, ta nên biết cú pháp và tác dụng của Cycle800 đã nhé:
Cycle800(Kiểu retract, Tên, Kiểu dịch chuyển gốc, thứ tự quay của trục, X0, Y0, Z0, A, B, C, X1, Y1, Z1, Dir).
a. Kiểu retract: ở ví dụ này, ta thấy kiểu retract người ta luôn dùng là kiểu 1: là rút Z lên tới vị trí an toàn.
Còn các giá trị khác: 2: retract Z trước, sau đó tới X&Y. 4: retract dọc theo trục của dao,0: là không retract (đừng dại mà gõ 0 vào nhé. Va chạm là toi đấy).
b. Tên: nhận giá trị là một chuỗi (đặt trong dấu " ") ở trong ví dụ này, người ta đặt tên là "Head_3", mình có thể thay bằng "stupid_iPumpkin" cũng chẳng chết...
)
c. Kiểu dịch chuyển gốc: Cái này thú vị đây: tại sao ở N40 là 0, ở N60 là 1; Giải thích thế này nhé:
Giả sử có 3 gốc ở 3 mặt làm việc khác nhau trong đó có 1 gốc là G54 (tức là gốc ban đầu ấy); Tạm gọi như sau cho dễ nhé: G54, G55, G56.
Rồi, nếu ta đã làm việc xong ở G54, lần gọi Cycle800 thứ nhất chuyển qua G55, làm việc xong ở G55, lượt tiếp theo ta phải làm việc với G56. Vậy ở đây có các thứ tự như sau:
G54 - G55 - G54 - G56: Tức là xong gốc thứ cấp đầu tiên, quay lại gốc ban đầu và từ gốc ban đầu chuyển sang gốc thứ cấp tiếp theo. Trong trường hợp này, Kiểu dịch chuyển gốc được đặt giá trị là "0".
G54 - G55 - G56: Tức là từ gốc ban đầu - gốc thứ cấp đầu tiên rồi từ đó sang thẳng gốc tiếp theo (không quay về gốc ban đầu), trong trường hợp này, kiểu dịch chuyển gốc được đặt giá trị 1.
Vậy đã hiểu sự khác nhau thứ nhất giữa N40 và N60 chưa nào?!
d. Tiếp theo ta xét đến thứ tự xoay của trục nhé: Trong ví dụ này, ta thấy rằng ở vị trí của tham số này có con số 57 to đùng. Đừng nghĩ nó là G57 mà toi chắc đấy.
57 khi dịch ra số nhị phân 8 bits có dạng như sau: 00 11 10 01 (ối giời, may quá vụ này dùng kiến thức IT mà mình cũng võ vẽ):
- 2 bit đầu tiên: 00 Mã trục
- 6 bit tiếp theo là thứ tự của các trục Cứ 2 bit một là ref cho 1 trục: X: 01; Y: 10; Z: 11. Theo thứ tự sắp xếp của ví dụ này, ta biết rằng: Thứ tự quay của các trục là ZYX: Quay quanh X trước, sau đó Y quay. (Úi giời, Máy này có A, Có B nhá. Ta biết rồi; => phải hiểu máy mới đặt giá trị này chính xác được nhá.).
THam khảo bảng giá trị của tham số này như sau:
XYZ 00 01 10 11 B = 27 D. 1st around Z, 2nd around the new Y.
XZY 00 01 11 10 B = 30 D. 1st around Y, 2nd around the new Z.
YXZ 00 10 01 11 B = 39 D. 1st around Z, 2nd around the new X.
YZX 00 10 11 01 B = 45 D. 1st around X, 2nd around the new Z.
ZXY 00 11 01 11 B = 54 D. 1st around Y, 2nd around the new X
ZYX. 00 11 10 11 B = 57 D. 1st around X, 2nd around the new Y
Xong, Giờ nói một lượt X, Y, Z, A, B, C, X1, Y1, X1 nhé:
X, Y, Z là tọa độ của gốc mới mà Cycle800 sẽ thực hiện quay tới so với gốc ban đầu (G55 so với G54 cho dễ hiểu nhé). Nếu tính toán G55 theo G54 thì put mấy cái tọa độ vào vị trí này cho chính xác nhé.
A, B, C: là góc quay theo các trục X, Y, Z nhá.
Còn X1, Y1, Z1 là sao đây: Nếu Kiểu dịch chuyển gốc = 1, thì tính G56 theo G55 rồi put giá trị vào vị trí này nhá.
Rồi còn tham số Dir thì mình cũng chưa hiểu nó làm gì nữa, thường nó nhận giá trị 1.
Ok Vậy là xong Cycle800 nhá.
Luận tiếp theo:
Sao phải phức tạp thế nhở, Sinh ra Cycle800 để dọa ma à?
- Nội dung chủ yếu đề cập tới vị trí đặt phôi trên máy; Pivot Point... Dẫn dắt vấn đề cho Rotating Tools Control Point (RTCP) và 5 Axis Simultarious.
Tham khảo Video trước khi sang bài Luận tiếp theo.
[video=youtube;gDyj-fOdQgg]http://www.youtube.com/watch?feature=player_profilepage&v=gDyj-fOdQgg[/video]
Full Chanel:
http://www.youtube.com/user/haith2407?feature=mhee#p/a/u/0/gDyj-fOdQgg