Fanuc Skip Touch

  • Hello to everyone,

    I am currently working with a Fanuc robot with Touch Skip option , problem is since it is my first time working with Fanuc and also with a servo gripper for that matter , i was wondering if you guys can give me some directions . I already tried the example that they have in the manual but as I see they have configurations only for the group 1 of axis and since i want to do it with my gripper that is configured on group 2 when i launch the program SETSKCOL it says that "Group 2 does not support HSCD" , they thing that i am trying to do is pick a truck tyre witch can vary so i need to use this option for it. I would really appreciate you help on the matter.


    Thank you in advance!

  • @Bas0601 Thank you , still I am having a problem with HSCD on group 2 after changing the variables :

    $SBR[n].$PARAM[112] = 2097152 / ($SBR[n].$PARAM[47])

    $SBR[n].$PARAM[119] = 7282

    $SBR[n].$PARAM[120] = -7282

    The only thing that those variables enabled is to change torque values in Axis Status screen witch is also something that I need but i cannot still insert values in Collision Guard screen for group 2.

  • Not sure if this will help or not as I have yet to use Touch Skip on anything other than Group 1....


    In the HandlingTool manual, there is a section called Collision Detect for Aux. Axis as BAS0601 mentioned. The variables you listed need to be changed and then a program to exercise the aux. axis needs to be written. Execute the program and check the min and max disturbance values in the axis status screen. Set the min and max allowed disturbance values to match those in the status screen and you should be done. All of this is laid out in the HandlingTool manual.


    On robots set up in this way, I order the Torque Limit for Aux. option, RTL-J611. Does this robot have the option?


    The system variable $MISC_MSTR.$HPD_ENB must be set to true and cycle power for touch skip to work. This variable is set to false from the factory.

  • @fastfingers Thank you for the info.

    I already managed to do it with the help of Fanuc techs here in Italy , but in regard to whoever should need it i will write the whole procedure here since there is no much info around the forum on this thing.


    Step 1.Go to variables and set the variables of $MISC_MSTR --> $HPD_ENB and select TRUE


    Step 2.Go to $SBR -->parameter 7 (or whatever aux axis you have configurated on robot) . Once there select $PARAM and find [112] and put value 310 (the value is based from dividing the 2097152 / ($SBR[n].$PARAM[47])) , then [119] set to 7282 and [120] to -7282


    Step 3.Do Power off/on (after you do this step the values of [119] and [120] will change based on what you write in [112] since the calculating value will be 309.something but you can only input a whole number so don't worry about it)


    Step 4.After doing this three steps the Disturbance threshold in the Status-->Axis page for group 2 will be enabled


    Step5.Now comes the part that is different from the manual . When you are creating the program it is not necessary to do the things like in the manual , instead if you bought the touch skip option for aux axis you will find programs inside your robot called CLSKP and CLSKP_EX. The CLSKP_EX is basically the explanation on how to create the program for torque detection that you need .I will also now copy the text form the explanation and then give you the program tat i made for detecting the part inside my gripper.


    CLSKP_EX:

    1: !NOTE: ;

    2: !First, set $MISC_MSTR.$HPD_ENB ;

    3: !to TRUE, and cycle power. ;

    4: ! ;

    5: !Program CLSKP_EX ;

    6: !Example program for Touch ;

    7: !skip function ;

    8: !Copy the lines of this program ;

    9: !and paste them into your program ;

    10: !and modify them if necessary. ;

    11: ! ;

    12: !Teach the point just before use ;

    13: !of Touch skip function to ;

    14: !P[98]. Motion type, position ;

    15: !number, and speed should be ;

    16: !modified if necessary. ;

    17:L P[98] 200mm/sec FINE ;

    18: ! ;

    19: !Sub program CLSKP(g,j,max,min) ;

    20: !Call this program just before ;

    21: !the motion while which touch ;

    22: !occurs. ;

    23: !NOTE: Registers R[96] to R[99] ;

    24: !are used in CLSKP. ;

    25: !Description of arguments ;

    26: !g: group number to detect ;

    27: ! touch ;

    28: !j: axis number to detect ;

    29: ! touch ;

    30: !max: if disturbance torque ;

    31: ! becomes greater than max, ;

    32: ! touch is detected ;

    33: !min: if disturbance torque ;

    34: ! becomes less than min, ;

    35: ! touch is detected ;

    36: !Set the appropriate value to g ;

    37: !and j. At first, use 99999 and ;

    38: !-99999 for max and min, ;

    39: !respectively. Then execute the ;

    40: !program from P[98] to P[99] ;

    41: !without touch, and set ;

    42: !$MOR_GRP[g].$MAX_DIS_TRQ[j] to ;

    43: !max and ;

    44: !$MOR_GRP[g].$MIN_DIS_TRQ[j] to ;

    45: !min. ;

    46: CALL CLSKP(1,1,99999,(-99999)) ;

    47: ! ;

    48: !Teach P[99] so that touch ;

    49: !can occur between P[98] and ;

    50: !P[99]. Motion type, position ;

    51: !number, speed, label number, and ;

    52: !position register number should ;

    53: !be modified if necessary. ;

    54:L P[99] 200mm/sec FINE Skip,LBL[99],PR[99]=LPOS ;

    55: ! ;

    56: !Modify label number if ;

    57: !necessary. ;

    58: LBL[99] ;

    59: ! ;

    60: !End of CLSKP_EX ;


    The program that I did for testing is this :


    1: --eg:Close gripper ;

    2: ;

    3: RO[1:Open Gripper]=OFF ;

    4: ;

    5: --eg:Set[g,j,max,min] ;

    6: CALL CLSKP(2,1,3000,(-3000)) ;

    7: ;

    8: --eg:Start position ;

    9:J PR[12:Open gripper] 100% FINE ;

    10: ;

    11: --eg:Start search ;

    12:J P[1] 100% FINE Skip,LBL[2],PR[13:Close gripper]=LPOS ;

    13: RO[2:Close Gripper]=ON ;

    14: ;


    Note!

    When you start with putting values for max and min torque start always with the lower values not like in the manual because if you don't modify the disturbance threshold and put the values like in the example above you can damage your gripper because of too much grip , instead start always with lower values like 500 for example and go higher until you reach the value that satisfy your needs , in my case the values that I needed are 3000 , -3000.


    Hope anyone who have the same problem as I did find this useful.

Advertising from our partners