User Tools

Site Tools


robotics:rg

RG Robot

Notes

Inputs

SDI1start leftSDI2start right
SDI34 leg leftSDI43 leg left
SDI54 leg rightSDI63 leg right
SDI7bot sw left tip cleanSDI8bot sw right restart
SDI9door prox leftSDI10door prox right

Outputs

Outputs One and Two are pulsed or momentary. You need only turn it on. It will turn itself off after the time duration set in the robots configuration. All other outputs come on and stay on until they are turned off (SOF,x)

SDO1 R2 Left SDO2 R2 Right
SDO3 CR3 Left SDO4 CR4 Right
SDO5 CR5 Left SDO6 CRF
SDO11 amber light left SDO12 amber light right
R2 unlatches start input
CR3 cuts in left side prox
CR4 cuts in right side prox
CR5 side door fence
CRF fence bypass


S codes

S codes allow IO S codes to remember:

SON,a = turn on SDO a SOF,a = turn off SDO a this is not needed if output is pulsed (1&2 are pulsed)

S98,## = call program number ##

S10,## = increment register ## by 1 S11,## = decrement register ## by 1

S85,aa,bb = when input aa turns on, jump to label bb

S86,b,n b=1-48 n=0-99 wait for specified time in setting data 30 for input signal b to be on, if on execute next statement, if off jump to label n If n = -1 process remains looped

S87,b,n b=1-48 n=0-99 wait for specified time in setting data 30 for input signal b to be off, if off execute next statement, if on jump to label n If n = -1 process remains looped

Tables

Program Numbers

Been using weave to try and get good weld on bottom with no burn through since it doesn't stay in one place too long. At the suggestion of Aaron and Jim I am dropping back to simpler weld. Program number 11 is main menu program for new programs and program 10 is for the older weave programs. I put a W in the description of the programs that use weave.

Number Weave Leg Side Number Plain
68 3 LEFT 58
69 4 LEFT 59
78 3 RIGHT 88
79 4 RIGHT 89

:-)

Work Coordinates

Work coordinates allow you to set X and Y movement. I have set up 3 and 4 to have parallel movement to the arm angles on 3 and 4 leg. Using these coordinate systems allows for less movement during weld setup.

work coord 2

X 717.95 P 174.48
Y -593.86 Q 8.37
Z -22.95 R -91.02

right angle with edge of pan

work coord 4

X 990.07 P 179.99
Y 515.28 Q -0.01
Z 52.89 R -48.02

positive X and Y at same angle as front legs 4 leg pan

work coord 3

X 929.33 P 179.99
Y -414.28 Q -0.01
Z -16.64 R -30.28

positive X and Y at same angle as front legs 3 leg pan

Tool Center Point

Using tool center point 2. Got these figures using arm that Chip made for me to mount on end of wrist axis - it reaches the end of the weld torch for Y and Z measurement.

TCP 2

X375.9
Y-7.9
Z-3.1

Weld Data

Robot calls this Weld Data and not weld parameters. The numbers are amps and volts. The numbers on the end are what the feedback loop read the last time it was run. One and three are used for the end of the leg where it attaches to the bottom pan which becomes the front of the product. Two is used for the middle of the leg and what becomes the middle pan.

NO. CMV CMA FEEDBACK
N001 8.0 V 38 A 9.3 V 23 A
N002 7.0 V 60 A 10.1 V 39 A
N003 8.0 V 50 A 9.7 V 31 A

Welding Program Layout

Please note that right and left sides have the same logic, but different inputs/outputs according to the side. There is only one example below. Fill in the different I/O for the other side.See input assignments or output assigments for correct I/O for a right or left side.

S codes at top of weld programs O58 O59 O88 O89

N0001   LBL,1 S85,9,20 S85,8,10 JMP,1 
        BE
  • LBL,1 label 1
  • S85,9,20 If input 9 is ON (left door prox) goto label 20
  • S85,8,10 If input 8 is ON (bottom right switch) goto label 10 (near end of program - cancels program).
  • Jump to label 1
  • BE block end
