Can a program be run at a % of top speed?

Hi my first time on this forum. :slight_smile:

Just a quick question. Is there a really easy way to quickly increase the whole speed-of-movement of a program?

For example a program is written so that a ram makes a set of 5 in/out movements each move has a different position/speed/accel/decel, total time say 30 seconds

Is there a way to scale up and down the entire time it would take to complete this whole program? Such that I could change a “master” setting to make the whole move happen say 20% faster or 30% slower etc…

Thank you

Pete B

Instead of specifying the speed and acceleration for each step, you can use a single variable and specify the speed and acceleration as a multiple of that variable.

Let’s say your max speed is 10 in/s. You want to move out at half speed (5 in/s) and then back at full speed. You want the accel and decel around 100 in/s. To do this, make one variable called “Speed” and specify all of your velocities and accelerations as a multiple of speed (like 0.5 * Speed for 5 in/s). Now when you change the Speed variable, all of your velocities and accelerations will scale accordingly.

Thank you, nice idea.

As most commands use a time component in the calculations such as acel/decel/velocity etc It would be great if there was a way of changing the whole system time by a % and have everything automatically adjust… (The clock of the RMC as a variable changeable by a %?)

So a program could be written and tested slowly at first then ramped up to full speed…and maybe beyond. Is this possible? Or does each command have to be edited or a global variable assigned such as your example?

I’ve used a very basic motion control system before that had a slider bar which could change the speed of the whole program by a %. Maybe Delta Motion is too advanced for this to be a simple solution?

Thank you again


Part of it does have to do with just being a more advanced motion controller. Since you have more flexibility with variables, programs and expressions you are able to do a lot more which includes speeding up and slowing down a cycle dynamically using the method I outlined above.

Also note that all of our speeds are defined in position units per second, so if you are scaled in inches, that would be in/s. Since you are explicitly commanding the speed to a certain value, it would be confusing if you told the cylinder to move at 1 in/s and it took 2 seconds to move an inch.