Posts by NBright

    So, I have a FANUC 2 robot welding setup that I am trying to toggle the error between global to local. The arms are far enough apart that collision is not a concern, so I'd like one robot to be able to finish its weld if the other has an error. I have a background program that appears to be working, with the variable menu open I can watch the value go between true and false, but it does not stop the program as I'd hoped. My best guess is that the global variable only gets checked at the initial call and it changing during execution does not affect anything. If I am right is there a way around that or any other suggestions that would meet the same goal? Background progam is below, DO[]s are the arc on for each welder.

    Code
       1:  IF (DO[33] AND DO[49]),F[100]=(ON) ;
       2:   ;
       3:  IF (!DO[33] AND !DO[49]),F[100]=(OFF) ;
       4:   ;
       5:  IF (!F[100]),JMP LBL[1] ;
       6:  $awscfg.$global_er=0 ;
       7:  LBL[1] ;
       8:   ;
       9:  IF (!F[100]),$awscfg.$global_er=(1) ;

    Just stumbled across this looking for other things, but here the method I came up with to stop the at the start of welds for operator touch up. Made the program below, assigned every weld a flag number, call the program before every weld, and set the argument to the corresponding flag. It won't well at 99% speed so it stops right the weld point.


    1: IF (F[AR[1]]),$MCR.$GENOVERRIDE=(99) ;


    2: F[AR[1]]=(OFF) ;

Advertising from our partners