N0002   LBL,20 SON,1 SON,5 SON,3 SON,11 
        BE  
  • LBL,20 label 20
  • SON,1 turn output 1 ON (unlatch start input)1)
  • SON,5 turn output 5 ON (door prox relay)
  • SON,3 turn output 3 ON (sliding door prox left)
  • SON,11 turn output 11 ON (amber light left)
  • BE block end

logic

Welding

The robot is sending both digital and analog information to the welder interface to set the weld heat. The robot uses a weld schedule to store volts and amps that it will send to the welder interface. If you see AS,2 , that means start an arc and use weld schedule 2. weld schedule 2 is used for all middle leg welds. If you see AS,1 or AS,3 the weld is on the end or foot of the leg. Weld data is above

4 leg end weld in O59 and O89

N0004 P F50%                            
        AS,3 BE  

N0005 L F0005M                          
        AS,1 BE  

N0006 L F0012M                          
        AE BE  

The 4 leg end weld uses three movements and two heats.

3 leg end weld in programs O58 and O88

N0004 P F100%                           
        AS,1 BE  

N0005 L F0006M                          
        BE  

N0006 L F0012M                          
        AE BE  

The 3 leg end weld uses three movements and one heat.

Middle Weld

N0023 P F100% CNT,8                     
        AS,2 BE  

N0024 L F0004M                          
        AE BE  

Middle leg welds are one move one heat.

Welding end

cleanup near end of program

N0036   SOF,5 SOF,3 SOF,11 S10,0 S10,2  
        S10,3 BE  
  • SOF,5 turn OFF output 5
  • SOF,3 turn OFF output 3
  • SOF,11 turn OFF output 11
  • The above 3 are reseting the fence circuit so the door can be moved and turning OFF the amber light - amber light OFF means we can move the door.
  • S10,0 add 1 (increment) to data register 0
  • S10,2 increment data register 2
  • S10,3 increment data register 3
  • The above counters will be different between left and right - see counter registers below.

end and count

label 10 at end of program

N0039   LBL,10 SON,1 PE  

SON,1 turn on output 1 (momentary or pulse)

PE end this program. Control will be returned to the program that called it on the line below the call.

label 10 is a way to cancel weld start

Main Program

Main or menu type program. Calls all the other programs See input assignments above

Full Program BE = block end PE = program end

** ARC Mate  PROGRAM **
O0011 [MAIN P2                 ]
N0000 P F100% CNT,8                     
        BE  
N0001 P F100% CNT,8                     
        BE  
N0002   SON,1 SON,2 SOF,3 SOF,4 SOF,5  
        SOF,6 SOF,11 SOF,12  
N0003   LBL,1 BE  
N0004 P F100% CNT,8                     
        BE  
N0005   S85,1,20 S85,2,30 S85,7,40 JMP,1
        BE  
N0006   LBL,20 S86,4,22 S87,3,22 S98,58 
        JMP,1 BE  
N0007   LBL,22 S86,3,1 S87,4,1 S98,59  
        JMP,1 BE  
N0008   LBL,25 JMP,1 BE  
N0009   LBL,30 S86,6,32 S87,5,32 S98,88 
        JMP,1 BE  
N0010   LBL,32 S86,5,1 S87,6,1 S98,89  
        JMP,1 BE  
N0011   LBL,40 S98,22 JMP,1 BE  
N0012   PE  

program O001

Main Logic Explained

Main Logic

N0002   SON,1 SON,2 SOF,3 SOF,4 SOF,5  
        SOF,6 SOF,11 SOF,12  

This line is at the top of the program and is only executed at startup. This turns OFF all outputs. Note outputs one and two are pulsed or momentary and they unlatch the start inputs (relay). See output assignments above

N0003   LBL,1 BE

Label One

N0004 P F100% CNT,8                     
        BE  

Movement (start position)

N0005   S85,1,20 S85,2,30 S85,7,40 JMP,1
        BE  
  • S85,1,20 if input 1 is ON (start left) goto label 20
  • S85,2,30 if input 2 is ON (start right) goto label 30
  • S85,5,7 if input 7 is ON goto label 40
  • JMP,1 jump to label 1. Label 1 is above and this makes a loop.
