Hello everyone,
I'm trying to create a program using robot language that can palletize, without having to use the "Palletize Function" (The excessive rotations of the robot made me quit trying to use the function and instead opted to create a programme using a pose file and manual shifting).
The problem is, the robot goes to all the places fine and shifts vertically well, but the different palletizing position are shifting randomly (apparently).
I use the "System!" function to get the current position of the robot as it reaches the coordinate of the pose file, but, somehow, instead of going to the TCP coordinates of said file, it shifts the X coordinate.
For example: The pallet has 15 positions, the pose file has also 15 positions. I use "MOVEX" with the coordinates present on the pose file in the final step before setting the piece. But, instead of going to (400,-600,-1000, 0, 0, 0), for example, goes to (410, -600, -1050, 0, 0, 0).
Here is a small piece of the code that relates to the subject at hand (I'm using "CASE" to define each position)
(...)
*POSITION_13
R1 = (0,0,25*L5%,0,0,0) 'L5 is the variable to used as an aux to increase layers
P13 = P13 + R1
MOVEX AP=8, AC=3, SM=0, M1X, L, P13, R=80, H=2, MS, CONF=0010
DELAY 0.5
L1% = 14
(...)
V10! = SYSTEM!(600)
V11! = SYSTEM!(601)
V12! = SYSTEM!(602)
V13! = SYSTEM!(603)
V14! = SYSTEM!(604)
V15! = SYSTEM!(605)
(...)
IF (L1%=1) 'L1 is the variable that defines the pallet position
V10! = V10!-35.0
ELSEIF (L1%=4)
V10! = V10!-40.0
ELSE
V10! = V10!-45.0
ENDIF
DELAY 0.5
MOVEX AP=8, AC=1, SM=0, M1X, L, (V10!,V11!,V12!,V13!,V14!,V15!), R=50, H=2, MS, CONF=0010 '
V12! = V12!+300
MOVEX AP=8, AC=1, SM=0, M1X, L, (V10!,V11!,V12!,V13!,V14!,V15!), R=50, H=2, MS, CONF=0010
MOVEX AP=8, AC=3, SM=0, M1X, L, (323.247,-679.003,-89.602,-152.526,-0.488,178.877), R=80, H=2, MS, CONF=0010
(...)
Hopefully someone in the communitty can shed some light on the matter, since I've tried a lot of things to resolve.
Thank you in advance for the time spent reading this post