Hello,
I am trying to find a way to increase the speed dynamically upon the same principle of VelSet and SpeedRefresh.
For instance, I would like to be able to override the current speed and set it to 110% for example.
Is there an alternative to initially setting a nominal speed twice as fast as desired on purpose, and using Velset based upon that larger virtual nominal speed ?
Thanks in advance for any suggestion
Dynamic speed increase
-
dapernet -
August 3, 2023 at 4:30 PM -
Thread is Unresolved
-
- Go to Best Answer
-
MOM
August 3, 2023 at 4:51 PM Approved the thread. -
-
Hey,
Thank you for your message however, my goal is to change the speed on the fly e.g. while the robot is moving, which I think is not possible with your suggestion... Do you see any other alternative ?
-
- Best Answer
Hey,
Thank you for your message however, my goal is to change the speed on the fly e.g. while the robot is moving, which I think is not possible with your suggestion... Do you see any other alternative ?
How are you wanting to change the speed? Programmatically? Or with an external input (like a speed dial)?
If you are wanting to change speed manually without interrupting the robot operation, you are looking at something akin to a Hot Edit in welding. A variable or input that is allowed to be modified in AUTO. Change that value and it updates the speed accordingly.
Alternatively you could tie into an Analog Input with a speed dial, and set speed according to that input.
Either way, you will have to either run a background task or set up an interrupt to update the speed value while your main program is running.
-
I would like for an operator to be able to set a desired velocity via an external PC, more like a speed dial then.
So I guess the interrupt version is the adequate one. I am unsure if the update is effectively considered once a MoveL xxx,speedxxx ... has been set for example. I'll try it out.
Still, it feels a bit unlogical to me to have a speedrefresh function that only enables speed reduction and no speed increase... Anyway
I've checked the Hot Edit window more in depth and it seems like it is only made for target position update, by the way, but no speed update
Thank you so much for your input ColoradoTaco !
-
Still, it feels a bit unlogical to me to have a speedrefresh function that only enables speed reduction and no speed increase... Anyway
Well I think the design intent with the ABB speed settings are that you write your move instructions at either an "ideal" speed, or a "fastest possible production" speed. The PERCENT adjustment is really just there to slow things down for testing purposes, or if you have a temporary equipment issue that requires running at a lower speed.
A lot of people will program everything they possibly can at V3000 or VMax, then run at 50%, but it's not really good engineering practice, and ABB tech support would definitely scold you for it.
If I may ask... why do you find it necessary to alter you program speed so frequently?
-
Still, it feels a bit unlogical to me to have a speedrefresh function that only enables speed reduction and no speed increase
100% is 100%. The actual motion speed of a point is its programmed speed (V1000, VMax, etc) multipled by the Override %. In the case of VMax, with 100% Override, that is the physical maximum of the robot, full stop. No "our knobs go to 11, you see" Spinal Tappage.
As ColoradoTaco said, robots are built around the assumption that the the nominal path speed operates at 100% Override, and Override reduction is used for reduced-speed testing.
It's possible to create your own velocity variables in RAPID and change their value on the fly, and program your points using these variables. There will be a lag, however, b/c the robot pre-loads motions a few points ahead (default 3, IIRC). Adjusting the Override has a more immediate effect.
-
Well I think the design intent with the ABB speed settings are that you write your move instructions at either an "ideal" speed, or a "fastest possible production" speed. The PERCENT adjustment is really just there to slow things down for testing purposes, or if you have a temporary equipment issue that requires running at a lower speed.
A lot of people will program everything they possibly can at V3000 or VMax, then run at 50%, but it's not really good engineering practice, and ABB tech support would definitely scold you for it.
If I may ask... why do you find it necessary to alter you program speed so frequently?
I see, thank you or this explanation ColoradoTaco !
The reason for changing the speed frequently is that in the framework of extensive testing, I want the operator to be free to variate the speed his own way during the robot moves (so as one would do with ArcRefresh and welddata for example)
SkyeFire thank you very much too for this clarification about on the fly !Very helpful answers
-
dapernet happy to help!