Fanuc 18i-tb problem g84/g184 programing
Close
Login to Your Account
Results 1 to 15 of 15
  1. #1
    Join Date
    Jun 2020
    Country
    BULGARIA
    Posts
    6
    Post Thanks / Like
    Likes (Given)
    1
    Likes (Received)
    0

    Default Fanuc 18i-tb problem g84/g184 programing

    Hello all.

    Im truing to tap a M6 thread with the vdi 90deggre tool holder. The machine is leadwell t6-smy dual spindle Y-axis and turret with live vdi tools.
    My program is looking like this.

    G40 G80 G54 G98
    G30 U0
    G18 (zpxp plane selection)
    G97
    T0909
    M90 (C1 AXIS ON MAIN SPINDLE)
    G28 H0
    C30.
    G0 z2. x60.
    M29 S200 (RIGID TAOOING ON)
    G184 Z-10. R0 F0.8 (G184 for vdi live tools tapping)
    G80
    G30 U0
    M30.


    The machine is giving me alarm 204 illegal axis operation,

    Here is an M code list for that machine T6 - Google Drive
    Tell me if you can't see it.

    Btw the G84 is working when im not using vdi turrent ,to rotate the tap tool.
    If im rotating the main spindle and using g84 all is fine.

    Can someone help me.

  2. #2
    Join Date
    Feb 2007
    Location
    Aberdeen, UK
    Posts
    3,903
    Post Thanks / Like
    Likes (Given)
    1383
    Likes (Received)
    1585

    Default

    There is a good chance that your leadwell is configured the same as my doosan which is also a 18i-tb.

    The clue is that you have a pair of m-codes, M65 and M66, that enable and disable PMC axis control.

    On my doosan, these m codes exist because the motor that drives the live tools is actually a servo motor, not a spindle motor. It is the same servo motor that rotates the turret. When it is used for rotating the turret, it is controlled by the PMC and not the NC. When it is used to drive the live tools it is disconnected from the PMC, and becomes the E axis on the control.

    Because it is actually a fully controllable axis, Doosan were able to cheap out on control options and not specify rigid tapping, instead using macros to rigid tap using E-X and E-Z interpolation. On my doosan G184 and G187 are just mapped to 9000 series programs that contain the rigid tapping macros. They do not use M29 because they do not use the rigid tapping function of the control.

  3. #3
    Join Date
    Jun 2020
    Country
    BULGARIA
    Posts
    6
    Post Thanks / Like
    Likes (Given)
    1
    Likes (Received)
    0

    Default

    Yes i have 2 3 programs O9000 for the G184 and G188.
    You say to remove the M29 and try M65 or M66 comand?

  4. #4
    Join Date
    Feb 2007
    Location
    Aberdeen, UK
    Posts
    3,903
    Post Thanks / Like
    Likes (Given)
    1383
    Likes (Received)
    1585

    Default

    just remove m29, shouldn't need to do anything else

  5. #5
    Join Date
    Jun 2020
    Country
    BULGARIA
    Posts
    6
    Post Thanks / Like
    Likes (Given)
    1
    Likes (Received)
    0

    Default

    If i remove the M29 comand the machine is passing the g184 ,but nothing happens (it's like skipping it). Hope you understand.

  6. #6
    Join Date
    Feb 2007
    Location
    Aberdeen, UK
    Posts
    3,903
    Post Thanks / Like
    Likes (Given)
    1383
    Likes (Received)
    1585

    Default

    Quote Originally Posted by kenwood2 View Post
    If i remove the M29 comand the machine is passing the g184 ,but nothing happens (it's like skipping it). Hope you understand.
    In that case it's likely that you're using the wrong arguments in your G184. On my doosan, they are completely different to G84. Assuming you don't have any documentation explaining it's use, you need to figure out which 9000 program is mapped to G184 and post it here in it's entirety.

  7. #7
    Join Date
    Jun 2020
    Country
    BULGARIA
    Posts
    6
    Post Thanks / Like
    Likes (Given)
    1
    Likes (Received)
    0

    Default

    I think the G184 is mapped to O 9000 O 9014 programs because when the error 204or130 (they are the same illegal axis operation) comes ,most of the times program is stopped in O 9015 G184 W-TAPPING MM on line G00 A0..
    See the photo. Imgur: The magic of the Internet

    I think i have all the documentation for the machine but can't find any information for g184 tapping

  8. #8
    Join Date
    Feb 2007
    Location
    Aberdeen, UK
    Posts
    3,903
    Post Thanks / Like
    Likes (Given)
    1383
    Likes (Received)
    1585

    Default

    You'll need to show us the whole 9014 program, but immediately from that picture I can see that you need to specify at least S, W, and F arguments when you call G184.

  9. #9
    Join Date
    Jun 2020
    Country
    BULGARIA
    Posts
    6
    Post Thanks / Like
    Likes (Given)
    1
    Likes (Received)
    0

    Default

    Here is the O 9014 program

    %
    O9014(G184 W-TAPPING MM)
    IF[#23EQ0]GOTO3001
    IF[#9EQ0]GOTO3002
    IF[ABS[#23]GT100.]GOTO3003
    IF[#9GT2.5]GOTO3004
    IF[#1001EQ1]GOTO3005
    G00X#24C#3
    G00A0.
    G10L50
    N1422R48000
    G11
    #100=ABS[#23]
    #101=#4001
    #102=#4002
    #103=#4005
    #104=#4109
    #105=ABS[#23]*36./#9
    #106=#19*#9*20000
    #107=#100*25.4
    G98G21
    IF[#1000EQ1]GOTO1000
    G1W-#100A#105F24000
    G4X.3
    G1W#100A0.
    GOTO1200
    N1000
    G1W#100A#105F24000
    G4X.3
    G1W-#100A0.
    N1200
    G21
    G#101G#102
    G#103F#104
    G10L50
    N1422R10000
    G11
    GOTO9999
    N3001#3000=1(TAPPING W=0)
    N3002#3000=2(TAPPING F=0)
    N3003#3000=3(W OVER)
    N3004#3000=4(F OVER)
    N3005#3000=5(C#1 & C#2 SYN.)
    N9999
    M99
    %

  10. #10
    Join Date
    Feb 2007
    Location
    Aberdeen, UK
    Posts
    3,903
    Post Thanks / Like
    Likes (Given)
    1383
    Likes (Received)
    1585

    Default

    Firstly, be very careful with everything I've written below. Remember that I am not familiar with your machine and am making assumptions based on how my machine works.

    A appears to be the relative address of the live spindle axis. It is probably not usable without decoupling it from the PMC first. On my machine this is done inside the tapping program, but does not appear to be there on yours. This is where the M65 and M66 codes come into play. Probably you will have to call M66 before G184, and M65 afterwards. Be careful with this - perhaps try it in MDI first.

    M66;
    G0A0;
    A180;
    A180;
    M65;

    See what happens.

    It looks like you need to call G184 with the following format:

    G184 Xx. Cx. Wx. Fx.

    S is referenced in the program but doesn't appear to be used anywhere. It actually seems like this program is pretty rough, I'd be careful with it. It's possible that there is no documentation for it because it was written by a previous owner and not the machine builder.

    Lastly, your 9014 program is modifying parameters. 1422 is max. feedrate of all axis, and it's turning it up very high, presumably to allow a higher tapping speed than would otherwise be possible, then turning it back down again. This means that you will need to be very careful that anytime you run either of these tapping programs, that they complete properly. Otherwise parameter 1422 will be left incorrectly set. If you ever stop one of them mid-cycle you will need to run them again immediately afterwards to make sure the parameter is correctly reset - there may be some special recovery procedures or other macro programs on your machine for this.

  11. #11
    Join Date
    Jun 2019
    Country
    UNITED STATES
    State/Province
    Kentucky
    Posts
    51
    Post Thanks / Like
    Likes (Given)
    2
    Likes (Received)
    4

    Default

    If 90 degree tool means a radial live tool, wouldn’t your plane selection be a g19?

  12. #12
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    3,891
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1565

    Default

    Hello kenwood2,
    Not the best written Macro I've seen. It only error traps for W and F to be within the range of:
    W>0 <100.
    F>0 <2.5

    S(#19) is used in calculations for allocating a value for #106, but there is no error trap for it being omitted as an argument. However, notwithstanding that a value for #106 is calculated, its not used. There is an Interpolation of the W and A axis so S would be redundant, therefore, I see no point in #19 being specified in the Macro.

    There are calculations for #106 and #107, neither of which are used.

    System Interface variable #1000 is used to direct the program but that is up to the MTB as to what that signal is. You may have it in documentation. It appears that it relates to which spindle is being used and therefore the direction of W.

    So it seems to me that only X, C, W and F need to be passed to the Macro but only the omission of W and F would cause the program to Fall Through without doing anything; there are no error traps for X or C. Omitting X could be a real issue, as it would have a value of Null and in this case, the Address is ignored. If X is omitted as an argument #24 will have a value of Null. If a command such as:

    G00 X#24 Z10.0 is executed, then it has the same meaning as G00 Z10.0. This may or may not be an issue. In my opinion, error trapping should be used for the omission of X, along the lines of:

    IF[#24EQ#0]GOTO3006
    --------
    --------
    --------
    N3006 #3000=6 (MISSING X VALUE - FIX)

    Sorry Gregor for cutting across your reply, you Posted whilst I was still typing; you covered just about all I said.

    Regards,

    Bill

  13. Likes gregormarwick liked this post
  14. #13
    Join Date
    Jun 2020
    Country
    BULGARIA
    Posts
    6
    Post Thanks / Like
    Likes (Given)
    1
    Likes (Received)
    0

    Default

    Finally it's working. I changed nothing in O 9014 program

    The program like this:
    g40 g54 g80 g98
    G30 U0
    T0909
    g18
    M90
    G28 H0.
    C30.
    G0 X60. Z5.
    G184 z-35. w35. S1000 R0. F0.8.
    .
    .
    .

    And it's finally working...

    Thank you all for the suport.

  15. #14
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    3,891
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1565

    Default

    Quote Originally Posted by kenwood2 View Post
    Finally it's working. I changed nothing in O 9014 program

    The program like this:
    g40 g54 g80 g98
    G30 U0
    T0909
    g18
    M90
    G28 H0.
    C30.
    G0 X60. Z5.
    G184 z-35. w35. S1000 R0. F0.8.
    .
    .
    .

    And it's finally working...

    Thank you all for the suport.
    Hello kenwood2,
    Drop the Z argument in your Call Block; its not used in the Macro. An argument for address Z is passed to Local Variable #26 in the Macro; its not used.

    The W address doesn't actually need to be signed in the Call Block as its used as an Absolute Value in the Macro and System Variable #1000 is used to set the direction of W. However, using a sign (+-) for W argument in the Call Block will make the program a little more understandable for anyone not familiar with how the whole system works.


    Regards,

    Bill

  16. #15
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    3,891
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1565

    Default

    Quote Originally Posted by kenwood2 View Post
    Finally it's working. I changed nothing in O 9014 program

    The program like this:
    g40 g54 g80 g98
    G30 U0
    T0909
    g18
    M90
    G28 H0.
    C30.
    G0 X60. Z5.
    G184 z-35. w35. S1000 R0. F0.8.
    .
    .
    .

    And it's finally working...

    Thank you all for the suport.
    Hello kenwood2,
    Having had more time to look at your G184 Macro and the Call Block syntax you've settled on, the Z, S and R arguments are irrelevant. Although "S" is passed to the Macro, its not used in any way. Omitting X in the Call Block, as you have in your above example, will result in a tapping operation at the current X location. Including an "X" argument results in a rapid move to the specified X coordinate before the Tapping part of the cycle is invoked.

    Address "R" is not used, nor is address "Z". Accordingly, the only arguments that need to be included in the Call Block are W and F, with X being optional. But you would need to ensure you position the tool at the required X location before calling the G184 Tapping Macro if X is omitted from the Call Block.

    Regards,

    Bill

  17. Likes kenwood2, gregormarwick liked this post

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •