Custom macro for cnc machine (gcode)

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

  1. CN-ECM

    CN-ECM Member

    Joined:
    Sep 11, 2008
    Messages:
    223
    Likes Received:
    3
    Ðề: Custom macro for cnc machine (gcode)

    Lập trình Macro đôi khi còn hiệu quả hơn dùng CAM. Thường dùng cho bài toán được lập sẵn
    VD G-Code cắt plasma lỗ tròn trên ống thép, thực hiện trên Mach3 gia công 4th:
    (CNC A axis Plasma TUBE routine)
    (by ngvavinh@gmail.com)
    #100= 1.250 (CutTube Diameter)
    #101= 1.250 (Uncut Tube Diameter)
    #103= .095 ( Tube Thickness )
    #104= 45 (Joint ANGLE)
    #200 = [#100 / 2] (RO)
    #201 = [#101 / 2] (RU)
    #202 = [#200 - #103] (RI)
    #203 = #104 (AF)
    #204 = 10 (ID)
    #300= 2 (A step in deg)
    G0 G40 G54 G90 G49 G17 G50 G64 G91.1 G94
    G0 A0.000 x0.000 Z1.000 F500
    Z0.000
    M98 P01 L180
    G0 A0.000 X0.000 Z1.000
    M30
    o01
    G1 A#300 X [sqrt [#201 **2 - [ [#202 * sin [#204]] **2]] / sin[#203] - tan [90-#203] * #202 * cos[#204]]
    #204=[#204+2]
    #300=[#300+2]
    m99
    %
     
  2. Truongcadca

    Truongcadca New Member

    Joined:
    Jun 15, 2016
    Messages:
    23
    Likes Received:
    0
    Ðề: Custom macro for cnc machine (gcode)

    xin chào mọi người người .
    em xin chia sẻ 1 chương trình macro để mọi người cùng nghiên cứu,va giao lưu học hỏi nhau nhé.
    %
    O9811(REN XYZ MEASURE)
    G5.1Q0
    G65P9724
    IF[#19EQ#0]GOTO1
    IF[#20EQ#0]GOTO1
    #3000=91(ST INPUT MIXED)
    N1G53
    IF[#19EQ#0]GOTO2
    IF[#11EQ#0]GOTO2
    #3000=91(SH INPUT MIXED)
    N2G53
    IF[#20EQ#0]GOTO3
    IF[#13EQ#0]GOTO3
    #3000=91(TM INPUT MIXED)
    N3G53
    #1=135
    WHILE[#1LE149]DO1
    #[#1]=#0
    #1=#1+1
    END1
    #10=#5041(X START)
    #12=#5042(Y START)
    G31X[#10-#502]Y[#12-#503]F#119
    G53
    IF[ABS[#5061-[#10-#502]]GE#123]GOTO22
    IF[ABS[#5062-[#12-#503]]GE#123]GOTO22
    #30=-1(DIR FLAG)
    IF[#24NE#0]GOTO5
    IF[#25NE#0]GOTO7
    (Z MOVE)
    IF[#26EQ#0]GOTO225
    #7=5203
    IF[[#5043-#116]LT#26]GOTO4
    #30=1
    N4G53
    G65P9726Z#26Q#17
    IF[#149NE0]GOTO21
    #135=#10
    #136=#12
    #137=#126-#116(Z POS)
    #138=#137
    IF[#8EQ#0]GOTO45
    #138=#138+#[2000+#8](SIZE)
    N45G53
    #142=#137-#26(Z ERROR)
    #143=#138-#26(SIZE ERROR)
    #145=ABS[#142](T P ERR)
    #146=#143*#30(METAL CON)
    GOTO9
    N5G53(X MOVE)
    IF[#25NE#0]GOTO225
    IF[#26NE#0]GOTO225
    #6=#500
    #7=5201
    IF[#5041LT#24]GOTO6
    #6=-#500
    #30=1
    N6G53
    G65P9726X#24Q#17S#500
    IF[#149NE0]GOTO21
    #135=#124+#6+#502(COR SKIP POS)
    #136=#12
    #138=#135
    IF[#8EQ#0]GOTO65
    #138=#138+#[2000+#8](ACT SIZE)
    N65G53
    #140=#135-#24(X ERROR)
    #143=#138-#24(SIZE ERROR)
    #145=ABS[#140](T P ERROR)
    #146=#143*#30(METAL CON)
    GOTO9
    N7G53(Y MOVE)
    IF[#26NE#0]GOTO225
    #6=#501
    #7=5202
    IF[#5042LT#25]GOTO8
    #6=-#501
    #30=1
    N8G53
    G65P9726Y#25Q#17S#501
    IF[#149NE0]GOTO21
    #135=#10
    #136=#125+#6+#503(Y SKIP POS)
    #138=#136
    IF[#8EQ#0]GOTO85
    #138=#138+#[2000+#8](ACT SIZE)
    N85G53
    #141=#136-#25(ERROR)
    #143=#138-#25(SIZE ERROR)
    #145=ABS[#141](TP ERROR)
    #146=#143*#30(METAL CON)
    N9G53
    #147=#30
    IF[#23EQ#0]GOTO10
    G65P9730H#11M#13S#19T#20W#23X#24Y#25Z#26
    N10G53
    IF[#21EQ#0]GOTO11(U UPPER TOL)
    IF[ABS[#143]GE#21]GOTO23
    IF[#145GE#21]GOTO23
    N11G53
    IF[#11EQ#0]GOTO13
    IF[ABS[#143]LT#11]GOTO12
    #148=1
    N12G53
    IF[#120AND4EQ4]GOTO13
    IF[ABS[#143]LT#11]GOTO13
    G0X#10Y#12
    #[3006-[[#120AND8]/8*6]]=1(OUT OF TOL)
    N13G53
    IF[#13EQ#0]GOTO15
    IF[ABS[#145]LT[#13/2]]GOTO14
    #148=2
    N14G53
    IF[#120AND4EQ4]GOTO15
    IF[ABS[#145]LT[#13/2]]GOTO15
    G0X#10Y#12
    #[3006-[[#120AND8]/8*6]]=1(OUT OF POSITION)
    N15G53
    IF[#20EQ#0]GOTO19
    IF[ABS[#146]LT#22]GOTO19(NULL BAND)
    IF[#9NE#0]GOTO16
    #9=1
    N16G53
    G65P9732T#20C[#146*#9]Z#26
    N19G53
    IF[#19EQ#0]GOTO24
    G65P9732S#19Z#26W1.0
    GOTO24
    N21G53
    IF[#149NE2]GOTO22
    G0X#10Y#12
    #3000=93(PROBE FAIL)
    N22G53
    G0X#10Y#12
    #3000=92(PROBE OPEN)
    N225G53
    G0X#10Y#12
    #3000=91(XYZ INPUT MIXED)
    N23G53
    #148=3
    IF[#120AND4EQ4]GOTO24
    G0X#10Y#12
    #[3006-[[#120AND8]/8*6]]=1(UPPER TOL EXCEEDED)
    N24G53
    G0X#10Y#12
    M99

    %
     
  3. Truongcadca

    Truongcadca New Member

    Joined:
    Jun 15, 2016
    Messages:
    23
    Likes Received:
    0
    Ðề: Custom macro for cnc machine (gcode)

    cái này lập bằng tay hay phần mềm bác ơi.xin bác chỉ giáo cho em với
     
  4. vanthai1906

    vanthai1906 New Member

    Joined:
    Sep 21, 2016
    Messages:
    2
    Likes Received:
    0
    Ðề: Custom macro for cnc machine (gcode)

    Bạn có thể chỉ mình cách lấy chương trình macro trong CimcoV6 dc kg bạn, mình cũng rất muốn tìm hiểu về vấn đề này mà không có ai chỉ, tks bạn
     
  5. ngocm02

    ngocm02 Member

    Joined:
    Jan 8, 2009
    Messages:
    157
    Likes Received:
    5
    Last edited: Oct 15, 2016
    Ðề: Custom macro for cnc machine (gcode)

    Mình cài ổ C thì nó sẽ ra thế này. Còn bạn cài ở ổ nào thì minh không biết.
    C:\CIMCO\CIMCOEdit6\Samples\Fanuc Mill
     
  6. NGUYENCAT

    NGUYENCAT New Member

    Joined:
    Mar 11, 2017
    Messages:
    1
    Likes Received:
    0
    Ðề: Custom macro for cnc machine (gcode)

    Có ai hiểu về chương trình máy mài cnc stugami này không chì giúp mình được không.xin cảm ơn nhiều


    %
    O0505(TRUNNI 1730505)
    G22(IN-NG)
    #108=31.744(FINISH-DIA)
    #109=0(G=0)
    #110=285(H)
    #111=ABS[#108-#550](DIAMETER-CHECK)
    IF[#111LT0.001]GOTO1
    #3000=23(DIAMETER-SET-NG)
    N1
    IF[#509EQ1]GOTO3
    #3000=24(WORK,SET-NOT-FINISH)
    N3
    IF[#1005EQ1]GOTO4
    #3000=20(WHEEL IS NOT REVOLVING)
    N4
    G0T0
    G30U0
    G30W0
    M98P7001(WHEEL-DIA,COLLECT)
    G50X#500Z#501
    /M98P9800
    N5(LOCATOR)
    G30U0
    G0Z[#505+1.5]
    U[#504-#5021]M26
    G4
    G1G98M93
    G31P1W-5.0F100
    G4U0.1
    M95
    #506=#5042(NAW)
    #507=#505-#506(SA)
    IF[ABS[#507]GT#513]GOTO302
    N15
    G50Z#505
    G0W1.5
    M27
    IF[#109EQ1]GOTO20(GAUGE)
    N10(G,GRINDING)
    G0Z3.0M13S#110
    X[#108+5.0]
    G1G98X[#108+1.5]Z1.5F500T1
    X[#108+1.0]Z1.0F10
    X[#108+0.5]Z0.5F5
    X[#108+0.3]Z0.3F2
    X[#108+0.1]Z0.1F1.0
    X[#108+0.05]Z0.05F0.4
    X[#108+0.01]Z0.01F0.1
    X#108Z0.0F0.02
    G4U3.0
    GOTO99

    N20(G,GRINDING)
    G0Z5.0M13S#110T1
    X[#108+2.0]Z2.0
    M21
    G1G98X[#108+0.5]Z0.5F500
    X[#108+0.3]Z0.3F10
    IF[#1002EQ1]GOTO303(AMOUNT-CHECK)
    G31P2U-1.0W-1.0F0.4
    G31P3U-0.1W-0.1F0.1
    G31P4U-0.05W-0.05F0.05
    M95
    N24G50X#108
    M23
    G4U2.0
    N99
    G1G98U0.1W0.1F100
    G0U10.0W5.0
    G0T0
    M45
    G30U0M12
    G30W0M46
    M32
    #500=#5041
    M33
    GOTO1000
    N302
    G0W1.5M27
    G0T0
    G30U0
    G30W0
    #3000=10(LOCATOR-NG)
    N303
    M27
    G0U10.0
    G0T0
    G30U0M23
    G30W0M12
    #3000=21(GR-NOTHING)
    N1000
    M30
    %
     
  7. luckystar8x

    luckystar8x New Member

    Joined:
    Nov 16, 2013
    Messages:
    3
    Likes Received:
    0
    Last edited: Mar 20, 2017
    Ðề: Custom macro for cnc machine (gcode)

    Ngồi đọc từ trang 1 đến trang 9 rất hay, bài viết 4 năm trời tích lũy mình đọc chỉ 1 giờ hihi. Cảm ơn các Anh cao thủ nha
     
  8. hienseo

    hienseo New Member

    Joined:
    Mar 9, 2017
    Messages:
    1
    Likes Received:
    0
  9. trungvv1207

    trungvv1207 Member

    Joined:
    Jul 23, 2013
    Messages:
    32
    Likes Received:
    1
    anh em có biêt biến macro chỗ tọa độ G54 của X, Y, Z máy fanuc 10M là # bao nhiêu ko , máy đời cao thì nó là # 2501, #2601
     
  10. andrew88

    andrew88 New Member

    Joined:
    Dec 10, 2017
    Messages:
    1
    Likes Received:
    2
    Hi!
    Neu muon viet program bang macro thi cung don gian thoi. Program macro no don gian va ngan, no giong nhu hoi chua minh hoc lap trinh pascal vay. co lenh while, if, va thuc hien cac phep toan sin, cosin..., lam tron so round, fix ,up...
    Voi ban ve co nhieu chi tiet tuong tu nhau chi thay doi chieu dai, duong kinh, goc ...thi viet program bang macro no gon hon nhieu va de thay doi cac thong so trong may ma ko can set up lai. Do la uu diem cua Program Macro.
    Con Program cua ban:
    syntax: While[...condition 1 is true...] DO1
    <...BODY OF SINGLE LEVEL LOOP.>
    END1
    EQ: EQUAL TO
    NE: NOT EQUAL TO
    LT: LESS THAN
    LE: LESS THAN OR EQUAL TO
    GT: GREATER THAN
    GE: GREATER THAN OR EQUAL TO
    #1=1; trong may cnc phan macro: #1 se duoc assign bang 1
    WHILE[#1LE5] DO1 bat dau dem va thuc hien phep tinh vong lap
    #1=#1+1;
    lan1: doc lenh while: 1<=5
    thuc hien: #1(macro duoc gan mot gia tri moi) = #1+1 (macro gia tri cu +1)
    chay cho den khi nao: #1=5 thi no se doc "DO1" nhay toi lenh "END1"

    END1 (dung vong lap)
    Thanks
     
    oilodeo and Manhvt113 like this.
  11. Tran Huu Hung

    Tran Huu Hung New Member

    Joined:
    Jan 11, 2018
    Messages:
    4
    Likes Received:
    1
    . Đang làm ở Nhật và chỉ lập trình tay. Gặp ngay anh thợ hay đá xoáy
     
  12. tranchuong0

    tranchuong0 Member

    Joined:
    Mar 13, 2016
    Messages:
    30
    Likes Received:
    5
    Chào anh .
    Em có một vấn đè xin anh gúp đỡ.
    máy phay CNC mazak em đang dùng con tool sen ( đầu đo dao ) bị lệch mỗi khi lấy gốc e đã liên hệ nhiều với nhà cung cấp mà không căn chỉnh được .
    Bây giờ em muốn có lệnh G-code nào mà khi lấy gốc song nó sẽ tự động cộng vào gốc tọa độ ( G54, G55...) không ạ ? hoặc là khi đọc đến lệnh đó nó sẽ tự bù vào gốc tọa độ 1 khoảng giá trị không a.?
    Em xin cảm ơn anh
     

Share This Page

Users Viewing Thread (Users: 0, Guests: 0)

Loading...