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.