! start process of post-pick processing
MoveRobotToCamera2;
RefPosInCam_2;
GrabImage CAMERA_NO_2;
WaitUntil bCoordReceived{CAMERA_NO_2}=TRUE;
SetNextTarget CAMERA_NO_2;
! handle that parts occasionally are not found.
WHILE nAction{CAMERA_NO_2} <= NO_DETAIL DO
! change camera settings if necessary
DiscardAndTakeNewImage CAMERA_NO_2;
WaitUntil bCoordReceived{CAMERA_NO_2}=TRUE;
SetNextTarget CAMERA_NO_2;
Incr nImageRetries{CAMERA_NO_2};
IF nImageRetries{CAMERA_NO_1} > MAX_IMAGE_RETRIES{CAMERA_NO_1}
THEN
! Create alarm or inform user in some other way
EXIT;
ENDIF
ENDWHILE
! handle parts according to results from vision data
RefPosOutCam_2;
%"Cam"+ValToStr(CAMER"Position_"+ValToStr(nPosition)%;
ENDIF
Multiple robot with camera handling
If the robot controller has several attached robots which should interact with
FlexLoader Vision there are some additional settings and variables that needs to
be handled. First, FlexLoader Vision will load Main.pgf to T_ROB1 just as normal.
If there is a second robot task and there is a MainRob2.pgf placed in robot HOME
folder, then it is loaded to T_ROB2. In the same way MainRob3.pgf is loaded to
T_ROB3 if it exists and MainRob4.pgf to T_ROB4 if that task exists.
Some communication between robot and FlexLoader Vision is general and should
be communicated once for one robot controller. Most of the communication is done
per camera and is communicated to the robot task that is in control of the specific
camera. To handle all this there are a couple of variables that must be set correctly.
Normally those are set in InitializeMain.
! Communication to FlexLoader Vision, the other robots are setup
with TRUE for this value.
bIsSlaveVisionRobot:=FALSE;
! TODO - Set cameras to use in this robot task. Risk for reference
errors if accepting cameras that is not there in reality.
nStartAcceptCamera:=1;
nStopAcceptCamera:=1;
In the example above, this robot task has set TASK PERS bIsSlaveVisionRobot to
FALSE. This means that all general communication that is needed is handled by
Continues on next page
Product manual - FlexLoader SC 6000
97
3HAC051768-001 Revision: D
© Copyright 2014-2020 ABB. All rights reserved.
7 RAPID program
7.2 FlexLoader application functionality
Continued
Summary of Contents for FlexLoader SC 6000
Page 1: ...ROBOTICS Product manual FlexLoader SC 6000 ...
Page 8: ...This page is intentionally left blank ...
Page 12: ...This page is intentionally left blank ...
Page 78: ...This page is intentionally left blank ...
Page 172: ...This page is intentionally left blank ...
Page 174: ...This page is intentionally left blank ...
Page 176: ...This page is intentionally left blank ...
Page 178: ...This page is intentionally left blank ...
Page 182: ...This page is intentionally left blank ...
Page 184: ...This page is intentionally left blank ...
Page 186: ...This page is intentionally left blank ...
Page 192: ...This page is intentionally left blank ...
Page 224: ...This page is intentionally left blank ...
Page 283: ......