Indexed Conveyor Tracking

I am trying to test indexed conveyor tracking with flexpicker. The robware version is 5.09. The robot tracks conveyor with 4-5 mm position lags during acceleration and deceleration of the conveyor. I have defined the sensor_start_signal to the Configuration/Process/Conveyor systems/CNV1. And controller of the conveyor triggers that 100ms earlier from the one index movement.

How can I make indexed conveyor tracking without lags?

I changed some default parameters, and these are:

Pos_update_time : 5

Connection 1 interval : 4

IIRFPeriod : 0.004

IIRFFP : 15 hertz.

Adjustment_Accel : 100000

Profile is recorded succesfully. I open it, it is ok and every number makes sense. Here is my code:

MODULE idnexed_cnv

VAR bool recorded;

PROC main()

recorded := FALSE;

ActUnit CNV1;

ConfLOff;

MoveL rt_waitPoint, v500, z1, tool0WObj:=wobj0;

IF recorded = FALSE THEN

rec;

ENDIF

LoadProfile CNV1, 0, “Profiless.log”;

WaitTime 0.2;

ActivateProfile CNV1, 0;

WaitDO do6,1;

SetDO do7,1; !Indexed Conveyor Start Signal

loop:

WaitWObj wobj_cnv1;

!MoveL rt_cnvp3, v500, z1Inpos:=followtime, tool0WObj:=wobj_cnv1;

MoveL rt_cnvp3, v500, fine, tool0WObj:=wobj_cnv1;

WaitTime 3;

MoveL rt_waitPoint, v500, z10, tool0WObj:=wobj0;

DropWObj wobj_cnv1;

IF DOutput(do6) = 1 THEN

GOTO loop;

ENDIF

SetDO do7,0;

WaitTime 4;

ERROR

IF ERRNO = ERR_CNV_CONNECT THEN

DropWObj wobj_cnv1;

RETRY;

ENDIF

ENDPROC

PROC rec()

WaitWObj wobj_cnv1;

RecordProfile CNV1,1,“index_profile”;

PulseDO High PLength := 1, do7; ! ?ndexed conveyor start signal.

WaitTime 3;

DropWObj wobj_cnv1;

StoreProfile CNV1, 0, “Profiless.log”;

recorded := TRUE;

ERROR

IF ERRNO = ERR_CNV_CONNECT THEN

DropWObj wobj_cnv1;

RETRY;

ENDIF

ENDPROC

ENDMODULE

Kind Regards.