Initial situation:
FB_Robot.xEnable was set to the value TRUE.
The return values FB_Robot.xActive and FB_Robot.xReady are reporting the value TRUE.
-> The robot is ready for operation.
FB_Robot.xStart remains FALSE initially.
The following motion of the robot has to be implemented:
-> PreviousSegmentId = 0, CurrentSegmentId = 0, NextSegmentId = 0
Motion program in a simplified form:
MoveL(i_udiSegmentId := 10, …);
-> PreviousSegmentId = 0, CurrentSegmentId = 0, NextSegmentId = 10
FB_Robot.xStart := TRUE; // The robot starts processing segment 10
-> PreviousSegmentId = 0, CurrentSegmentId = 10, NextSegmentId = 0
MoveL(i_udiSegmentId := 20, …); // The robot is still processing segment 10
-> PreviousSegmentId = 0, CurrentSegmentId = 10, NextSegmentId = 20
// The robot is already processing segment 20, no further segment has been loaded yet
-> PreviousSegmentId = 10, CurrentSegmentId = 20, NextSegmentId = 0
MoveL(i_udiSegmentId := 30, …); // The robot is processing segment 20
-> PreviousSegmentId = 10, CurrentSegmentId = 20, NextSegmentId = 30
// The robot is processing segment 30 now
-> PreviousSegmentId = 20, CurrentSegmentId = 30, NextSegmentId = 0
// The robot has reached the target of segment 30 now
// No further motion command has been issued
// Therefore the connected path has been completed
-> PreviousSegmentId = 30, CurrentSegmentId = 0, NextSegmentId = 0