Problem when trying to use Collision Error Handling

I have tried to add an error handler for a procedure where a robot picks up items from a conveyor. Since the height of the object is unknown I am using a SearchL instruction, searching for a signal from my Vacuum sensor on the gripper tool.

However, sometimes there is not enough vacuum (often due to debris left on part), then I don’t get any signal from the Vacuum Sensor and the robot has a collision. If this happens I would like to catch this in the error handler but I can’t get it to work.

This is an example code:

PROC PickPart()

MoveL Offs(pPickPart,0,0,250),v1000,z50,tGripper1\WObj:=wConveyor;
MoveL Offs(pPickPart,0,0,50),v1000,z20,tGripper1\WObj:=wConveyor;
VacuumOn;
SearchL\Stop,diGripperSensor1,pSearchHit,pPickPart,v10,tGripper1\WObj:=wConveyor;
MoveL Offs(pPickPart,0,0,50),v100,z10,tGripper1\WObj:=wConveyor;
MoveL Offs(pPickPart,0,0,250),v1000,z50,tGripper1\WObj:=wConveyor;
MoveL pFromPick,v2000,z50,tDefaultTool;

ERROR
IF ERRNO=ERR_COLL_STOP THEN
SkipWarn;
TRYNEXT;
ENDIF

ENDPROC

The problem is the Program Pointer never reaches the Error handler. The robot retracts from the collision and stops with the Motion Supervision error message. When I restart it continues with the SearchL instruction and has another collision.

What am I doing wrong? I have done the same thing in several robots before and gotten it to work. I am using RobotWare 6.15.08. The CollisionErrorHandler is enabled in the system parameters.

Thanks in advance!

Hallo,
have you tried to trigger it manually within a normal movement (MoveL, MoveJ)?
Maybe it is not working with SearchL. I encountered a similar problem when using Arc-Movements - it was not working there at all and a new version of RW was required.