Bar feeder (want it to poke part every run)
Close
Login to Your Account
Results 1 to 11 of 11
  1. #1
    Join Date
    Apr 2021
    Country
    UNITED STATES
    State/Province
    California
    Posts
    4
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default Bar feeder (want it to poke part every run)

    i would like my bar feeder to check the bar length every run, what is a good way to do that. i have an NLX1500/500SY with a ATS MD-565 bar feeder. Any help is much appreciated.

  2. #2
    Join Date
    Aug 2002
    Location
    West Unity, Ohio
    Posts
    27,378
    Post Thanks / Like
    Likes (Given)
    7769
    Likes (Received)
    9557

    Default

    Are you having push back issues?

    Even if the barfeeder re-checks the bar each cycle* - what doo you expect to happen then?

    I ass_u_me that you would like it to re-check before collet open, and make sure that is where it left it before the cycle?
    And if it's out more than Y, then it alarms?

    Or what?

    I have no clue what you feeder is, I have LNS, but I doubt they are much different?


    * When it really does - sorta...
    It knows where it left the bar for the last part, and it expects to push "X" distance for the next part, and if that doesn't happen....


    ----------------

    Think Snow Eh!
    Ox

  3. #3
    Join Date
    Sep 2015
    Country
    UNITED STATES
    State/Province
    California
    Posts
    614
    Post Thanks / Like
    Likes (Given)
    23
    Likes (Received)
    302

    Default

    Are you trying to write a macro to adjust the number of parts it runs based on variable bar lengths? Many bar feeders have “end of bar” sensors that will produce an alarm when the push bar reaches a certain point.

  4. #4
    Join Date
    Sep 2017
    Country
    UNITED STATES
    State/Province
    Wisconsin
    Posts
    1,366
    Post Thanks / Like
    Likes (Given)
    358
    Likes (Received)
    849

    Default

    I'm using a macro for this on my old FANUC. When a new bar is loaded you have variables set to the total length, part length, and parts requested. It then subtracts my bar end from this, and calculates the total length of requested parts (plus the cutoff/facing/pullback) and compares it to the bar length minus the remnant to ensure I have enough bar for the parts requested (obviously you wouldn't do this on a magazine bar feeder). As it cycles through it subtracts the current part from the length and does a check for remaining stock. At the end of the program (after it has run all parts and jumped to the program end section) it adds the remnant back to the bar length and stores that so when the program starts again I don't have to remember to block skip the macros at the beginning that remove the remnant length.

    I can post it up but it is in Macro A so someone will have to translate to Macro B LOL.

  5. #5
    Join Date
    Apr 2021
    Country
    UNITED STATES
    State/Province
    California
    Posts
    4
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    I am wanting to check bar length every part because sometimes the count can be off from messing with the program trying different tools/paths or even different order of operations trying to get it dialed in for production.

  6. #6
    Join Date
    Aug 2002
    Location
    West Unity, Ohio
    Posts
    27,378
    Post Thanks / Like
    Likes (Given)
    7769
    Likes (Received)
    9557

    Default

    Is your unit currently just loading the new bar, and then "counting down" as you pull with the sub maybe?

    Again - IDK your unit, but my guess is that must be how your unit is set up, and you likely need to go though the SETTINGS and tell it that you want it to push the bar out each cycle.

    I'm not sure if there is such a setting for not pushing, but still checking?


    IF you are pulling with the sub and are not pushing with the feeder for the porpoise of not buggering the pusher tip, what I doo is to pull with the sub at 100 RPM, and then speed up after the collet closes and a 1 sec dwell. Then the pusher will back off your preset distance while it speeds up.

    Again - answering a vague question on an unknown unit, with LNS experience.


    ------------------

    Think Snow Eh!
    Ox

  7. Likes vegard liked this post
  8. #7
    Join Date
    Sep 2017
    Country
    UNITED STATES
    State/Province
    Wisconsin
    Posts
    1,366
    Post Thanks / Like
    Likes (Given)
    358
    Likes (Received)
    849

    Default

    Quote Originally Posted by qc machinist View Post
    I am wanting to check bar length every part because sometimes the count can be off from messing with the program trying different tools/paths or even different order of operations trying to get it dialed in for production.
    Well we have no idea what control your machine is running so you need to tell us that. DMG/Mori, last I checked, were Mitsubishi or Fanuc from Japan or Heidenhein or Siemens from Germany, with their CELOS overlay to standardize workflow between them. You need to know what macro capabilities you have, and how to program them.

    Best option for you is probably to reach out to the company that supports your machine and get an applications engineer to help you write the macro.

    Here is the basic logic I use with spindle-length bar-pulled material:
    The operator enters starting bar length in Variable #501 (this way you can load partial bars)
    The operator enters part length in Variable #502
    If you are starting a new parts counter, the operator sets #507 to zero

    At the start of the program, or at bar change, a safe cutoff program is run (called as a subprogram or using logic to jump to and from a section after the M2/M30).

    The program adds parting/facing/pullback to #502 and stores it in #503 (you can also use a separate variable for this instead of putting the value in the program but it doesn't matter)
    The program removes the remnant from the bar length entered and stores this in #504
    The program divides #504 by #503, drops the remainder, and sets this as #505 (total parts it will try to machine from the bar, you can omit this or put a block skip on this and manually set this variable to a number of parts desired if you like)
    The program sets #506 to zero (this is just to compare the counters to later on)

    Now, you have a N01 return so the above logic is only executed upon program start, or upon loading a new bar.

    The program subtracts one part length from the total remaining (sets #504 to #504 minus #503)
    The program runs a check that #504 is equal to or greater than zero (there is enough material to make this part) and alarms if there is not enough material.

    *Here is the machining code.*
    The bar is either pulled out by #503 either before or after cutoff as applicable for your part (like if you do face work, then bar pull, then cutoff, versus bar pull all the way out and perform all machining operations)
    *End of machining code*

    The program adds one to #507 which is just your running parts total
    The program subtracts one part form the total that were calculated to fit the bar (sets #505 to #505 minus one)
    The program compares #505 to #506 - if #505 is less than or equal to #506, it jumps to the program end (say, N99) or bar change
    Here, you have a jump back to N01

    N99
    Here, you have your end program code, including the machine updating #501 with whatever bar length exists in #504 after adding back your remnant (so that when you start again it will subtract the remnant - this is just so an operator can measure a bar and stick it in without having to remember to subtract the remnant length before entering #501).

    M30

    Here you have your safe cutoff, bar change, your alarm jumps, etc.

    That's how I do it at least.

  9. #8
    Join Date
    Aug 2002
    Location
    West Unity, Ohio
    Posts
    27,378
    Post Thanks / Like
    Likes (Given)
    7769
    Likes (Received)
    9557

    Default

    Or with any control with an on-board counter, you just set the counter back to zero....


    ---------------------

    Think Snow Eh!
    Ox

  10. #9
    Join Date
    Apr 2021
    Country
    UNITED STATES
    State/Province
    California
    Posts
    4
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    Quote Originally Posted by Ox View Post
    Is your unit currently just loading the new bar, and then "counting down" as you pull with the sub maybe?

    Again - IDK your unit, but my guess is that must be how your unit is set up, and you likely need to go though the SETTINGS and tell it that you want it to push the bar out each cycle.

    I'm not sure if there is such a setting for not pushing, but still checking?


    IF you are pulling with the sub and are not pushing with the feeder for the porpoise of not buggering the pusher tip, what I doo is to pull with the sub at 100 RPM, and then speed up after the collet closes and a 1 sec dwell. Then the pusher will back off your preset distance while it speeds up.

    Again - answering a vague question on an unknown unit, with LNS experience.


    ------------------

    Think Snow Eh!
    Ox
    Yes i'm pulling with the sub as i do not know how accurate the pusher is, we're running titanium so things could go bad fast. I didn't think about setting the barfeeder to push while still using the sub to pull. Does it check bar length every time when set to push the material. I really appreciate your help.

  11. #10
    Join Date
    Apr 2021
    Country
    UNITED STATES
    State/Province
    California
    Posts
    4
    Post Thanks / Like
    Likes (Given)
    0
    Likes (Received)
    0

    Default

    Quote Originally Posted by Rick Finsta View Post
    Well we have no idea what control your machine is running so you need to tell us that. DMG/Mori, last I checked, were Mitsubishi or Fanuc from Japan or Heidenhein or Siemens from Germany, with their CELOS overlay to standardize workflow between them. You need to know what macro capabilities you have, and how to program them.

    Best option for you is probably to reach out to the company that supports your machine and get an applications engineer to help you write the macro.

    Here is the basic logic I use with spindle-length bar-pulled material:
    The operator enters starting bar length in Variable #501 (this way you can load partial bars)
    The operator enters part length in Variable #502
    If you are starting a new parts counter, the operator sets #507 to zero

    At the start of the program, or at bar change, a safe cutoff program is run (called as a subprogram or using logic to jump to and from a section after the M2/M30).

    The program adds parting/facing/pullback to #502 and stores it in #503 (you can also use a separate variable for this instead of putting the value in the program but it doesn't matter)
    The program removes the remnant from the bar length entered and stores this in #504
    The program divides #504 by #503, drops the remainder, and sets this as #505 (total parts it will try to machine from the bar, you can omit this or put a block skip on this and manually set this variable to a number of parts desired if you like)
    The program sets #506 to zero (this is just to compare the counters to later on)

    Now, you have a N01 return so the above logic is only executed upon program start, or upon loading a new bar.

    The program subtracts one part length from the total remaining (sets #504 to #504 minus #503)
    The program runs a check that #504 is equal to or greater than zero (there is enough material to make this part) and alarms if there is not enough material.

    *Here is the machining code.*
    The bar is either pulled out by #503 either before or after cutoff as applicable for your part (like if you do face work, then bar pull, then cutoff, versus bar pull all the way out and perform all machining operations)
    *End of machining code*

    The program adds one to #507 which is just your running parts total
    The program subtracts one part form the total that were calculated to fit the bar (sets #505 to #505 minus one)
    The program compares #505 to #506 - if #505 is less than or equal to #506, it jumps to the program end (say, N99) or bar change
    Here, you have a jump back to N01

    N99
    Here, you have your end program code, including the machine updating #501 with whatever bar length exists in #504 after adding back your remnant (so that when you start again it will subtract the remnant - this is just so an operator can measure a bar and stick it in without having to remember to subtract the remnant length before entering #501).

    M30

    Here you have your safe cutoff, bar change, your alarm jumps, etc.

    That's how I do it at least.
    I'm not sure what control it is other than celos i will findout. Thank you for your help its much appreciated.

  12. #11
    Join Date
    Aug 2002
    Location
    West Unity, Ohio
    Posts
    27,378
    Post Thanks / Like
    Likes (Given)
    7769
    Likes (Received)
    9557

    Default

    Quote Originally Posted by qc machinist View Post
    Yes i'm pulling with the sub as i do not know how accurate the pusher is, we're running titanium so things could go bad fast. I didn't think about setting the barfeeder to push while still using the sub to pull. Does it check bar length every time when set to push the material. I really appreciate your help.
    Yes they doo.


    It's always helpfull to disclose as much as you can think of about your application, so that we don't need to try to decipher your application.



    ----------------

    Think Snow Eh!
    Ox


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
  •