Stopping Robot @ the start of a weld.

  • Hello, I have a Fanuc ArcMate 120iC with an R30iB controller and I was interested in seeing the various methods I could use to stop the robot @ the start of a weld to enable easy reteaching for our Weld Technicians.

    As a kind of proof of concept, I created an HMI display with 8 push buttons which correspond with 8 welds on a part. For each push button selection a digital input is sent to the robot, for example, DI[60]-DI[67].

    I would like to see what people thought the best method for stopping the robot might be, right now I am considering $SSR.$SINGLESTEP=1 or PAUSE but I am not sure how to implement on the teach pendant side which will result in the robot stopping @ the arc start of the weld or an approach point right before the weld.

    In theory what I would like to do is this,

    IF DI[60: Weld Select from HMI]=ON, PAUSE or STEPMODE

    J P[1] 40% FINE
    Arc Start[1]

    PULSE DO60 to reset Weld Selection, or Reset at end of program so it doesn't keep stopping.

    As far as I know, there isn't a way to PAUSE or set a System Variable at the end of an IF statement is there?

    Open to any ideas or suggestions.

    Thank you for your time.

  • Thanks for the suggestion. That would probably be the simplest solution.

    I could be wrong, but doesnt the robot actually stop for a brief second while it examines the WAIT statement?

    The program I plan to scale it up to has 34 welds per robot

    Not 100% sure on that tho

    Edited once, last by Nddwind ().

  • We have a schematic with each weld numbered, and a system we are considering is one in which the tech can select a weld on the HMI and the PLC will then set a specific register equal to that number. Then inside the program, before each weld, will be logic checking the register value, like this.

    If R[1] = 1 Then Pause
    //Do Weld #1

    If R[1] = 2 then Pause
    // Do Weld #2


    That way, the tech can tell the robot "stop at weld #7", and the robot will run to weld #7 and then pause for them.

  • 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) ;

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now