Fanuc 10m ps190 alarm with macro
Close
Login to Your Account
Likes Likes:  0
Page 1 of 2 12 LastLast
Results 1 to 20 of 24
  1. #1
    Join Date
    Mar 2019
    Country
    FINLAND
    Posts
    15
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default Fanuc 10m ps190 alarm with macro

    Hello.

    I have three macros which i run on 18i and they all works great. Now iloaded them to our older mori seiki mv junior with fanuc 10m. Two of those macros works but one gives error ps190 (Parameter of max. cutting feedrate was set to 0.). Error comes when macro goes into while loop and it does one g1 move before error. Macro is similar than 2 others and i have tried to change variables and feeds and everything. Max feedrate parameter is not zero. Error comes when macro goes inside while loop and first row is something like g3g91x-#10i-#4z-#3.

    Any idea what can cause this? What difference can be in 10m becouse macro works in 18i and two other macros have very similiar consept and they works?

  2. #2
    Join Date
    Sep 2010
    Location
    india
    Posts
    1,186
    Post Thanks / Like
    Likes (Given)
    68
    Likes (Received)
    204

    Default

    May not be a macro problem. Are you able to run other programs?

  3. #3
    Join Date
    Mar 2019
    Country
    FINLAND
    Posts
    15
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    Yes everything else works fine. We have not used macros before on this machine. What differences are in macros between older 10/11 comparing to newer 16/18/21 controls?

  4. #4
    Join Date
    Jan 2014
    Country
    UNITED STATES
    State/Province
    Washington
    Posts
    3,996
    Post Thanks / Like
    Likes (Given)
    750
    Likes (Received)
    2095

    Default

    You should post the macro so we can see what it is doing.

  5. #5
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    3,538
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1390

    Default

    Hello Oovos,
    As your English is probably better than Finnish is for most of us, could you translate the comments in your Macro?

    Regards,

    Bill

  6. #6
    Join Date
    Mar 2019
    Country
    FINLAND
    Posts
    15
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    Here is translated. So error comes when it goes to first while loop:
    %
    :9010(helical hole)

    (G65P9010D50T20E5H0R2Z-2)

    (#7 D hole dia)
    (#20 T tool dia)
    (#8 E chip thickness max)
    (#11 H z level ABS)
    (#18 R feed level INK)
    (#26 Z hole depth abs)

    #33=#20/2(tool rad)
    #32=#7/2(hole rad)
    #1=#11+#18(feedlevel)
    IF[[#32+0.05]GT[#33]]GOTO1(if fits)
    #3000=1(fuck doesnt fit)

    N1#12=ABS[#26-#11](how much to remove in z)
    #13=FIX[#12/#8](how many rounds in z)
    #14=#12-[#13*#8](final chip thickness)
    #27=#32-#33(radius to go)
    #3=#27/2(go out radius)
    #17=#5003
    #101=#4001
    #102=#4003
    #111=#5001
    #112=#5002

    G0G90Z#17
    G0G90Z#1
    G91G1X#27Z-#18
    #22=0(rounds)

    WHILE[#13GT#22]DO1(till deep enough)
    G3G91I-#27Z-#8
    #22=#22+1(rounds)
    END1

    IF[#14EQ0]GOTO10
    G3G91I-#27Z-#14

    N10G3G91I-#27
    X-#27I-#3
    G0G90Z#1
    G0G90Z#17
    X#111Y#112
    G#101G#102

    M99
    %

  7. #7
    Join Date
    Mar 2019
    Country
    FINLAND
    Posts
    15
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    And this works:

    %
    :9011(SPIral hole XY)

    (G65P9011D40A20T12E1R2Z-20V1)

    (#7 D=hole dia)
    (#1 A=start hole dia)
    (#20 T=Tool dia)
    (#8 chip width max)
    (#18 R=safety height ABS)
    (#26 Z=hole depth ABS)
    (#22 V=final rounds count)

    IF[#1GT#20]GOTO1
    #3000=1(tool too big)

    (radius)
    N1#33=#7/2
    #32=#1/2
    #31=#20/2

    #100=#33-#32(how much to remove)
    #101=FUP[#100/#8](how many rounds )
    #102=#100/#101(chip width)
    #103=#32-#31(x now)
    #104=0(rounds count)
    #105=#103/2(radius now)
    #106=0(finish rounds)
    #107=#5003
    #108=#4001
    #109=#4003
    #9=#4109
    #111=#5001
    #112=#5002

    N1G0G90Z#107
    Z#18
    G1Z#26F2000
    G3G91X#103I#105F#9(touch)
    #103=#103*2

    WHILE[#104LT#101]DO1(till enough)
    #103=#103+#102/2(new X)
    #105=#103/2(new radius)
    G3G91X-#103I-#105
    #103=#103+#102
    #105=#103/2
    G3G91X#103I#105
    #103=#103+#102/2
    #104=#104+1(rounds)
    END1

    #105=#33-#31
    G3G91I-#105(full round)

    IF[#22EQ0]GOTO5(if not finishing)

    WHILE[#106LT#22]DO2(till enough)
    G3G91I-#105
    #106=#106+1(count)
    END2

    N5X-#105I-[#105/2](away)

    G0G90Z#107
    X#111Y#112
    G#108G#109
    M99

    %

  8. #8
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    3,538
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1390

    Default

    Hello Oovos,
    #5001, #5002 and #5003 are Block End System Variables for X, Y and Z. I can simulate your Macro with values for these Variables. As there are no axes moves prior to these Variables in your Macro, the values will be coming from your Calling Program. Accordingly, list the lines leading up to the Macro Call in your Calling Program.

    Regards,

    Bill

  9. #9
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    3,538
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1390

    Default

    Hello Oovo,
    Using arbitrary values for #5001, #5002, #5003 of X0.0, Y0.0, Z50.0 respectively and values passed with the Call Block of:

    #7 = 50.0
    #20 = 20.0
    #8 = 2.0
    #11 = 0.0
    #18 = 2.0
    #26 = -21.5

    Following is the resulting NC Code.

    G0 G90 Z50.000
    G0 G90 Z2.000
    G91 G1 X15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000 Z-1.500
    G3 G91 I-15.000
    X-15.000 I-7.500
    G0 G90 Z2.000
    G0 G90 Z50.000
    X0.000 Y0.000

    helical-hole-macro1.jpg

    Accordingly, there appears to be no issue with the structure of the Macro. However, you have no Feed Rate specified in the Macro that doesn't work for you, whereas, you have a Feed Rate specified in the Macro that does work for you. Depending on the magnitude of the Feed Rate that was set in the Calling Program, this will be the issue.

    You say that the error occurs in the first execution of the WHILE LOOP. As the error doesn't occur with the G91G1X#27Z-#18 prior to the WHILE LOOP, there must be a Feed Rate specified in the Calling Program. When executing Helical Interpolation, the Feed Rate is specified along a circular arc. Therefore, the feed rate of the linear axis (Z in your case) is as follows:

    FZ=LZ/LC
    Where:
    FZ = Linear Axis Feed Factor
    LZ = Linear Axis Length
    LC = Circular arc Length

    The above ratio is used to determine the feed rate so the linear axis feed rate does not exceed any of the various limit values set via parameter. There are parameters that can be used to prevent the linear axis feed rate from exceeding various limit values. Therefore, the reason the program may work on your other machines and not the 10M, is that the Feed Rate Limits may be set differently and or the parameter to prevent the linear feed rate exceeding various limits may be set on your other machines and not the 10M.

    Another clue that the error is due to the Feed Rate of the Linear Axis, is that the other program that worked that you listed earlier has no Linear Axis Move; its a Macro for Spiral Interpolation. Its similar to the program that raises the error as White Paint is similar to Black Paint in that they are both Paint, but that's where the similarity ends.

    Following is the NC Code generated by your Spiral Interpolation Macro:

    N1 G0 G90 X0.000 Y0.000
    G0 G90 Z50.000
    Z2.000
    G1 Z-20.000 F2000
    G3 G91 X4.000 I2.000 F200.000
    G3 G91 X-8.500 I-4.250
    G3 G91 X9.500 I4.750
    G3 G91 X-10.500 I-5.250
    G3 G91 X11.500 I5.750
    G3 G91 X-12.500 I-6.250
    G3 G91 X13.500 I6.750
    G3 G91 X-14.500 I-7.250
    G3 G91 X15.500 I7.750
    G3 G91 X-16.500 I-8.250
    G3 G91 X17.500 I8.750
    G3 G91 X-18.500 I-9.250
    G3 G91 X19.500 I9.750
    G3 G91 X-20.500 I-10.250
    G3 G91 X21.500 I10.750
    G3 G91 X-22.500 I-11.250
    G3 G91 X23.500 I11.750
    G3 G91 X-24.500 I-12.250
    G3 G91 X25.500 I12.750
    G3 G91 X-26.500 I-13.250
    G3 G91 X27.500 I13.750
    G3 G91 I-14.000
    G3 G91 I-14.000
    X-14.000 I-7.000
    G0 G90 Z50.000
    X0.000 Y0.000
    G0 G90

    spiral-interpolation1.jpg


    Regards,

    Bill
    Last edited by angelw; 04-21-2019 at 01:51 AM.

  10. #10
    Join Date
    Mar 2019
    Country
    FINLAND
    Posts
    15
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    Do you mean that it somehow gets 0 feed becouse z axis helical interpolation?

  11. #11
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    3,538
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1390

    Default

    Quote Originally Posted by Oovos View Post
    Do you mean that it somehow gets 0 feed becouse z axis helical interpolation?
    Hello Oovos,
    The message may be somewhat generic, but it is definitely related to the feed rate of the Linear Axis (Z) of your Helical Interpolation execution. What Feed Rate have you specified in the Calling Program?

    Regards,

    Bill

  12. #12
    Join Date
    Mar 2019
    Country
    FINLAND
    Posts
    15
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    Here is thread milling macro which also worked and it does also helical milling.

    %
    :9014(thread milling)

    (G65P9015D40A2T22E3Z-20V2)

    (#7 D=dia)
    (#1 A=pitch)
    (#20 T=tool dia)
    (#8 E=chip count)
    (#26 Z=hole depth abs)
    (#22 V=Z rounds)

    IF[#22EQ#0]THEN#22=1(Z rounds)
    IF[#8EQ#0]THEN#8=1(X rounds)

    #32=[0.5773503*[#1/2]*[#1/2]]/#8(chip area)
    #104=1(rounds X)
    #106=0(rounds Z)
    #107=#5003
    #108=#4001
    #109=#4003
    #9=#4109
    #111=#5001
    #112=#5002

    N1G0G90Z#107
    Z[#26+2]

    WHILE[#104LE#8]DO1(till enough X rounds)
    G1G90Z#26F2000
    #102=SQRT[[#32*#104]/0.5773503]+[#7-#1-#20]/2(X value)
    G3G91X#102I[#102/2]Z[#1/2]F#9

    WHILE[#106LT#22]DO2(till enough z rounds)
    G3G91I-#102Z#1
    #106=#106+1(count Z)
    END2

    G3G91X-#102I-[#102/2]Z[#1/2]
    #104=#104+1(count X)
    #106=0
    END1

    G0G90Z#107
    X#111Y#112
    G#108G#109
    M99

    %

  13. #13
    Join Date
    Mar 2019
    Country
    FINLAND
    Posts
    15
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    I tried even 1 mm/min. Also 500 and 1000 but all same results

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

    Default

    Quote Originally Posted by Oovos View Post
    Here is thread milling macro which also worked and it does also helical milling.

    %
    :9014(thread milling)

    (G65P9015D40A2T22E3Z-20V2)

    (#7 D=dia)
    (#1 A=pitch)
    (#20 T=tool dia)
    (#8 E=chip count)
    (#26 Z=hole depth abs)
    (#22 V=Z rounds)

    IF[#22EQ#0]THEN#22=1(Z rounds)
    IF[#8EQ#0]THEN#8=1(X rounds)

    #32=[0.5773503*[#1/2]*[#1/2]]/#8(chip area)
    #104=1(rounds X)
    #106=0(rounds Z)
    #107=#5003
    #108=#4001
    #109=#4003
    #9=#4109
    #111=#5001
    #112=#5002

    N1G0G90Z#107
    Z[#26+2]

    WHILE[#104LE#8]DO1(till enough X rounds)
    G1G90Z#26F2000
    #102=SQRT[[#32*#104]/0.5773503]+[#7-#1-#20]/2(X value)
    G3G91X#102I[#102/2]Z[#1/2]F#9

    WHILE[#106LT#22]DO2(till enough z rounds)
    G3G91I-#102Z#1
    #106=#106+1(count Z)
    END2

    G3G91X-#102I-[#102/2]Z[#1/2]
    #104=#104+1(count X)
    #106=0
    END1

    G0G90Z#107
    X#111Y#112
    G#108G#109
    M99

    %
    Hello Oovos,
    You're still not letting on the Feed Rate that you have specified for your
    :9010(helical hole) in the Calling Program. The Linear Axis Feed Rate is inter-related to the Feed Rate along the circular arc because the Helical Move is an Interpolation of the three axes.

    In the two Macro Programs that have worked, you have explicitly used the Feed Rate specified in the Calling Program with the Block shown in Red above (#9=#4109). The fact the you have not done this in the Macro that doesn't work shouldn't matter, because Feed Rate is Modal. The fact that a Feed Rate has not been specified in the Macro, simply means that the Feed Rate specified in the Calling Program will be used as default.

    Also the example Call Blocks for your Helical Hole and Thread Milling Macro use quite different arguments. Accordingly, the Linear Axis Feed will be quite different, given a similar Circular Arc feed for the two examples.

    No one from the Forum will be able to help you further without the Feed Rate specified for each of the Macro Programs. But be assured that your issue is related to the Linear Axis Feed Rate and Feed Rate Limits set in parameter.

    Quote Originally Posted by Oovos View Post
    I tried even 1 mm/min. Also 500 and 1000 but all same results
    If you're saying that you only tried these three Feed Rates, you could be going from one extreme to the other (too small - too large). If your Thread Milling Program works without error, try using the data from the Thread Milling Macro in the Helical Hole Macro. Thread Milling is just another version of a Helical Hole Milling process; the Control will not know the difference.



    Regards,

    Bill

  15. #15
    Join Date
    Mar 2019
    Country
    FINLAND
    Posts
    15
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    Thanks. I will do some more investigating and post results here.

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

    Default

    Quote Originally Posted by Oovos View Post
    Thanks. I will do some more investigating and post results here.
    Hello Oovos,

    Following is the NC Code generated by your Thread Mill Program.

    N1 G0 G90 X0.000 Y0.000
    G0 G90 Z50.000
    Z-18.000
    G1 G90 Z-20.000 F2000
    G3 G91 X8.577 I4.289 Z1.000 F200.000
    G3 G91 I-8.577 Z2.000
    G3 G91 I-8.577 Z2.000
    G3 G91 X-8.577 I-4.289 Z1.000
    G1 G90 Z-20.000 F2000
    G3 G91 X8.816 I4.408 Z1.000 F200.000
    G3 G91 I-8.816 Z2.000
    G3 G91 I-8.816 Z2.000
    G3 G91 X-8.816 I-4.408 Z1.000
    G0 G90 Z50.000
    X0.000 Y0.000
    G0 G90

    thread-mill1.jpg

    The only real difference between the Thread Mill and Helical Hole Macro, is that the Thread Mill Tool Path starts at the bottom of the Hole. But in terms of the Linear Axis and Circular Arc Feed relationship, they are the same.

    Regards,

    Bill

  17. #17
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    3,538
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1390

    Default

    Quote Originally Posted by Oovos View Post
    Thanks. I will do some more investigating and post results here.
    Hello Oovos,
    Following is the NC Code generated using the arguments passed to the Macro Program as specified by the following Call Block. This Block is a Copy and Paste from your listing of the program in your Post #6 that you state raises the error.

    (G65P9010D50T20E5H0R2Z-2)

    Arbitrary values for #5001 - #5003 used are as follow and will have no bearing whatsoever regarding the error being raised.

    #5001 = 0.0
    #5002 = 0.0
    #5003 = 50.0

    G0 G90 X0.0 Y0.0
    G0 G90 Z50.000
    G0 G90 Z2.000
    G91 G1 X15.000 Z-2.000
    G3 G91 I-15.000 Z-2.000
    G3 G91 I-15.000
    X-15.000 I-7.500
    G0 G90 Z2.000
    G0 G90 Z50.000
    X0.000 Y0.000

    If you were to run the above code, in terms of Tool Path, it will be exactly the same as running your Helical Hole Macro using the arguments passed in the Call Block above. Accordingly, if you use the same Feed Rate that was specified in your Calling Program for the Helical Hole Macro, the same error should be raised as when executing the same Helical Milling operation via your Helical Hole Macro. It would be worthwhile running the above code to simply take the Macro Program out of the picture and show that the issue is related to the ratio of Circular Arc Length, Linear Axis Length and Feed Rate in Helical Interpolation.

    Regards,

    Bill

  18. #18
    Join Date
    Mar 2019
    Country
    FINLAND
    Posts
    15
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    Hello.

    I tried simple program and noticed that if z value on helical interpolation is positive (like in thread milling macro) it works. But if it is negative it wont work.

    It make sense if we look equation which Bill wrote:

    FZ=LZ/LC
    Where:
    FZ = Linear Axis Feed Factor
    LZ = Linear Axis Length
    LC = Circular arc Length

    If linear axis value is negative then feed goes negative.

    Any ideas how to bybass this problem?

  19. #19
    Join Date
    Sep 2010
    Location
    Victoria Australia
    Posts
    3,538
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    1390

    Default

    Quote Originally Posted by Oovos View Post
    Hello.

    I tried simple program and noticed that if z value on helical interpolation is positive (like in thread milling macro) it works. But if it is negative it wont work.

    It make sense if we look equation which Bill wrote:

    FZ=LZ/LC
    Where:
    FZ = Linear Axis Feed Factor
    LZ = Linear Axis Length
    LC = Circular arc Length

    If linear axis value is negative then feed goes negative.

    Any ideas how to bybass this problem?
    Hello Oovos,
    I think what you're suggesting is a Red Herring. The simple algorithm below is not used by the control, but can be used to determine if the Circular Arc Feed Rate being used will result in the Linear Axis Feed Rate being outside various Limits set in parameter. The Linear Axis Length in the algorithm is the distance traveled by the Linear Axis and direction is irrelevant.

    FZ=LZ/LC
    Where:
    FZ = Linear Axis Feed Factor
    LZ = Linear Axis Length
    LC = Circular arc Length

    Controls are made with a little more flexibility than being able to only Helical Interpolate in the Z+ direction. Feed Rate is Feed Rate irrespective of whether its in a + or - direction.

    Did you try the hard code I suggested in Post #17 (the same movements that would have been generated by your Macro that failed). If so did it raise the error as the Macro did? If it did raise the error, did you try the same program, only with Z+ Helical Moves and with no error being raised? I would be gobsmacked if it did.

    What Feed Rate did you originally use with the Helical Hole Macro when the error was raised?

    Regards,

    Bill

  20. #20
    Join Date
    Mar 2019
    Country
    FINLAND
    Posts
    15
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    Yes i tried hard code (no macro). Error raises allways when trying to do sentence like g3g91i-10z-2. If same sentence is with z2, then no error. I tried few different feeds (10-1000 mm/min) and allways same results.


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
  •