SOLVED
I ended up using the SET_SYSTEM_DATA-function to change VelGain to the catalog value.
All problems were fixed.
SOLVED
I ended up using the SET_SYSTEM_DATA-function to change VelGain to the catalog value.
All problems were fixed.
It's a Kuka motor used for endless rotary motion.
As I mentioned in the first post, the catalog number is MG_64_KSP40 (MGS_64_110_35_S0). If that number isn't sufficient, please let me know how I should reference the catalog numbers.
It has been updated to use external kinematics v 42.18.7 and I'm working in WV 6.0.9_Build0584.
Default position window is 0.1 deg (default) which I have had success with on other projects using the same motor.
Positioning time is 512ms (default) which also has been successful on other projects using the same motor.
The only difference I can find in projects that work and this one is the difference in the catalog suggested VelGain value of 0.011 and the actual VelGain value of 0.0011.
"KSS01105 Positioning error E1"
As far as I remember
Hey!
Info at the bottom (let me know what else you need)
I'm having a lot of issues with an external axis of mine. When asked to move to a certain position programmatically, it will do the movement just fine, but stop and get a position error on ending the motion. The problem occurs no matter how I program the motion and with speeds as low as 20% rated and with with acc = 100). All machine parameters are set to default catalog values except transmission ratio, soft-limits and that the motor is set to endless.
So far I've been recommended changing positioning window ($IN_POS_MA) and $TIME_POS, but none of these are that appealing process wise.
The two remaining recommendations are drift compensation and controller tuning. The most plausible cause (in my opinion) would be the controller parameters, so I looked into that. I found that one of the control parameters (VelGain) differs from the catalog data by a factor of 10.
The control parameters are all in the "CtrlE1.xml" file which is write-protected and clearly states at the top that the file is "Generated" and you should "NOT EDIT".
Well, my guess is that I need to edit it anyway since the data is off.
So, 2 questions.
1) Do you agree, that the problem might be caused by the controller parameter?
2) How would I go about changing these parameters?
Thanks in advance!
Info:
Controller: KRC4
KSS: 8.5.8
Kernel system version: KS V8.5.465
Rob: KR60HA_3
External axis: MG_64_KSP40 (MGS_64_110_35_S0)
Catalog VelGain value:
0.011
CtrlE1.xml VelGain value:
0.0011
Thanks Hermann, I'll keep that as a backup plan
I still believe it should be possible to either ask it to go x amount of degrees from (Rev 0, deg 0) or simply give it a velocity and start/stop signal.
Thanks for a fast reply.
To the best of my knowledge it is. Atm i'm trying out:
$Async_Axis = 'B0001'
$OV_ASYNC = 75
AsyPos.E1 = 720
ASYPTP AsyPos ;Start rotation of roundtable
WAIT FOR $Async_State == #Idle
WAIT FOR TRUE
$Async_Axis = 'B0000'
I've tried both with and without a tick-mark in the "Asynchronous external axis" option of the "Menu / Configuration / Machine configuration" menu.
EDIT:
AsyPos is declared in the .dat file as:
Robot: KR60HA
External axis: MG_64_KSP40
KSS: 8.5.8
KS: 8.5.465
I have searched the forum but can't find any conclusive answer as to how to move an endless axis past 180 degrees.
I have an external axis that I've set to endless. Like many others I have experienced that when you jog the axis there is no problem going past 180 degrees while when you programmatically attempt to move the axis past 180 degrees it simply chooses the shortest route (the opposite direction than intended).
I've tried:
1) Moving to an E6POS with E1 = 180+, e.g. 720 deg
2) ASYPTP {E1 ....} both with and without #AS_PROG
Does anybody have a suggestion on how to do this?
A simple trick to make it understand full rotations for absolute positions or maybe just a "start"-signal and then I can stop it based on an interrupt?