Behavior of Warm Start Mode Sequenced
The robot components, which are not on path, can be moved back on path individually if warm start is triggered after the robot was disabled.
To trigger the warm start movement the following conditions must be valid:
oThe warm start mode Sequenced is configured.
oFB_Robot.xEnable is set from FALSE to TRUE.
oFB_Robot.xStart is equal to FALSE.
oFB_Robot.xWsSelect is set from FALSE to TRUE to select the warm start mode.
oFB_Robot.xWsStart is set from FALSE to TRUE to activate the warm start mode.
oThe warm start movement of robot components, which are not on path, can be started by calling the method IF_RobotWarmStart.Start(…).
You can use the robot components All, CartesianAll, AuxAxAll, and OrientationAll to start groups with one call of the method Start.
A robot component which already reached its warm start position, does not move. Robot components, which are already performing a warm start movement are continuing with their motion.
ifRobotWarmStart.Start(i_etComponent := ROB.ET_RobotComponent.Z);
...
IF ifRobotWarmStart.raxCartesianOnPath[ROB.ET_RobotComponent.CartesianZ] THEN
ifRobotWarmStart.Start(i_etComponent := ROB.ET_RobotComponent.CartesianAll);
END_IF
...
IF ifRobotWarmStart.raxCartesianOnPath[ROB.ET_RobotComponent.CartesianX]
AND ifRobotWarmStart.raxCartesianOnPath[ROB.ET_RobotComponent.CartesianY]
THEN
ifRobotWarmStart.Start(i_etComponent := ROB.ET_RobotComponent.All);
END_IF
This starts the warm start movement for the robot component CartesianZ. As soon as CartesianZ has finished its movement, CartesianX and CartesianY are starting. When they have reached their warm start position, all other components are starting their warm start movement. It is not possible to call the start method when the robot is on path with ifFeedback.xOnPath = TRUE. In case you set the property ifRobot.xStart to TRUE while xOnPath is FALSE, the FB_Robot returns an exception.