Custom macro for cnc machine (gcode)

Discussion in 'Lập trình CNC' started by QuyenQCM, Jul 14, 2012.

  1. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Hiện tại mình biết rất nhiều đồng chí kỹ sư CAD CAM CNC nhưng không biết lập trình tay, quá phụ thuộc vào phần mềm CAM, như vậy gặp mấy chú công nhân vận hành máy nó hỏi mà không trả lời được thì mất hết cả danh dự.
    Nhân đây mình chia sẻ với anh em vài chương trình macro sẵn trong máy CNC như :
    Finishing inside of circle
    Deep cutting of circular pocket
    Finish cutting inside of square
    Deep cutting of square pocket......
    anh em biết thêm thì có thể chia sẻ để mọi người văn võ song toàn....
    bài viết sẽ update dần dần
     
  2. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Custom macro for cnc machine (gcode)

    Bài thực hành đầu tiên:
    Finishing inside of circle ( gia công tinh lỗ tròn)
    Nếu gặp bài dạng này thì thông thương nhà ta hay dùng cấu trúc lệnh G02,G03 và thêm vòng lặp...
    nhưng với macro thì đơn giản hơn nhiều với duy nhất 1 câu lệnh
    Cấu trúc lệnh:
    G65 P9110 I...D...R...Z...F...C...S...Q...M...;

    Trong đó G65 : gọi chương trình macro
    P9110 : tên chương trình macro( ở đây là Finishing inside of circle)
    I : bán kính đường tròn
    D : giá trị của tool trong mục offset dao
    R : Rapid approcch point (điểm bắt đầu cắt so với Z)
    Z :Độ sâu của hốc tròn
    F :Feedrate XY axis ( tốc độ dao theo chiều xy)
    C :Approach circle radius( bán kính cua của tool vào phôi)
    S :Feedrate Z axis ( tốc độ xuống dao theo chiều Z)
    Q :Cutting diretion ( chiều sâu lát cắt)
    M :Setting mode for R&Z
    hình ảnh minh họa: mình sẽ update sau
     
  3. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    Tiếp đi bác Quyen. Em muốn học cái này mà không biết bắt đầu từ đâu. Trong 4room bác nào có tài liệu thì cho em voi nhé. Hoặc gửi vào mail ngocm02@yhoo.com
     
  4. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    Bác QuyenMC ơi. Bác giải thích chương trình này giúp em nhé. Trong Cimco nó chạy không được. Đây là 1 chương trình có sẵn trên máy của em. Mấy ông chạy thử máy chạy rồi nhưng em không hiểu gì hết.


    Code:
    % 
    O0202
    N001
    G91G28G0Z0 
    G92Z0
    G91G00Z0.9 
    G04X2. 
    G91G00Z-0.9
    G04X4. 
    M00
    #1=1 
    WHILE[#1LE16]DO1 
    G91G0Z-100.
    G4X4.
    #1=#1+1
    END1 
    G91G0Z-0.9 
    G4X2.
    G91G0Z0.9
    G4X4.
    #2=1 
    WHILE[#2LE16]DO2 
    G91G0Z100. 
    G4X4.
    #2=#2+1
    END2 
    G91G28G0Z0 
    M00
    
    N002
    G91G28Z0.
    G4X2.
    G92Z0. 
    G91G0Z0.9
    G4X2.
    G91G0Z-0.9 
    M00
    #1=1 
    WHILE[#1LE5]DO1
    G90G0Z-205.771 
    G4X4.
    G90G0Z-460.052 
    G4X4.
    G90G0Z-671.694 
    G4X4.
    G90G0Z-928.403 
    G4X4.
    G90G0Z-1146.746
    G4X4.
    G90G0Z-1370.511
    G4X4.
    G90G0Z-1600. 
    G4X4.
    G90G0Z-1600.9
    G04X2. 
    G90G0Z-1600. 
    G4X4.
    G90G0Z-1370.511
    G4X4.
    G90G0Z-1146.746
    G4X4.
    G90G0Z-928.403 
    G4X4.
    G90G0Z-671.694 
    G4X4.
    G90G0Z-460.052 
    G4X4.
    G90G0Z-205.771 
    G4X4.
    G90G0Z0. 
    G4X4.
    G90G0Z0.9
    G4X2.
    G90G0Z0. 
    G4X4.
    #1=#1+1
    END1 
    G91G28Z0.
    M00
    
    N003(Z ICHI KIME KURI.)
    G91G28G0Z0 
    G92Z0. 
    G91G00Z0.9 
    G4X2.
    G91G0Z-0.9 
    G4X2.
    G91G0Z-700.
    M00
    #1=1 
    WHILE[#1LE7]DO1
    G91G00Z-200. 
    G4X8.
    G91G0Z200. 
    G4X8.
    #1=#1+1
    END1 
    G91G28Z0.
    M00
     
    Last edited by a moderator: Aug 7, 2012
  5. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Custom macro for cnc machine (gcode)

    Đây là những chương trình con được lập trình sẵn trong máy
    tuy nhiên tớ chẳng biết nó làm cái gì.
     
  6. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    Các kí tự (#1=1 WHILE[#1LE5]; DO1), (#1=#1+1; END1) , (#1=1 WHILE[#1LE7];DO1) là ký hiệu để làm gì vậy bác. Em viết chương trình cho các máy ở chỗ em làm toàn viết bằng tay ( vì em chưa biết sử dụng các chương trình Cam hỗ trợ - em đang học Solid). Tuy nhiên các ký tự này là lần đầu tiên em gặp phải. Muốn tìm hiểu nó quá mà không biết ý nghĩa và công dụng của nó để làm gì. Bác biết chỉ giáo giúp em nhé.
    Các chương trình trên để kiểm tra hành trình chạy thử của trục Z thì phải.
     
    Last edited: Aug 7, 2012
  7. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Custom macro for cnc machine (gcode)

    Nó là 1 dạng ngôn ngữ code riêng của fanuc(cá nhân) được đi kèm theo Gcode......
    Mấy chú công nhân cty mình vẫn sài mã kiểu này nhưng mình chịu chết( mấy chú được chuyên gia Đài Loan dạy chuyển giao công nghệ)
    để từ từ mình tìm hiểu thêm cái ngôn ngữ này nhé
    @ngocm02 đã test chương trình kia của mình chưa, thấy thế nào....
     
  8. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Custom macro for cnc machine (gcode)

    Deep cutting of cirucular pocket (gia công hốc tròn)

    Cấu trúc lệnh : G65 P9120 I...D...R...Z....F....H...S....Q....M

    Trong đó:

    Trong đó
    G65 : gọi chương trình macro
    P9120 : tên chương trình macro( Deep cutting of cirucular pocket (gia công hốc tròn))
    I : bán kính đường tròn
    D : giá trị của tool trong mục offset dao
    R : Rapid approcch point (điểm bắt đầu cắt so với Z)
    Z :Độ sâu của hốc tròn
    F :Feedrate XY axis ( tốc độ dao theo chiều xy)
    H: stepover( bước dịch ngang theo x,y)
    S :Feedrate Z axis ( tốc độ xuống dao theo chiều Z)
    Q :Cutting diretion ( chiều sâu lát cắt)
    M :Setting mode for R&Z
     
  9. iPumpkin

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

    Joined:
    Nov 14, 2008
    Messages:
    1,961
    Likes Received:
    19
    Ðề: Custom macro for cnc machine (gcode)

    Trong Fanuc câu lệnh while là dùng cho vòng lặp, câu lệnh là WHILE [CONDITION} Don, While có thể hiểu là “trong khi”, DO là thực hiện đoạn mã lệnh đó khi {Condition} được chỉ định, câu lệnh END để kết thúc vòng lặp. Vòng lặp trong Condition này có tất ba lớp, single, double va triple.
    [​IMG]

    WHILE[#1LE16]DO1
    G91G0Z-100.
    G4X4.
    #1=#1+1
    END1
    #1: thiết đặt giá trị đếm đầu tiên ví dụ cho mm hay cho độ
    WHILE {#1 LE 16} DO1: Vòng lặp cho mổi giá trị đếm cho đến khi gia công đến 16 lần
    #1=#1+1, mổi lần lặp 1 vòng lặp khác là tăng lên 1 lần
    END1 kết thúc vòng lặp.

    Đây là đoạn chương trình viết cho máy Tiện Fanuc – theo như đoạn Code có ý nghĩa là:
    Lùi máy về điểm 0 theo trục Z, sau đó gán điểm 0 (có chiều dài dao làm điểm Zero, dùng G92), cho trục chính máy tiện xoay (G04 để dwell xoay tại chổ) tại vị trí X2, sau đó đến X4, rồi khoan hay cắt mặt trụ chi tiết từ độ sâu Z0 đến Z-100. Theo mình khi tiện từ tọa độ Z0 đến Z-100, cứ sau 100/16mm máy sẽ dỡ dao cắt từ X2 lên X4. Tóm lại chương trình này tiện ren hoặc trục bậc – có thể là tiện ren với Pitch=6.25mm. (Mình ít xài máy Tiện nên không rành)
     
    Last edited: Aug 7, 2012
  10. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    Bác iPumpkin oi. Chương trình này đươc chạy trên máy phay đó bác. Không phải máy tiện đâu.
     
  11. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    Để em viết thành 1 chương trình rồi mới chạy. Để 01 câu lệnh như thế này chạy nguy hiểm quá. Bác có câu lệnh cắt cho cung Elipe không? Nếu có bác cho em nhé, em chỉ cần cắt 1/4 cung elipe thôi
     
  12. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Custom macro for cnc machine (gcode)

    thế bạn chưa biết rồi
    cái này chỉ một câu lệnh thôi, tớ đã test rồi nhé
    đây là macro cho lập trình tay mà
     
  13. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    Đây là chương trình chạy Finish đường tròn của em. Phải xét G54 lung tung mới dám chạy. Em chưa dám chạy thử chương trình của bác.


    N400
    (SHOULDER B)
    (T00L NO 24 DIA80MM)
    T24M06
    G80G40G49
    G90G00G54X0.0Y0.0
    G43Z25.4H24S950M03
    G01Z15.0F1000M08
    G01X-296.985Y-296.985F1000
    Z-8.0
    G42Y-566.985F300D24
    G02X-487.904Y-487.904R290.0F450
    G02I487.904J487.904F300
    G02X-566.985Y-296.985R290.0F450
    G01X-296.985Y-296.985F450
    Z25.4M09
    G91G28Z0M05
    M01
     
  14. iPumpkin

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

    Joined:
    Nov 14, 2008
    Messages:
    1,961
    Likes Received:
    19
    Ðề: Custom macro for cnc machine (gcode)

    Chạy finishing đường tròn mà không có bù dao hả bạn ?. Để mà chạy cái này có macro đơn giản và thuận tiện lắm. Còn CAD/CAM bạn dùng Circular Milling. Thường chạy đường tròn vào dao ở giửa lổ tròn rồi chạy ra cho yên tâm.
     
  15. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    G01X-296.985Y-296.985F1000
    Z-8.0
    G42Y-566.985F300D24
    G02X-487.904Y-487.904R290.0F450
    G02I487.904J487.904F300

    Có G42 đó bác. Vì em chưa học về Cam nên toàn viết chương trình bằng tay đau khổ quá
     
  16. QuyenQCM

    QuyenQCM Active Member

    Joined:
    Jul 31, 2007
    Messages:
    1,778
    Likes Received:
    1
    Ðề: Custom macro for cnc machine (gcode)

    ối trời lập trình tay thì tính gì hả bạn ơi!
    Macro để cho bạn đỡ phải nhập liệu bằng tay tính toán bằng đầu mà.
    Nếu muốn lập trình hốc vuông hay hốc chữ nhật có R ở góc mà R khác với R dao thì phải làm sao.
    nên macro sẽ giúp bạn điều này
    tks
     
  17. iPumpkin

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

    Joined:
    Nov 14, 2008
    Messages:
    1,961
    Likes Received:
    19
    Ðề: Custom macro for cnc machine (gcode)

    Sau G42 hay G41 phải có G40 để hủy nhé, không có G40 thì sẽ biết hậu quả khi chạy liền. Keke
     
  18. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    Đây là thiếu sót của lập trình bằng tay đó bác. Nhưng may mắn đó là 1 cái hốc nên dao chui ra dễ dàng
     
  19. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    Bác nào có các lệnh G-CODE và M-CODE cho phần PHAY của máy TURN-MILL không? Cho em xin các lệnh này nhé.
    Máy của em là con DOOSAN TURN-MILL 480 LM. Hệ điều hành FANUC-21iTB
    Chận thành cảm ơn
     
  20. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    Đây là chương trình chạy phay 1/2 mặt cầu sử dụng Macro trong CIMCO V6 có sẵn.
    Chương trình cực ngắn
    Các bác tham khảo

    G90G0G54X-10.Y0M3S4500 G43Z50.H1M8 #1=0.5 WHILE[#1LE50.]DO1 #2=50.-#1 #3=SQRT[2500.-[#2*#2]] G1Z-#1F20 X-#3F500 G2I#3 #1=#1+0.5 END1 G0Z50.M5 M30
     

Share This Page

Loading...