Can the Robot Record a Position Mid Program?

  • I have an ABB robot with s4c controller that stacks tyres directly on top of each other. At the moment the robot stacks the tyres 6 high. It stacks the first tyre on the ground on a recorded Move L position. It then lifts another tyre and moves to an offset position directly above the Move L position. It then moves straight down on the Z axis until a sensor mounted on the underside of the gripper detects the tyre below and triggers the robot to stop and pull out leaving the tyre stacked on top of the other. It does this for the remaining tyres on the stack by multiplying the tyre count by the tyre thickness. The tyre thickness offset by is entered into the teach pendant at the start.



    This works fine, my only problem is there is a lot of different thickness of tyres so the offset tyre width needs to be set for every different tyre. I have to do this as if I used the worst case thickest wheel offset, then when using a thinner tyre by the time the offset is multiplied by the 5th tyre the robot comes in way above the stack and takes a long time to reach the tyre below. This plus the fact the guys operating the robot forget to change the thickness a lot.



    My question is, can I bring the robot in above the first tyre at the thickest tyre offset and bring it down as normal until the sensor is triggered then record the position it was stopped at? I could then use the Z valve of the recorded position to work out the tyre thickness to use as the offset for the remaining tyres in the stack?



    If I could record the position at that point, I could minus the original move L position from this and the Z axis value would then be the tyre thickness.


    Is there a command I can use to get the robot to do this?

  • The function CRobT() should return the current physical position of the robot. You'll probably want to precede it with a WaitTime\InPos command to ensure the look-ahead doesn't call the function early.

Advertising from our partners