Posts by casper

    Hello everyone ,

    I wanted to ask all of you for a suggestion on how to block certain signals in certain moment . I will explain:

    I have a KUKA robot that is using a Tool Change . In order not to open the Tool Change in the middle of nowhere I created a workspace for the Docking stations . My question is - Can I use this signal to block the signals to open/close tool change on robot and permit it only when the robot is inside the workspace . Can anyone write a suggestion how should I write the routine since I am not familiar with KUKA syntax.

    Thank you

    Hello everyone ,

    I have a problem with few KUKA robots . My client bought 5 used robots from a factory and want to use them for another project . Out of 5 of them 2 don't have any serious issues but the other 3 upon turning ON showed errors like :

    1.Error axis position from motor driver

    2.Drive initialization error (All axes)

    3.Machine data do not match robot type

    4.Supply initialization error (1)

    Since all of the robots are the same I checked the wov project of the two that are working and found some difference in project between them and the rest , then I modified the wov projects of the other 3 . After the modification there are no more errors from the list above but now I am getting the error "Communication error AT-CF (255)" . I tried also putting back their original project that they had upon arrival and after that I get back all the previous anomalies . The robots are KR C4 with V8.2.22 software.

    Thank you in advance for any help.

    Thank you for your reply PnsStarter ,

    I just checked the manual and you are correct , since I have the configuration on every PR for axis 6 equal to 0 (-179 , 179) my robot will always have this issue , i will try to use the linear movements only on critical position even though i prefer only joint because of cycle time.

    I will try to ask also Fanuc to see if there is something else that i can do since I have 4 tools on gripper that in total makes a round of 360 degrees so I need to work this way since I also don't know which tool I am using since the positions may wary all the time .

    Hello everyone ,

    I have a problem with movements with PR positions on a Fanuc M-20iD. Basically what is happening is that since I am using only PR positions to move because of the 4 different tools that i have the robot in certain points will rotate the tool for 360 degrees while using the same tool in the config. I tried to reteach the point and it always happens the same. I also noticed that it only happens if for example the starting movement is at -178 and the next point is at -180 or more the robot would rotate the gripper 360 degrees on the other side to reach the point. I don't know if this is normal behavior since it is the first time that I encountered this problem. If someone had the same problem or know how to resolve this I would be very grateful.

    Thank you in advance!

    Hello HawkME ,

    thank you for the reply , I managed to solve my problem and I wanted to share the information with everyone that want to use the method that I am using. In the PROG SELECT menu I have :

    1.Program select mode : OTHER

    2.Production start method : OTHER

    In the program select mode the variable $shell_wrk.$cust_name is set to my MAIN program so that every time that the UI[6](START) is on I start from the begging of the MAIN program. Since I said previously that I didn't like that I couldn't CONTINUE from a certain point where the robot stopped during cycle I found also a solution for that . In the variable $shell_wrk there is another variable called $cust_start witch is basically the Start only as CONTINUE so creating a BG Logic where I can see an DI from PLC( in a specific case of course) I set this variable on 1 giving the robot permission to CONTINUE without resetting the MAIN program. the PLC programmer already made the modifications on the Start cycle button so that when I am in HOME he sends me UI[6] witch reset my MAIN program and when the robot is working and stops for a PLC error or any other reason another DI that set my variable $shell_wrk.$cust_start on 1 for CONTINUE cycle.

    In any case I thank you everyone for the support you gave me.

    Hello guys ,

    thank you for your replies , I appreciate your help . I've done some test with the things that your wrote and I also found that if I set the variable $shell_start to TRUE every time that i start the cycle the robot will go back to the begging of the MAIN program , and even if that's something I needed I still don't like that now I cannot continue a program even after setting the START FOR CONTINUE ONLY to TRUE. Even though I think that FANUC is one of the best robots around it is still limited in some things. In any case , thank you for your support and have a nice day.

    Hello Mastro_18 , thank you for replying ,

    right now I am using the PR as my positions for the working program since i need to use 4 different tools depending on the situation (if all grippers are full or no) since i didn't wanted to make more than 130 programs and only PR let's you call a position even if tool and frame are different (since my grippers change configuration on axis 6 for 90 degrees ) , every time a robot passes a PR he sets a value on a GO(example PR1 sets GO[1]=1) and with that I know the last known position that robot passed through so when i call the Macro he checks the GO and with that takes the correct trajectory home . I saw that you wrote to put an IF at the begging of the program but doesn't he checks the IF only when he passes that line? I tried with Conditions but since Fanuc doesn't let you put motions in condition or for that matter even macros with motions (as in my case) I put the macro into the Macro setup page , when i give it CSTOP and simulate the input that I used to activate auto HOME everything it's working as far as the movements goes , but the page in editor that you see is always inside the program where the CSTOP occurred and when I press Start from the HMI the robot continues from the line where it was stopped before. On Comau robots it lets you DEACTIVATE a program so that way i was always able to put a CALL MAIN at the end of auto HOME and the robot would go back to the begging of the MAIN program , that's why I was asking if it's possible to use some similar command on Fanuc since I don't have a lot of experience with him.

    Hello everyone ,

    I got a question regarding macros working in the background. Basically I made a program on the robot that returns automatically to HOME position if the robot is stopped during process because the client don't want the operators to touch the TP(they want to command it from PLC HMI). My problem is that even though the program is working in the background once it's finished the main program(the one that the robot was using before recalling it to HOME) remains always on the same line and when he gets the start input he continues from the line where he was stopped instead of starting from the begging . Since I don't have a lot of experience with Fanuc my question is , is there a command like DEACTIVATE or INIT so that I can start the process from the begging once the macro finished it's work.

    Thank you in advance!

    @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.


    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: ;


    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.

    @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.

    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!

    Hello guys ,

    I am new to Fanuc robots and I have a little problem with the Safety configuration .

    While reading the manual I saw that i would be able to set the emergency I/O through a menu called Safe I/O Connect menu , problem is that I am unable to find the menu in the DCS page , the only options for I/O that i have are Safe I/O Consistency check and Safe I/O device.

    Is there a variable in the system that need to be enabled in order to access this page like for the mastering or am I just missing something.

    Thanks in advance!