N0006   LBL,20 S86,4,22 S87,3,22 S98,58 
        JMP,1 BE  
  • LBL,20 label 20
  • This label and label 30 is the decision logic to decide which part to do - 4 leg or 3 leg
  • Note: setting data 30 is wait time for S86 and S87 instruction
  • S86,4,22 wait for input 4 (3leg left) to come ON, if it does goto next statement, if doesn't jump to label 22
  • S87,3,22 wait for input 3 (4leg left)to be OFF , if it is OFF goto to next statement, if it is ON goto label 22
  • S98,58 call program 58 (3 leg left)
  • JMP,1 goto label 1 (start over). This line is where we continue when program 58 is done.

INputs 3 and 4 are switches on the legs on the left side. If the 3 leg switch is ON and the 4 leg switch is OFF, it is safe to start the 3 leg left program. Any other condition sends us to label 22 where we can test for other conditions.

N0007   LBL,22 S86,3,1 S87,4,1 S98,59  
        JMP,1 BE  
  • LBL,22 label 22
  • S86,3,1 wait for input 3 (4leg left) to come ON, if it doesn't goto label 1 (start over).
  • S87,4,1 wait for input 4 (3leg left) to goOFF, if it doesn't goto label 1 (start over).
  • S98,59 call program 59 (4leg left).
  • JMP,1 goto label 1 (start over). This line is where we continue when program 59 is done.

INputs 3 and 4 are switches on the legs on the left side. If the 4 leg switch is ON and the 3 leg switch is OFF, it is safe to start the 4 leg left program. Any other condition sends us back to the start to try again.

N0008   LBL,25 JMP,1 BE

I think this is a remmanent of code cleanup. It does nothing but go back to the top at label one. I will remove it first chance I notice it and remember it. this a note to same.

N0009   LBL,30 S86,6,32 S87,5,32 S98,88 
        JMP,1 BE  
  • LBL,30 label 30
  • S86,6,32 wait for input 6 (3 leg right)to comeON, if it doesn't goto label 32
  • S87,5,32 wait for input 5 (4 leg right)to go OFF, it it doesn't goto label 32
  • S98,88 call program 88 (3 leg right)
  • JMP,1 jump to label 1 (start over) - this instruction will be the next one after program 88 has finished.

INputs 6 and 5 are switches on the legs on the right side. If the 3 leg switch is ON and the 4 leg switch is OFF, it is safe to start the 3 leg right program. Any other condition sends us to label 32 where we can test for other conditions.

N0010   LBL,32 S86,5,1 S87,6,1 S98,89  
        JMP,1 BE  
  • LBL,32 label 32
  • S86,5,1 wait for input 5 (4 leg right) to come ON, if it doesn't goto label 1 (start over).
  • S87,6,1 wait for input 6 (3 leg right) to go OFF, if it doesn't goto label 1 (start over).
  • S98,89 call program 89 (4 leg right)
  • JMP,1 goto label 1 (start over) - this is the next instruction after program 89 finishes.

INputs 5 and 6 are switches on the legs on the right side. If the 4 leg switch is ON and the 3 leg switch is OFF, it is safe to start the 4 leg right program. Any other condition sends us back to the start to try again.

N0011   LBL,40 S98,22 JMP,1 BE  
  • LBL,40 label 40
  • S98,22 call program 22 (tip clean).
  • JMP,1 goto label 1 (start over).

main menu program O001

Program Numbers and their function

PROG Task
1 Main program - calls other programs
3 clear all
4 outputs off
22 tip clean
25 recover left
26 recover right
58 3 leg left
59 4 leg left
66 zero
88 3 leg right
89 4 leg right

Counting Registers

There are counters in each of the programs that store counts in the first 8 registers. Press the DATA key to get to the registers.

N000 3 Leg Left Count N005 3 Leg Right Count
N001 4 Leg Left Count N006 4 Leg Right Count
N002 Total Left Side N007 Total Right Side
N003 Total Count

Teach Pendant

TP functions

1)
output 1 is momentary on
robotics/rg.txt · Last modified: 2014/09/14 12:27 by rfile