Hello People, How are you?
Can I change linear motion speed from 2m/s to 3m/s? I had information that can be configured by regedit, but I'm not finding the file to change it. Has anyone done this?
Hello People, How are you?
Can I change linear motion speed from 2m/s to 3m/s? I had information that can be configured by regedit, but I'm not finding the file to change it. Has anyone done this?
Inside inline forms GUI? I do not think this is possible in general.
In expert KRLprograms you can usually use velocities with up to 3 m/s (lookup $VEL_MA inside R1/$machine.dat or VarCor).
There is a not recommended hack for inline forms as well. If you open the fold inside your KRL program the velocity is part of the BAS.src call as a scalar. So you can replace directly in the src but anytime someone opens the Inline form GUI it will get overwritten again. Also DEF_VEL_CP in $custom.dat needs to be increased to 3.0 (default 2.0) to be able to use this hack otherwise the bas.src will complain.
Fubini
Thanks for reply fubini!
I found the variable and it's already at 3 m/s, but in the program I can't change it to that speed. How do I change?
As I said before you can not from inside the inline form menu. Probably my previous explanation of the hack is not understandable. Only with the plain editing of the src file you can do this. The limitation to 2.0 in the inline form menu to 2.0 is hard coded inside the controllers source code and can not be altered. The inline form maps the velocity menu item entry to the Bas call you see when you open the inline form fold. You can edit the src file directly by replacing the value of the Bas call with 3.0. But as said before this manual edit will get lost if the inline form menu is opened and closed again. The better alternative for your use case would be to not use inline forms at all. Instead write plain expert KRL code.
Btw. Regedit is a program to read and edit the windows operation system registry. There is no special file to select with regedit. Windows only has a single registry. On the controller under c:/krc/ there are a few *.reg files to set or unset options like for example hibernate vs. cold boot if double clicked. But afaik there is no file to change maximal velocity in inline forms menues since afaik this limitation is not part of the registry but part of the controller source code binaries.
The Fold you are referring to is this one?
Or this line in .dat?
In bas.src, I found 3 variables, but none of them are linked to a value 2.0.
No, it's the call to BAS.SRC inside the ILF. In Post #5, you were in the right place. You need to use the Open Fold button on that ILF.
When opened, a LIN ILF will look something like this:
The command BAS(#CP_PARAMS, 2) is sending a velocity of 2m/s to BAS. You can hand-edit this value to 3.
However, as Fubini said, this is not recommended. For one thing, if you ever do a TouchUp on that ILF, it will revert back to 2m/s. Also, there are some risks in pushing the robot to 3m/s -- 2 is the official supported limit. I'm not sure if pushing the robot to 3m/s will void the warranty or not, but it will definitely make the robot wear out faster.
The 2m/s limit is enforced in the way the ILF menu is built, at the user-interface level, not at the system level. There may be a hack to expand the ILF limits, but I don't think I've ever seen it done.
inline form editor is part of HMI and it does not care about BAS.SRC.
not sure where the 2m/s limit is, it could be hardcoded, set in one of configuration files or perhaps in registry. i have not seen such entry so most likely it is hardcoded. if it is in registry, i would expect to be in HKLM\Software\KUKA Roboter GmbH\KUKA BOF\....
Thanks for the reply!
I tried to search in all folders (I opened all folders) and registers of \KUKA BOF, but I didn't find any register about movement speed. I also tried to do a global search for registers named "velocity", "speed", "linear", "motion", etc. But I didn't find anything! I tried to open some more folders besides KUKA BOF, but without success.
I'm trying to improve some robot movements but I need some linear points faster, with 2 m/s the robot performs these slow movements due to interpolation.
Then do not use inline forms. Inline forms are just a simple graphical user interface to generate KRL code. More precisely BAS calls. BAS.src is a set of krl subroutines used by the inline form generated krl code to run the programmed motions. You can always write KRL code yourself. If you directly write the KRL code you can program velocities up to $Vel_ma.cp.
$vel.cp = 3
Slin {x 100, y 100, ....}
should run the robot with 3 m/s (if the velocity is not overstressing the robot).
Fubini
as suggested, setting velocity over 2m/s is easily possible if one is NOT using standard inline form motion instructions. one can of course make own instructions. that is what UserTech is for.
Thanks for all help.
I'll use the speed in the SRC folds, I tested it and if I touchup the point, the speed doesn't change, only if I want to change the inline form, something that won't happen after the robot is installed.
something that won't happen after the robot is installed.
If that is really the case then you could delete the Fold and the endfold (those two lines starting with a “;“ ) lines. Then it no longer is recognized as a inline form and can not be edited by accident. From a Krl point of view lines starting with ; are just comments.
Here is a beer 🍺 for everyone. Post #1000 reached 🎆.
I assume you are talking about inline forms then you can not change it. In expert KRL programs you can go to the smallest value unequal zero representable by a KRL Real type by assigning this value to $vel.cp.
Fubini