1. Home
    1. Dashboard
    2. Search
  2. Forum
    1. Unresolved Threads
    2. Members
      1. Recent Activities
      2. Users Online
      3. Team Members
      4. Search Members
      5. Trophys
  3. Articles
  4. Blog
  5. Videos
  6. Jobs
  7. Shop
    1. Orders
  • Login or register
  • Search
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Blog Articles
  • Products
  • More Options
  1. Robotforum - Support and discussion community for industrial robots and cobots
  2. Forum
  3. General Category - Robot Forum
  4. General Discussion of Industrial Robots Only
Your browser does not support videos RoboDK Software for simulation and programming
Visit our Mainsponsor
IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Sponsored Ads

Timing analysis

  • Affaltar
  • July 14, 2020 at 9:27 AM
  • Thread is Unresolved
  • Affaltar
    Reactions Received
    6
    Trophies
    3
    Posts
    43
    • July 14, 2020 at 9:27 AM
    • #1

    Hello everyone.

    How to do timing analysis? I have no idea where to start so I'd love to get some useful material recomendations to study about it, or the way you do it.

    I currently have a robot tending 3 milling machines and robot goes from the loading station to each machine one at a time. At one point all the machines are full, robot waits a bit and then fills all three machines in a row with no pause in between. My boss asked how would it affect time if I forced a robot to wait for each machine a bit, stagger them in a way that robot splits his bigger wait into 3 smaller ones.

    I could make a table in excel and try to set up some timing diagram and try to move stuff manually around to see what would happen in theory, but I'm sure there's a better way, I just don't know it yet.

  • HawkME
    Reactions Received
    567
    Trophies
    10
    Posts
    3,268
    • July 14, 2020 at 5:54 PM
    • #2

    It won't change anything. All that will do is add initial delay time then it will fall into a groove where you are putting out the same number of parts per hour.

    The best you can do is make sure each CNC starts as soon as it is loaded, don't wait for the other machines. Then have each CNC send a complete signal to the robot when done. Have the robot service each CNC on request.

    Go ahead and do it on excel and you will find out.

  • Affaltar
    Reactions Received
    6
    Trophies
    3
    Posts
    43
    • July 15, 2020 at 9:18 AM
    • #3

    Yeah, I know the solution, that's not the problem :grinning_squinting_face: (But still thank you very much for the answer)

    I would just like to know a way to design/test it, there will be more complex problems where orders will matter, way to find out if a second on one process will change anything and things like that. And of course to have a nice way to show my boss both versions and calculated times.

  • HawkME
    Reactions Received
    567
    Trophies
    10
    Posts
    3,268
    • July 15, 2020 at 2:02 PM
    • #4

    I have always used excel for things like that (cycle time analysis).

  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,371
    • July 15, 2020 at 2:25 PM
    • #5

    If the CNC machines' cycle times were deterministic, you might be able to stagger them such that there is never a time when any CNC is waiting for the robot, assuming that the robot cycle time for any CNC machine is less than the serialized cycle times of the other two CNCs. But that kind of setup is delicate and usually unnecessarily complex and failure prone. And if your CNC cycle times aren't deterministic (say, when you change over from a 5min part to a 6min part), well... at the end, it's almost certain to be more work than it's worth.

  • massula
    Reactions Received
    200
    Trophies
    8
    Posts
    1,426
    • July 15, 2020 at 3:34 PM
    • #6
    Quote from Affaltar

    Hello everyone.

    How to do timing analysis? I have no idea where to start so I'd love to get some useful material recomendations to study about it, or the way you do it.

    I currently have a robot tending 3 milling machines and robot goes from the loading station to each machine one at a time. At one point all the machines are full, robot waits a bit and then fills all three machines in a row with no pause in between. My boss asked how would it affect time if I forced a robot to wait for each machine a bit, stagger them in a way that robot splits his bigger wait into 3 smaller ones.

    I could make a table in excel and try to set up some timing diagram and try to move stuff manually around to see what would happen in theory, but I'm sure there's a better way, I just don't know it yet.

    You didn't mentioned the brand of Your industrial robot, so I don't know if this is possible in Your specific case, but in situations like this I like to create some timers on program, to measure the cycle steps, and last but not least, measure the idle time between these cycle steps.

    I prefer timers over manual time measurement because it will not be affected by different criteria by different people making the measurement, for example.

    With this data, I go to spreadsheets and make my basic number crunching.

    Lets say You optimize the first cycle, reducing its time, but this will increase the idle time before the next operation, so I will not have any gaining on overall cycle time.

    But if You optimize the last cycle step, It will create a cascade effect and previous operations will be a little bit faster.

  • panic mode
    Reactions Received
    1,262
    Trophies
    11
    Posts
    13,027
    • July 16, 2020 at 1:20 AM
    • #7
    Quote from Affaltar

    I currently have a robot tending 3 milling machines and robot goes from the loading station to each machine one at a time. At one point all the machines are full, robot waits a bit and then fills all three machines in a row with no pause in between.

    you need to break the cycle down. above description does not even mention unload. cannot put new part into machine that has machined part already in it.

    programming bunch of timers can be not very convenient but i agree about measuring time using some equipment and not manually triggering stopwatch. maybe let the whole thing run and record the video, then you can zoom in on time stamp and determine any part of cycle (idle, machining, loading machine1, unloading machine1, loading machine2, unloading machine2 etc.)

    it is unclear if each machine runs same part and has same cycle time, or if parts are different or if two machines are running same parts but the third one is different etc. if parts or machines are different do they have different priority etc. perhaps you want to maximize output from machine #2 for example because it is faster than other two.

    once you have all the values, throw them into Excel and summ them up in different ways to see what you get. this is all about finding efficiency and maximizing output (time is money) and everyone likes options and comparisons over being cornered with one and only possible setup.

    so i would add another case with absolute best time - each machine served by own robot, hence no dependency on others. then see what the cycle time would be if one robot serves 2 machines (and 3 and maybe even 4). with this you can see how much utilization you get out of robot serving 1,2,3 or 4 machines.

    if robot utilization is maxed and not machines, then how about two robots serving three machines?

    robot1 feeding MC1 and MC2

    robot2 feeding MC2 and MC3

    robots would need to make sure they don't try to go at once to MC2 but if they alternate for example or respond on first come basis or MC2 is loaded by robot1 and unloaded by robot 2 etc. then you would get some interesting numbers. even if this does not pan out to optimal solution right now, it will offer something to translate into currency and help planing budgets and upgrades.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Affaltar
    Reactions Received
    6
    Trophies
    3
    Posts
    43
    • July 16, 2020 at 8:51 AM
    • #8

    Thanks all for the answers, they're very useful in general, but mainly missing the point, most likely because I didn't ask the question well enough.

    I understand the principles and ways of getting the times, the analysis was the problem

    I quoted just parts to reduce the length of the post, but reply is to more than

    Quote from massula

    With this data, I go to spreadsheets and make my basic number crunching.

    This part, how to do this, I can do it just by laying out parts and their times and then manualy putting them in different orders, trying to calculate what the end time will be. I was hoping there's a nicer streamlined way to do it.

    The robot is Fanuc, I can measure time with it. And that last part is what I want to learn to do, find what is worth optimizing, where I can add new actions without affecting time and getting the best solution. Without doing it again at the machine and seeing how long it takes :grinning_squinting_face:

    Quote from HawkME

    I have always used excel for things like that (cycle time analysis).

    This helps a lot, I now know the exact term to search for and I see I can get some useful papers about it

    Quote from panic mode

    once you have all the values, throw them into Excel and summ them up in different ways to see what you get. this is all about finding efficiency and maximizing output (time is money) and everyone likes options and comparisons over being cornered with one and only possible setup.

    As I mentioned, this is what I don't know how to do well

    About unloading, I do it in same step as loading, I have two grippers and just swap the parts while inside the machine, that's why I didn't mention it seperately. But for example in one process that swap lasts 6sec because the machine has to unclamp the part while robot holds it, and on other one it is 0.3 sec because there are two positions ready and the grippers are positioned in a way to hold both at the same time.

    And I know clearly that I could get some time from reducing those 6sec, but if I reduce it to less than 2 it won't matter anymore since the robot will have to wait for the other machine. And I don't know a good process to do all those calculations properly

    Quote from SkyeFire

    If the CNC machines' cycle times were deterministic, you might be able to stagger them such that there is never a time when any CNC is waiting for the robot, assuming that the robot cycle time for any CNC machine is less than the serialized cycle times of the other two CNCs. But that kind of setup is delicate and usually unnecessarily complex and failure prone. And if your CNC cycle times aren't deterministic (say, when you change over from a 5min part to a 6min part), well... at the end, it's almost certain to be more work than it's worth.

    I don't really understand this :thinking_face:

  • HawkME
    Reactions Received
    567
    Trophies
    10
    Posts
    3,268
    • July 16, 2020 at 3:37 PM
    • #9

    In my opinion the best general solution to do machine tending is on request.

    If you go down the analysis road you might want to understand the terms "value added" and "non-value added". If you consider it from the point of view of the CNC, value added activity is when it is running, making parts. Non-value activity would be waiting, loading, unloading, downtime. This is the basics of "lean manufacturing". Minimize the waste, minimize the non-value added activity.

  • panic mode
    Reactions Received
    1,262
    Trophies
    11
    Posts
    13,027
    • July 16, 2020 at 4:42 PM
    • #10

    agreed. this is shortest path to good result.

    Quote from Affaltar

    As I mentioned, this is what I don't know how to do well.

    that should be another thing to analyse (area to improve, training opportunity or self-study, refresher on something, adding new skill to your qualification, using systematic approach, value or usefulness etc.)

    Quote from Affaltar

    About unloading, I do it in same step as loading, I have two grippers and just swap the parts while inside the machine, that's why I didn't mention it seperately. But for example in one process that swap lasts 6sec because the machine has to unclamp the part while robot holds it, and on other one it is 0.3 sec because there are two positions ready and the grippers are positioned in a way to hold both at the same time.

    that is because you did not break it down and understand sequence of processes involved. how exactly you break it down (and to what degree) is up to you. once you do a breakdown, and measure duration of each step (or group of steps if you don't care about splitting it all into bunch of tiny pieces), you can study and manipulate collected values.

    to do any kind of numeric evaluation - you need NUMBERS. and ... if you cannot put a number on something you are not doing it right.

    so ... that would be the first phase of the attack - gathering information and making sure values are accurate.

    then you can organize the info into meaningful form.

    in simplest form you have something like:

    T1 = t11+t12+t13+t14+t15... (MC1)

    T2 = t21+t22+t23+t24+t25... (MC2)

    T3 = t31+t32+t33+t34+t35... (MC3)

    and

    T=T1+T2+T3 (overall cycle in the worst possible case - no overlap with T1,T2,T3)

    then you could use systematic approach and explore which of them is a bottleneck, which of them can be improved, and if order of steps is optimal, if things can be done in parallel etc. and this allows you to highlight what has been done so far and everything else is what remains to be seen.

    suppose you have:

    t11 = wait for pick request

    t12 = make sure gripper is open (if no part in it)

    t13 = move to pick part

    t14 = wait for part free to pick (unclamped)

    t15 = close gripper

    t16 = move away with part

    etc.

    right of the bat one can see that in this scenario t11 and t12 can work but reversing order could save time since we could do something before step that waits anyway... how many steps are there where something has to wait on something? can it be done on the move (start opening of the gripper at the same time we start moving to pick? what if there is a chance that part is already in the gripper - opening would cause part to drop)

    can t12 or t15 be improved? how? what is the gripper type? how many states? are they used optimally? are you waiting for sensor(s) to tell that gripper is correct state or you are wasting time using blindly set delay that must account for worst case scenario?

    can t13 be improved and how? is the motion fluid and quick (no stops, no significant reorientation, which axis is lead axis, what is the speed of lead axis? moving near singularity? etc.)

    can some step be eliminated all together if the process is deterministic (for example at some step gripper will always be open so no need to make it open etc.)

    using excel it is easy to add values and see what the numbers should add up to and what impact this has on overall improvement.

    in this case process is very simple so this can be reduced to optimizing each MC cycle separately and letting robot serve them on first come basis.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • Online
    SkyeFire
    Reactions Received
    1,038
    Trophies
    12
    Posts
    9,371
    • July 17, 2020 at 2:50 PM
    • #11

    Something like a GANTT chart might be helpful. The key is to graph out how long each task takes, which tasks can run in parallel, and which tasks cannot start until after another task is complete.

  • fuzzy_l
    Reactions Received
    3
    Trophies
    3
    Posts
    61
    • July 20, 2020 at 10:30 AM
    • #12

    If there is a time when all 3 machines are loaded, and the robot stands for a few minutes, it is good for the CNC.

    If the machine stops due to a warning, you can go to the cell and reset the warning on the machine. Some CNC Adjusters manage to replace the tool during the robot's downtime.

Advertising from our partners

IRBCAM
Robotics Channel
Robotics Training
Advertise in robotics
Advertise in Robotics
Advertise in Robotics

Job Postings

  • Anyware Robotics is hiring!

    yzhou377 February 23, 2025 at 4:54 AM
  • How to see your Job Posting (search or recruit) here in Robot-Forum.com

    Werner Hampel November 18, 2021 at 3:44 PM
Your browser does not support videos RoboDK Software for simulation and programming

Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000

Thread Tag Cloud

  • abb
  • Backup
  • calibration
  • Communication
  • CRX
  • DCS
  • dx100
  • dx200
  • error
  • Ethernet
  • Ethernet IP
  • external axis
  • Fanuc
  • help
  • hmi
  • I/O
  • irc5
  • IRVIsion
  • karel
  • kawasaki
  • KRC2
  • KRC4
  • KRC 4
  • KRL
  • KUKA
  • motoman
  • Offset
  • PLC
  • PROFINET
  • Program
  • Programming
  • RAPID
  • robodk
  • roboguide
  • robot
  • robotstudio
  • RSI
  • safety
  • Siemens
  • simulation
  • SPEED
  • staubli
  • tcp
  • TCP/IP
  • teach pendant
  • vision
  • Welding
  • workvisual
  • yaskawa
  • YRC1000
  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™
As a registered Member:
* You will see no Google advertising
* You can translate posts into your local language
* You can ask questions or help the community with your knowledge
* You can thank the authors for their help
* You can receive notifications of replies or new topics on request
* We do not sell your data - we promise

JOIN OUR GREAT ROBOTICS COMMUNITY.
Don’t have an account yet? Register yourself now and be a part of our community!
Register Yourself Lost Password
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on Google Play
Robotforum - Support and discussion community for industrial robots and cobots in the WSC-Connect App on the App Store
Download