KUKA Version V42.113.18.6/KUKA8.6 $IN_HOME variable

  • Hello


    I am having some challenges with programing the $IN_HOME signal. $H_POS variable stores the axis specific angles for the robot (A1-A6) as well as the 5 external axes (E1-E5). I am aware about the $H_POS_TOL variable for tolerance in detecting if the robot is at Home. The challenge I face is that the controller does not compare the external axes moving asynchronously to the determine if its at home. Following are the program specifics


    E6AXIS $H_POS={A1 0.0833542198,A2 -136.662125,A3 104.644592,A4 -0.0308768731,A5 87.5192490,A6 0.0677916929,E1 0.0,E2 0.0,E3 -29.2200,E4 0.0,E5 30.0000,E6 0.0}



    My current position is the Following as seeing from the SMARTPAD. As seen E1 is clearly away from its Home positon.


    {A1 0.08,A2 -136.66 ,A3 104.64,A4 -0.03,A5 87.52,A6 0.07,E1 180.0,E2 0.0,E3 -29.2200,E4 0.0,E5 30.0000,E6 0.0}



    Following is my Toleranace values for each axes for Home detection


    $H_POS_TOL={A1 2.00000,A2 2.00000,A3 2.00000,A4 2.00000,A5 2.00000,A6 2.00000,E1 0.00900000,E2 0.00900000,E3 0.00900000,E4 0.00900000,E5 0.00900000,E6 0.00900000}



    When I run a Small program with basically just one line of command to make my external axes asynchronous

    $ASYNC_AXIS = ‘B11111’. The controller turns the $IN_HOME signal true when its clearly seen that axis E1 is not at position defined in variable $H_POS.

    From my understanding, the controller tends not to compare the axis which are asynchronous for home detection

  • Hm... not sure I've ever run into that issue, but I haven't used a lot of Async external axes. So $IN_HOME not monitoring the Async axes seems plausible, at least.


    Have you tried using an $AXWORKSPACE instead of $IN_HOME to get the signal you need?

  • Code
    E6AXIS $H_POS={A1 0.0833542198,A2 -136.662125,A3 104.644592,A4 -0.0308768731,A5 87.5192490,A6 0.0677916929,E1 0.0,E2 0.0,E3 -29.2200,E4 0.0,E5 30.0000,E6 0.0}

    so where exactly is that declaration? normally this is in robot MADA. if you created another one in own DAT file, it would not be recognized until your program is selected.


    also where is your program code? don't describe what your program does, post actual file...

    perhaps you did add only one line but there may be other code. if there was PTP HOME for example it would reset the variable $H_POS by XHOME.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • OK, but one annotation:

    Comparing an axis value with == is a bad idea. Should be something like (the zero just for clarification, if E1 has to be a different value) :

    Code
    ... and (abs(E1-0)<0.2)
  • Yes thats true. Therefore I am using something like within a specific upper and lower limit

    ($IN_HOME2== TRUE) AND ($AXIS_ACT.E2 > -0.009) AND ($AXIS_ACT.E2 < 0.009).


    Thanks again in taking time to answer my questions

    hermann

Advertising from our partners