Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
estimated cycle time function - Update function
Hello all

I have checked the function Update(check_collisions=0, timeout_sec=3600, mm_step=-1, deg_step=-1)

as the instructions shows it Returns
[valid_instructions, program_time, program_distance, valid_ratio, readable_msg]

the second index should be the program time, 

program_time: Estimated cycle time (in seconds)

however what I am getting is the time to the first valid instruction, that can also be seen in the GUI, before the program starts it says 2.2 seconds, and the real time is updated later to 4.5 seconds,   how can I know the real program time when the robot finish?

Hi Will,

I'm sorry we took so long to get back to you. The estimated time given by the RoboDK API (Update function) assumes the robot speed doesn't change. Therefore, this time is less accurate than the time given by the GUI (this cycle time accounts for the speed changes when the simulation runs until the end). 

You'll find some useful scripts that allow you to get cycle time estimates using the RoboDK API (available in C:/RoboDK/Library/Scripts/). These are the different ways you can get cycle time estimates:
  1. It returns a quick cycle time estimate based on the current robot speed and it does not account for speed changes in your program. Once you run a program you'll see a different time estimate. This estimate is based on the API function Update.
  2. or these 2 scripts use the InstructionListJoints function of the API which obtains more accurate cycle time estimates (similar to the GUI). If you have a pause in your program it won't be accounted for.
  3. This simply runs the simulation using the API and uses the internal simulation clock to get the joints vs. time curve and get estimated speeds and accelerations. This time estimate should be the same as the one given by the GUI.
More information about how RoboDK calculates cycle time here:


Users browsing this thread:
1 Guest(s)