SDI1 | start left | SDI2 | start right |
---|---|---|---|
SDI3 | 4 leg left | SDI4 | 3 leg left |
SDI5 | 4 leg right | SDI6 | 3 leg right |
SDI7 | bot sw left tip clean | SDI8 | bot sw right restart |
SDI9 | door prox left | SDI10 | door prox right |
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 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
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 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 |
work coord 4
X | 990.07 | P | 179.99 | |
---|---|---|---|---|
Y | 515.28 | Q | -0.01 | |
Z | 52.89 | R | -48.02 |
work coord 3
X | 929.33 | P | 179.99 | |
---|---|---|---|---|
Y | -414.28 | Q | -0.01 | |
Z | -16.64 | R | -30.28 |
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.
X | 375.9 |
---|---|
Y | -7.9 |
Z | -3.1 |
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 |
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
N0002 LBL,20 SON,1 SON,5 SON,3 SON,11 BE
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
3 leg end weld in programs O58 and O88
N0004 P F100% AS,1 BE N0005 L F0006M BE N0006 L F0012M AE BE
Middle Weld
N0023 P F100% CNT,8 AS,2 BE N0024 L F0004M AE BE
cleanup near end of program
N0036 SOF,5 SOF,3 SOF,11 S10,0 S10,2 S10,3 BE
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.
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
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
N0006 LBL,20 S86,4,22 S87,3,22 S98,58 JMP,1 BE
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
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
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
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
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 |
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 |