Posts by Fubini

    Short answer: No they have no significance.

    But: Of course LINs have also an associated Status and Turn. But not necessarily those programmed by you when teaching your positions. Status is kept constant along the LIN move and has the value that Status happens to have when the LIN starts. Turn can change along the path and is created implicitly along the path. The motion interpolation always chooses each 12 ms cycle the axis values closest to the previous cycle axis values and on the defined cartesian line.


    When exactly does this happen?

    - In which operation mode?

    - How short are the moves?

    - Is it better when using SLIN instead of LIN?

    - Is it better if you use spline blocks instead of single motion command with blending?

    - Do you use blending? Which type with what blending configuration?


    Just to many possibilities with that minimum amount of information you are giving. Please show at least your program.


    Unfortunatly orientation control is not as simple as you expect. Is done using rotation and swivel with respect to a qualified axis usually the tool x axis.


    Yes APO_DIST is approximation distance in mm. APO_FAC on the other hand is a percentage value. In bas.src both are used to calculate corresponding system variable $APO. So lookup bas.src for your software version on how $APO is calculated and system variables manual to understand it and what units are used. Additionally look into system integrators manual to understand how blending works in general.


    Approximation Distance and approximation factor. Used in inline forms to store the programmed blending radii to define when blending from one motion to the next motion starts. To see how they are applied study bas.src together with looking into tbe system integrators manual and the system variables manual.


    I think the main costs are alle the necessary new licenses, mainly KSS 8.6 and Kuka Windows Embedded, you need to buy from KUKA and this is something that can not be avoided. Everything else would be software piracy and therfore illegal. If you can upgrade to 8.6 (which is running on windows side a Windows 10 version) depends on the mainboard version (MCC 20, 30 , ...) you have. I think these dependencies have been posted some time ago in this forum but I did not search for it now. But as always asking KUKA would probably also reveal this.

    Oops panic beat me to it.


    Totally agree deteriorated positions as you call it is something a process should never generate. Reteaching the positions is a solution if something like this happens but not the problem. The problem should be solved. So again: What is the problem? Otherwise if all points refer to a common base of course the "error" can be compensated by shifting the base as Leon said.


    Do not hit the robot! Thats cruel. :P

    Are those hits unidentienal or by purpose because you want to achieve something. If latter waht are you trying to do?

    Ever heard of CollissionDetection? Might be a direction for some cases.


    What does not exceed 2500 rpm? The axis or the servomotor. If it is the axis also rat_mot_ax needs to be considered.

    How do you know that desired velocity is not reached?

    Why is the axis set to linear by axis_type?

    If you want only to use a motor without kinematic integration why do you assign it external kinematic #EASYS.


    If this is your code you are only copying the variable and function prototypes into the program. Of course you need to declare and initialize your own variables and use them. Something like this:

    DECL SYNCTYPE mySyncTypeVariable
    DECL INT myCoopMask
    mySyncTypeVariable = #PROGSYNC
    myCoopMask = 'B00001'
    SYNCCMD(mySyncTypeVariable, "R2_R1", myCoopMask)

    or use the values directly

    SYNCCMD(#MOTIONSYNC, "R3_R4", 'B1001')


    Ok. So both controllers probably run different software versions. So of course stuff can change from version to version. Rights management has not been availabe for ages. I think it was introduced with 8.5 maybe late 8.3. It is too long for me to remember in detail. So you have no 2 controllers were its working in one and not the other one with same software. These are details that matter but you do not mention. Windows 10 is not the same as Windows 95! But anyways already 3 other solutions were proposed you did not check out:

    1. Compare KRCDiags for a hint into the correct direction
    2. Use authentication.config for always expert mode
    3. Contact KUKA customer support

    I think thats enough suggestions before comeing up with new ones again.


    The key here is probably that the value setting requires expert rights. If this is the case to change this either there is an option in the rights management or you need to set your controller to be always in expert mode by authentication.config. You said yourself you have controllers where it works. So compare rights managements options and authentication.config between working and non working controller. You could also create a KRCDiag of both controllers and file compare them. Maybe you can find a difference that contains a hint e.g. in smarthmi.user.config or other files.

    Of course you can also open a ticket in kuka support.


    If you use spline type movements you can add the parameters behind a WITH, e.g.

    SLIN XP1 WITH $VEL.CP=0.2, $ACC_AXIS[1]=100, .... C_SPL

    Also using the predefined BAS.SRC functions can be handy, e.g.

    BAS(#CP_PARAMS, 0.2)

    LIN XP1

    For geometric offsets you can use the : operator, e.g.



    with SHIFT before or after the : depending whether you want to shift in base or tool system.

    At best download system integrators manual from kuka xpert portal, see pinned topic READ FIRST in this subforum.


    Lookup forum search with keyword Authentication.config. Mostly anything concerning access change can be configured in there. Also a look into the rights management menu might be useful. Changes here need administrative priviliges.


    KUKA Sim can not open KRC2 Controller programs in any version. It can only generate KRL programs. To load and run them you need OfficeLite. You can interface pretty much any OfficeLite version from KUKASim.