Hi Guys,
My depalletizing program is currently trying to depalletize boxes from a container. The boxes are stacked in the container. There are a total of 6 layers that need to be depalletized. After each depalletized layer, the user frame with the corresponding position variables (P1-P6) is moved down by the corresponding offset. This process is repeated until the entire container has been emptied. The problem with this is that only the approach and the positions of the boxes are to be shifted by the offset, but not the position above the container from which the boxes are transported to the conveyor belt. The position variables P1-P6 are specified in reference to user frame #1 and it is precisely this that is shifted downwards or upwards by an offset of z = 150000 using SFTON P[0] UF#(1). The other position variable, which should remain fixed, is assigned to user frame #3, so I thought that this would be excluded from the SFT operation, but this does not seem to be the case. After the SFT ON, all positions are shifted by the specified offset regardless of which user frame they are assigned to. Is there another way to really only move the positions that are linked to the userframe? The jobs for the individual boxes are called up by a master job, which is also responsible for the shift. Here is my code :
MASTER :
/JOB
//NAME M4STER
//POS
///NPOS 0,0,0,0,0,0
//INST
///DATE 2024/10/02 08:13
///ATTR SC,RW
///GROUP1 RB1
NOP
SETE P[0] (3) 150000
SET D051 150000
SET B050 0
WHILE B050<6
CALL JOB:P1D
CALL JOB:P2D
CALL JOB:P3D
CALL JOB:P4D
CALL JOB:P5D
CALL JOB:P6D
SFTON P[0] UF#(1)
ADD D051 150000
SETE P[0] (3) D051
INC B050
ENDWHILE
END
!!!!Now job P2D!!!
/JOB
//NAME P2D
//POS
///NPOS 0,0,0,0,0,0
///TOOL 0
///POSTYPE PULSE
///PULSE
//INST
///DATE 2024/10/02 12:39
///ATTR SC,RW
///GROUP1 RB1
NOP
MOVL P[21] V=1000.0 PL=0
MOVL P[2] V=1000.0 PL=0
MOVL P[21] V=1000.0 PL=0
MOVJ P[100] VJ=100.00
END
Here again the last instruction (MOVJ P[100] VJ=100.00) from P2D should not be moved. Unlike the others, this one is also specified in reference to user frame #3 and not to UF#1 like all the other positions, so I don't really understand why this one is also moved. I'm fairly new to programming Motoman robots so please be forgiving of any obvious mistakes or errors in reasoning on my part. Thanks in advance!