Tối ưu hóa đường chạy dao gia công 4 trục.

Discussion in 'Lập trình CNC' started by iPumpkin, Jun 28, 2013.

  1. iPumpkin

    iPumpkin <center><b>CAM Programmer</b></center>

    Joined:
    Nov 14, 2008
    Messages:
    1,961
    Likes Received:
    19
    Hi chào các bạn.

    Bên công ty mình khi đổ chương trình gia công 4 trục cho máy CNC. Ví dụ máy chạy từ A20 đến A100, nó có rất nhiều giá trị trung gian ví dụ như A20, A2,001, À,003....A100, thực tế máy chỉ cần A20 A100 là đủ. Các bạn có biết phần mềm nào xử lý được nó không ?

    Xin cảm ơn và hậu tạ.
     
  2. chimen_bka

    chimen_bka Member

    Joined:
    Feb 11, 2012
    Messages:
    568
    Likes Received:
    2
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    iPumpkin Tung một đoạn Code lên đi cho dễ hiểu vấn đề !
    Không biết phải ý iPumpkin nói Tool sẽ dứng yên cón A xoay từ A20 đên A100 giống như Tiện phải không ?
     
  3. iPumpkin

    iPumpkin <center><b>CAM Programmer</b></center>

    Joined:
    Nov 14, 2008
    Messages:
    1,961
    Likes Received:
    19
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.


    n30 g0 x52.546 y-6.2 z243.178 a131.264 b0. S1800 m3
    n31 z93.178
    n32 g1 z92.678 f400.
    N33 g41 y0
    n34 x45.1 f300.
    N35 x40.1 f150.
    N36 a131.166
    n37 a129.761
    n38 a128.355
    n39 a128.173
    n40 a126.949 f300.
    N41 a125.544
    n42 a124.138
    n43 a122.732
    n44 a121.327
    n45 a119.921
    n46 a118.515
    n47 a117.11
    n48 a115.704
    n49 a114.298
    n50 a112.892
    n51 a111.487
    n52 a110.081
    n53 a108.675
    n54 a107.27
    n55 a105.864
    n56 a104.458
    n57 a103.053
    n58 a101.647
    n59 a100.241
    n60 a98.836
    n61 a97.43
    n62 a96.024
    n63 a94.619
    n64 a93.213
    n65 a91.807
    n66 a90.602
    n67 a89.598
    n68 a88.193
    n69 a86.787
    n70 a85.381
    n71 a83.976
    n72 a82.57
    n73 a81.164
    n74 a79.759
    n75 a78.353
    n76 a76.947
    n77 a75.542
    n78 a74.136
    n79 a72.73
    n80 a71.325
    n81 a69.919
    n82 a68.513
    n83 a67.108
    n84 a65.702
    n85 a64.296
    n86 a62.89
    n87 a61.485
    n88 a60.079
    n89 a58.673
    n90 a57.268
    n91 a55.862
    n92 a54.456
    n93 a53.051
    n94 a51.827
    n95 a51.645 f150.
    N96 a50.239
    n97 a48.834
    n98 a48.736
    n99 x45.1
    n100 x59.993 f300.
    N101 x64.993 f150.
    N102 a48.834
    n103 a50.239
    n104 a51.645
    n105 a51.827
    n106 a53.051 f300.
    N107 a54.456
    n108 a55.862
    n109 a57.268
    n110 a58.673
    n111 a60.079
    n112 a61.485
    n113 a62.89
    n114 a64.296
    n115 a65.702
    n116 a67.108
    n117 a68.513
    n118 a69.919
    n119 a71.325
    n120 a72.73
    n121 a74.136
    n122 a75.542
    n123 a76.947
    n124 a78.353
    n125 a79.759
    n126 a81.164
    n127 a82.57
    n128 a83.976
    n129 a85.381
    n130 a86.787
    n131 a88.193
    n132 a89.398
    n133 a90.402
    n134 a91.807
    n135 a93.213
    n136 a94.619
    n137 a96.024
    n138 a97.43
    n139 a98.836
    n140 a100.241
    n141 a101.647
    n142 a103.053
    n143 a104.458
    n144 a105.864
    n145 a107.27
    n146 a108.675
    n147 a110.081
    n148 a111.487
    n149 a112.892
    n150 a114.298
    n151 a115.704
    n152 a117.11
    n153 a118.515
    n154 a119.921
    n155 a121.327
    n156 a122.732
    n157 a124.138
    n158 a125.544
    n159 a126.949
    n160 a128.173
    n161 a128.355 f150.
    N162 a129.761
    n163 a131.166
    n164 a131.264
    n165 x59.993
    n166 x52.546 f300.
    N167 g0 g40 y-6.2
    n168 z242.678
    n169 m5
     
  4. Dang Nguyen

    Dang Nguyen New Member

    Joined:
    May 12, 2013
    Messages:
    1
    Likes Received:
    0
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    có phải khi chạy thì trục A nó giật, khó chịu lắm phải không bác?
     
  5. iPumpkin

    iPumpkin <center><b>CAM Programmer</b></center>

    Joined:
    Nov 14, 2008
    Messages:
    1,961
    Likes Received:
    19
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    À, chạy bình thường bạn ơi. Chỉ có mỗi cái là file nặng kb lắm, chạy vài cái pocket phay tinh bằng dao ball nose ăn site step .15mm(dao ballose D12) thì file nặng gần 3-4MB, mà bộ nhớ máy CNC chạy trực tiếp chỉ cở 1 MB thôi, nên phải cắt file và xóa bằng tay bớt góc A đi. Nếu mà tự động xóa được góc A ở giửa thì hày quá.

    n123 a76.947
    n124 a78.353
    n125 a79.759
    n126 a81.164
    n127 a82.57
    n128 a83.976
    n129 a85.381
    n130 a86.787
    n131 a88.193
    n132 a89.398
    n133 a90.402
    n134 a91.807
    n135 a93.213
    n136 a94.619
    n137 a96.024
    n138 a97.43
    n139 a98.836
    n140 a100.241
    n141 a101.647
    n142 a103.053
    n143 a104.458
    n144 a105.864
    n145 a107.27
    n146 a108.675
    n147 a110.081
    n148 a111.487
    n149 a112.892
    n150 a114.298
    n151 a115.704
    n152 a117.11
    n153 a118.515
    n154 a119.921
    n155 a121.327
    n156 a122.732
    n157 a124.138
    n158 a125.544
    n159 a126.949
    n160 a128.173

    n161 a128.355 f150.
    N162 a129.761
    n163 a131.166
    n164 a131.264
    n165 x59.993
    n166 x52.546 f

    (Ví dụ có thể xóa dòng tô đâm mà không ảnh hưởng gì đến ct)
     
  6. chimen_bka

    chimen_bka Member

    Joined:
    Feb 11, 2012
    Messages:
    568
    Likes Received:
    2
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Phay không giống Tiện ! 4 trục hay 5 trục việc phân độ là bắt buộc ( ngoại trừ trung tâm gia công no bao gồm cả tiện nên có lênh quay trục A riêng giống như tiện ) Lý do : Nếu đường kính chi tiết là D thì D lớn hay nhỏ ta sẽ tính Feed ra sao đây và Post không có cơ sở để tính toán feed cho bạn tất nhiên nếu cố ép để được đoạn code đó thì cũng vẫn đúng nhưng yêu cầu phải tính toán xem trục A quay thế nào ? Tính feed ra sao khi mà Tool đứng yên mỗi trục A quay cái này với Mill 4 trục chỉ G93 là giải quyết đươc. Liêu có cách nào làm trục A xoay n vòng /phút không ? còn nếu đưa G94 F250 vào thông thường thì bài toán coi như đứt vì mỗi D khác nhau ta phải có F khác nhau tức là tính vận tôc phôi so với tool. đó là lý do Post nó vi phân nhỏ như bác phúc Post lên.
    Khuyên luôn là không nên ép code cho ngắn lại chỉ nên tăng vi phân khi post ra và kèm theo Feed hợp lý thì code ngắn lại 50% kèm theo G93 !
     
  7. chimen_bka

    chimen_bka Member

    Joined:
    Feb 11, 2012
    Messages:
    568
    Likes Received:
    2
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Giải pháp của mình là tăng vi phân khoản 0.5 độ mỗi bước và tính toán Feed cho G93 code sẽ giảm 80% chỉ cần 210 dòng lệnh để chạy từ 0 tới 100 độ mà Post nó có cơ sở tính toán rã ràng.
    Khi chạy chương trình có vi phân độ như trên dùng G94 coi trừng nhé bởi G94 sinh ra để chạy Fix tool chứ không nên chạy simultaneous băng G94.
     
  8. iPumpkin

    iPumpkin <center><b>CAM Programmer</b></center>

    Joined:
    Nov 14, 2008
    Messages:
    1,961
    Likes Received:
    19
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Rất cám ơn bác chimen, theo mình ý tưởng dùng G93 của Bác là khá thú vị và có lẻ là hướng đi đúng cho gia công 4/5 axis. Mình sẽ nghiên cứu thử xem. Mình cũng có thử chỉnh step cho góc xoay - tăng nó lên, tuy nhiên có cảm giác là post nó bỏ qua vài vị trí Angle đi kèm với giá trị X, (việc bỏ qua này khá nguy hiểm, tuy nhiên mình đang chuẩn bị phôi, máy để test trong thời gian tới.)


    Mình vẫn chưa từng post ra hay dùng G93 bao giờ, theo như bác thì khá thú vị. Tuy nhiên hiện nay bên mình dùng G94 thì máy vẫn chạy 4 axis OK bác ạ. Thằng bên hãng Dassault System (Pháp) nó bảo chỉnh một số chổ thì có thể rút ngắn chương trình lại, tuy nhiên mình test như nó chỉ thì không giảm được bao nhiêu. Thằng ấy nó làm được nhưng mà nó làm thì phải có $, mà bên mình thì mấy sếp muốn dùng "trí tuệ" giá rẻ trong nhà để mà làm ra.

    À, mình có công trình "tự nghiên cứu" lập trình với Catia chạy helical, circular milling a chỉ có G3 X,Y,Z I,J dùng cho Simens dùng rất ok, giảm kb cho file G-Code đáng kể. Lúc nào đó share với các bạn.

    Chân thành cám ơn các bác đóng góp ý kiến.
     
  9. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    anh Bí có quy luật về mấy cái góc A cần xóa không, em viết phần mềm xóa tự động giúp cho, keke
    giống cái phần mềm cắt đầu câu lệnh của em hôm trước thôi
     
  10. chimen_bka

    chimen_bka Member

    Joined:
    Feb 11, 2012
    Messages:
    568
    Likes Received:
    2
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    QuyenQCM Vấn đề mình nghĩ không phải là Xóa đi ! Nếu tìm xóa dòng thì viết cái macro MSword là xong ! Làm sao điều chỉnh được từ Post là tốt nhất đó mới là hương ( liên quan Calculator Feed ).
     
  11. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    mọi con đường đều dẫn đến thành Rome anhchimen_bka
    à
    Đây cũng là 1 cách, liệu cơm gắp mắm thôi,
    Ví như em có con máy phay 3 trục nhưng đầu Z có thể xoay được bằng cơm( xoay xong cố định lại ) thế mà e cũng biến nó thành máy 4 trục....
    [​IMG]
    ( mượn con máy trên mạng của Thái Hùng )
    Liệu cơm gắp mắm
    Đành rằng chỉnh sửa thực tế trong Post là thơm, nhưng trong khi chờ đợi,rồi thử nghiệm thì có cái sài đỡ đã.... kekeke
    Còn đây là cái phần mềm e sửa đầu câu lệnh:
    [video=youtube;qT75uLmpcxA]http://www.youtube.com/watch?v=qT75uLmpcxA&amp;feature=youtu.be[/video]
     
    Last edited: Jul 3, 2013
  12. iPumpkin

    iPumpkin <center><b>CAM Programmer</b></center>

    Joined:
    Nov 14, 2008
    Messages:
    1,961
    Likes Received:
    19
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Về lâu dài nói như bác Chimen thì khá là ok và hợp lý,search trên mạng thì thấy các diễn đàn nước ngoài cũng cãi nhau chí chóe về cách dùng cũng như ưu điểm của G93.

    Tuy nhiên trước mắt thì bên mình xóa chương trình bằng tay. Vị dụ giửa hai góc A100 và A200 nếu như chính giửa nó không có giá trị X, (hay Y) thì mình xóa bỏ các giá trị trung gian ví dụ A101, A102...A200. Thông thường mở CIMCO ra và delete bớt các point nằm trên 1 cung tròn (có bán kính =nhau). Bác Quyền xem viết cái chương trình như thế có ok không ? Cắt mà đúng thì ok, chứ G-Code mà bác cắt ...lộn chổ thì tiêu con máy. Kakaka:21:
     
  13. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    cắt mà cắt lộn thì còn gì là programer :p nhưng bác phải cho em quy luật bất biến vì phần mềm nó làm việc theo quy luật, giống kiểu macro ấy.
    Bác gửi em một số file trước và sau khi cắt,,, keke.
     
  14. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Anh Chim giúp anh Bí theo cách này nhé!!!
     
  15. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Anh chim đi nghỉ mát hay sao mà không thấy trả lời!
    Anh Bí chuyển cho em một số file mẫu trước và sau khi edit......... Chi phí thì free bác không phải ngại!!!!!!!!!!
     
  16. chimen_bka

    chimen_bka Member

    Joined:
    Feb 11, 2012
    Messages:
    568
    Likes Received:
    2
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Uh thì cho file code xong yêu cầu cắt cái j quy tắc ra sao thì đc ngay mà.
     
  17. iPumpkin

    iPumpkin <center><b>CAM Programmer</b></center>

    Joined:
    Nov 14, 2008
    Messages:
    1,961
    Likes Received:
    19
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Yêu cầu của mình đây nè, kakaka. Chỉ rất kà simple thôi, Bác viết được thì báo mình cái giá nhé.

    Ví dụ,
    G1



    [TD="width: 64"]A[/TD]
    [TD="width: 64, align: right"]100[/TD]



    [TD="align: right"]100.01[/TD]



    [TD="align: right"]100.02[/TD]



    [TD="align: right"]100.03[/TD]



    [TD="align: right"]100.04[/TD]



    [TD="align: right"]100.05[/TD]



    [TD="align: right"]100.06[/TD]



    [TD="align: right"]100.07[/TD]



    [TD="align: right"]100.08[/TD]



    [TD="align: right"]100.09[/TD]



    [TD="align: right"]100.1[/TD]



    [TD="align: right"]100.11[/TD]



    [TD="align: right"]100.12[/TD]



    [TD="align: right"]100.13[/TD]



    [TD="align: right"]100.14[/TD]



    [TD="align: right"]100.15[/TD]



    [TD="align: right"]100.16[/TD]



    [TD="align: right"]100.17[/TD]



    [TD="align: right"]100.18[/TD]



    [TD="align: right"]100.19[/TD]

    A
    A
    A
    A
    A
    A
    A
    A
    A
    A
    A
    A
    A
    A
    A
    A
    A
    A
    A

    Thực tế đoạn code này chỉ cần

    G1 A100
    ....
    A100.19
     
    Last edited: Jul 31, 2013
  18. phamgia

    phamgia Member

    Joined:
    Apr 11, 2010
    Messages:
    150
    Likes Received:
    0
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Sau một số ngày nghiên cứu thì em đã cho ra được kết quả như bác Bí mong muốn. Vấn đề ở đây là chỉ dùng dc cho NX mà thôi :).
    Ở đây post được chỉnh lại để khi có chuyển động quay liên tục không có thay đổi các tọa độ X Y Z thì các góc quay được cộng lại, cùng với việc bỏ qua (skip) các chuyển động này để có một chương trình đơn giản.
    Nếu muốn làm vc thuận tiện để k phải xử dụng 2 post khi muốn hay không muốn thực hiện chức năng này thì tạo thêm một tùy chọn trực tiếp trên NX để on hay off nó nữa là ok.
    Các bác xem và cho em nhận xét:
    [video=youtube_share;QyyeIh7c2ms]http://youtu.be/QyyeIh7c2ms[/video]
     
  19. iPumpkin

    iPumpkin <center><b>CAM Programmer</b></center>

    Joined:
    Nov 14, 2008
    Messages:
    1,961
    Likes Received:
    19
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Hi man, anh kiểm tra G-Code thì OK, perfect. Tuy nhiên anh có vài thắc mắc sau:

    Gia công 4 trục trừ trường hợp lệch tâm thì tọa độ khi xoay A thì chỉ có X,Z thôi (lúc này Y=> A). Khi em nói X, Z không đổi thì được CỘNG LẠI ? Cộng lại như thế nào nhỉ ? Em có thể trình bày nguyên lý (các tùy chọn mà em làm trong NX Post Builder không ?.

    Trong IMSPost thì nó là Arc Fit / Spiral - Spiral là một hình trụ tròn xoay quanh trục X, tuy nhiên Macro Spiral có sẵn trong IMSPost cho Siemen thì chưa đầy đủ.
     
  20. phamgia

    phamgia Member

    Joined:
    Apr 11, 2010
    Messages:
    150
    Likes Received:
    0
    Ðề: Tối ưu hóa đường chạy dao gia công 4 trục.

    Hi bác Bí!
    Chúng ta cần tính toán để xác định ra các chuyển động quay liên tục k có sự thay đổi X, Y, Z. Trục quay có thể là trục thứ 4 hoặc thứ 5 nên cần có việc check cả Y ở đây. Nếu 4 trục thì X Z là đủ.
    [​IMG]
    Để tính toán việc cộng góc và bỏ qua các Bolck đã cộng cần những cái sau:
    + Góc giới hạn là 180 độ. Anh em giải thích thử tại sao k thể cộng được giá trị lớn hơn nhé :)
    + Theo như mục đích thì ở đây các góc A di chuyển những giá trị nhỏ liên tục, vì vậy chúng ta sẽ cộng các giá trị góc (đây là giá trị tương đối giữu hai điểm kế tiếp) lại với nhau. Xét các chuyển động liên tục và tính giá trị đó nếu thay đổi giá trị trong khoảng 0 đến 180 thì bỏ qua block trước, output block sau. Việc này tiếp tục được thực hiện với các chuyển động tiếp theo và dừng lại khi có chuyển động ngược hướng hoặc giá trị (tổng các phép trừ) lớn hơn 180 độ.
    Vậy thực ra ở việc cộng góc ở đây mục đích là để xác định giá trị tổng không được vượt quá 180 độ.
    Còn trường hợp chạy xoắn ốc bác Bí có cao kiến gì k?
     

Share This Page

Loading...