Continous Application Platform 3HAC16584-1_revF_en
Transcript of Continous Application Platform 3HAC16584-1_revF_en
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
Application manual
Continuous Application Platform
Robot controllerRobotWare 5.0
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
C
opyright2004-2007ABB.
Allrightsreserved.
Application manual3HAC 16584-1
Revision FContinuous Application Platform
RobotWare 5.0
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
Copyright2004-2007ABB
Allrights
reserved
The information in this manual is subject to change without notice and
should not be construed as a commitment by ABB. ABB assumes no re-
sponsibility for any errors that may appear in this manual.
Except as may be expressly stated anywhere in this manual, nothing
herein shall be construed as any kind of guarantee or warranty by ABB
for losses, damages to persons or property, fitness for a specific pur-
pose or the like.
In no event shall ABB be liable for incidental or consequential damagesarising from use of this manual and products described herein.
This manual and parts thereof must not be reproduced or copied without
ABB's written permission, and contents thereof must not be imparted to
a third party nor be used for any unauthorized purpose. Contravention
will be prosecuted.
Additional copies of this manual may be obtained from ABB at its then
current charge.
Copyright 2004-2007 ABB All rights reserved.
ABB AB
Robotics Products
SE-721 68 Vsters
Sweden
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
Table of Conte
3HAC 16584-1 Revision F
C
opyright2004-2007ABB.
Allrightsreserved
.
1 Continuous Application
1.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1 General description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.2 RAPID commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Functionality
2.1 Functionality of CAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1 Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 CAP (Continuous Application Platform) . . . . . . . . . . . . . . . . . . . .
2.1.3 Robot movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.4 Supervision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1.5 Supervision and process phases. . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1.6 Motion delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1.7 Programming recommendations . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1.8 Program execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1.9 Predefined events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2.1.10 Coupling between phases and events . . . . . . . . . . . . . . . . . . . . . 2
2.1.11 Error handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1.12 How to write a general Error handler . . . . . . . . . . . . . . . . . . . . . 2
2.1.13 Restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.14 System event routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.15 Limitations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3 Programing examples 3
3.1 CAP application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.1 Laser cutting example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1.2 Step by step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
Table of Contents
4 3HAC 16584-1 Revision F
4 Rapid Programming 39
4.1 Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.1.1 CapL - Linear CAP motion instruction . . . . . . . . . . . . . . . . . . . . . 39
4.1.2 CapC - Circular CAP motion instruction. . . . . . . . . . . . . . . . . . . . 51
4.1.3 ICap - connect CAP events to trap routines. . . . . . . . . . . . . . . . . . 63
4.1.4 InitSuperv - Reset all supervision for CAP . . . . . . . . . . . . . . . . . . 69
4.1.5 SetupSuperv - set up conditions for signal supervision in CAP . . 71
4.1.6 RemoveSuperv - Remove condition for one signal . . . . . . . . . . . . 75
4.1.7 ConfWeaveSyncIO - set up signals for Weave synchronization. . 77
4.1.8 CapRefresh - Refresh CAP data . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.1.9 CapGetFailSigs - Get failed IO signals . . . . . . . . . . . . . . . . . . . . . 83
4.1.10 CapEquiDist - Generate equidistant event. . . . . . . . . . . . . . . . . . 85
4.1.11 CapNoProcess - Run CAP without process. . . . . . . . . . . . . . . . . 87
4.1.12 CapCondSetDO - Set a digital output signal at TCP stop . . . . . . 91
4.1.13 CapAPTrSetup - Set up an At-Point-Tracker . . . . . . . . . . . . . . . 93
4.1.14 CapLATrSetup - Set up a Look-Ahead-Tracker . . . . . . . . . . . . . 97
4.1.15 capdata - CAP data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4.1.16 capspeeddata - Speed data for CAP. . . . . . . . . . . . . . . . . . . . . . 107
4.1.17 flypointdata - Data for flying start/end . . . . . . . . . . . . . . . . . . . 109
4.1.18 supervtimeouts - Handshake supervision time outs. . . . . . . . . . 113
4.1.19 processtimes - process times . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
4.1.20 restartblkdata - blockdata for restart . . . . . . . . . . . . . . . . . . . . . 117
4.1.21 weavestartdata - weave start data. . . . . . . . . . . . . . . . . . . . . . . . 121
4.1.22 capweavedata - Weavedata for CAP . . . . . . . . . . . . . . . . . . . . . 123
4.1.23 captrackdata - CAP track data . . . . . . . . . . . . . . . . . . . . . . . . . . 131
4.1.24 caplatrackdata - CAP Look-Ahead-Tracker track data . . . . . . . 135
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
1 Continuous Applicat
1.1 Summ
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
1 Continuous Application
1.1 Summary
1.1.1 General description
The Continuous Application Platform (CAP) consists of a number of RAPID instructions
data types that make development of continuous applications easier, faster and more rob
The basic idea of CAP is to separate motion synchronization and application control by m
ing the application control from the controller software kernel to an application layer in
RAPID. By this two things are achieved:
the CAP core is robust and generic
the application layer is easier to customize.
CAP is a process event dispatcher. The core of CAP is a generic state engine from which
application builder can choose to subscribe specific process events (ICap - connect CAP
events to trap routineson page 63).
1.1.2 RAPID commands
CAP gives the application builder a set of RAPID commands for adapting the behavior of
system for the application of concern.
Instruction Description
CapC CapC - Circular CAP motion instructionon page 51.
CapL CapL - Linear CAP motion instructionon page 39.
ICap ICap - connect CAP events to trap routineson page 63.
InitSuperv InitSuperv - Reset all supervision for CAPon page 69.
SetupSuperv SetupSuperv - set up conditions for signal supervision in CAP
page 71.
RemoveSuperv RemoveSuperv - Remove condition for one signalon page 75.
CapNoProcess CapNoProcess - Run CAP without processon page 87.
CapRefresh CapRefresh - Refresh CAP dataon page 81.
CapCondSetDO CapCondSetDO - Set a digital output signal at TCP stopon pa
91.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
1 Continuous Appl ication
1.1.2 RAPID commands
6 3HAC16584-1 Revision F
CapGetFailSigs CapGetFailSigs - Get failed IO signalson page 83.
ConfWeaveSyncIO ConfWeaveSyncIO - set up signals for Weave synchronizationon
page 77.
CapAPTrSetup CapAPTrSetup - Set up an At-Point-Trackeron page 93.
CapLATrSetup CapLATrSetup - Set up a Look-Ahead-Trackeron page 97.
Instruction Description
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.1 Descrip
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
2 Functionality
2.1 Functionality of CAP
2.1.1 Descript ion
This chapter describes the functionality provided by CAP.
2.1.2 CAP (Cont inuous Appl ication Platform)
With CAP it is possible to control a continuous application process and at the same time
synchronize that process with the TCP movement of a robot.
The synchronization between motion and application layer is handled via events from th
CAP core triggering trap routines in RAPID (Predefined eventson page 19).
CAP enables the RAPID user to order supervision of I/O signals depending on the motion
the robot (Supervisionon page 10).
For synchronization of motion and process, the process is divided into different phases. Th
phases tell the CAP core which I/O signals to supervise and in which way (Process phases
page 9).
Figure 1 Layers of a CAP application
CA PCA P
RAPIDRAPID
applicationapplication
User InterfaceU ser Interface
RAPID wrapperRAPID wrapper
for CAPfor CAP
ICap Event!...ICap Event!...
Setup_SupervisionSetup_Supervision
CapLcapdata. . .CapLcapdata. . .Events!Events!
MotionMotion
ControlControl
EquipmentEquipment
ControlControl
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.3 Robot movement
8 3HAC16584-1 Revision F
2.1.3 Robot movement
A CAP motion instruction (CapL or CapC) is similar to other motion instructions (e.g.
MoveL, TriggL). Compared to the TriggL instruction it contains also the information neces-
sary for CAP. That information is given through the arguments Cdata, Weavestart, Weave and
optional parameter \Track.
The motion control is handled by a state engine based on the general process graph class.
The CAP process is path persistent, which means that it is active over several CAP motion
instructions from the first CAP instruction to the next CAP instruction containing the
Cdata.last_instr set to TRUE (see capdata - CAP dataon page 103).
Figure 2 Description of the CapL instructions and data types argument.
The Speed argument in the instruction is only valid during step-wise execution (forward or
backward) and flying end from the point where the application process has been stopped. The
CAP process will in this case automatically be inhibited. During normal execution, the pro-
cess speed in different phases of the process is defined in the component Cdata of the type
capdata.
For more information on programming CAP motion instructions see CAP applicationon
page 35.
Data for the process control
Data for weave start
Data for weave in a started motion
CapLToPoint [ \Id ] SpeedCdata [ \Movestart_timer] WeavestartWeaveZone
[\Inpos] Tool [ \WObj] [ \Track ] [ \T1 ] [ \T2 ] [ \T3 ] [ \T4 ] [ \T5 ] [ \T6 ]
Data for sensors and path correction
Arguments as in theTriggLinstruction are inbold
L= Linear
Data for the process control
Data for weave start
Data for weave in a started motion
CapLToPoint [ \Id ] SpeedCdata [ \Movestart_timer] Weavestart WeaveZone
[\Inpos] Tool [ \WObj] [ \Track ] [ \T1 ] [ \T2 ] [ \T3 ] [ \T4 ] [ \T5 ] [ \T6 ]
Data for sensors and path correction
Arguments as in theTriggLinstruction are inbold
L= Linear
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.3 Robot movem
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
Process phases
The CAP process is divided into four different phases in order to synchronize the robot moment with the application process:
Pre
Main
Post1
Post2
The process phases are tightly bound to the supervision phases (Supervisionon page 10)
During the process phases several events are generated by CAP, which can be connected
TRAP routines in the RAPID layer.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.4 Supervision
10 3HAC16584-1 Revision F
2.1.4 Supervision
Supervision is used to control signals during the process and perform proper actions if some
supervised signal fails.
Supervision is ordered at RAPID level (see SetupSuperv - set up conditions for signal super-
vision in CAPon page 71).
As mentioned in Process phaseson page 9, the CAP process is divided into four phases.
Those phases are tightly bound to the supervision phases. Supervision is divided into nine
different supervision phases:
PRE
PRE_START (corresponds to CAP process phase Pre)
START
MAIN (corresponds to CAP process phase Main)
END MAIN
POST1 (corresponds to CAP process phase Post1)
END_POST1
POST2 supervision (corresponds to CAP process phase Post2)
END_POST2
The different supervision phases use corresponding supervision lists, which book-keep the
signal supervisions ordered by the RAPID programmer. The naming of the lists is similar tothat of the corresponding phases, e.g. the list for the PRE supervision phase is called
SUPERV_PRE (see SetupSuperv - set up conditions for signal supervision in CAPon page
71). The maximum number of signals that can be supervised during each phase is 32.
There are two different types of supervision phases:
handshake supervision and
status supervision.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.4 Supervi
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
Handshake supervision
There is a handshake supervision phase before and after each status supervision phase. Thtasks are to prevent the process phase from starting until all conditions in the handshake
supervision list are fulfilled.
It is possible to use a time-out for handshake supervision. If a time-out is used and not al
supervision requests are fulfilled when it expires, an ERROR is generated. The time-out
be set to last forever, i.e. the CAP process will be waiting for all supervision request to b
fulfilled. The time-outs are specified in supervtimeouts which is part of the capdata (sup
timeouts - Handshake supervision time outson page 113).
Figure 3 Overview handshake supervision
The handshake supervision works as a threshold, to prevent the process from proceeding
the next phase. If no handshake supervision is set up that phase is skipped.
These are the handshake supervision phases.
PRE
START
END MAIN
END_POST1
END_POST2
CAP Supervision: Hand Shake
CapL p1 p2 p3p0
Condition 1
Condition 2
...
SUPERV_PRE Li st
SetupSuperv diCond1, ACT, SUPERV_PRE
SetupSuperv diCond2, ACT, SUPERV_PRE
SetupSuperv diCondx, ACT, SUPERV_PRE
..
Error!
OK!
OK?
Timeout!
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.4 Supervision
12 3HAC16584-1 Revision F
Status Supervision
During the status supervision phases all signals the user requested supervision on (SetupSu-perv) are supervised (See Figure 4).
Figure 4 Overview status supervision
The component proc_times in capdata (see definition of capdata) defines the duration of the
phases PRE_START, POST1 and POST2 will be. If supervision is requested during any of
these phases, the duration time for each phase must be bigger than zero; otherwise the super-
vision will fail. No time has to be specified for the MAIN phase, because this time is defined
by the movement of the robot.
These are the status supervision phases.
PRE_START
MAIN
POST1
POST2
CAP Supervision: Supervise
CapL p1 p2 p3p0
Main_Condition 1
Main_Condition 2
...
SUPERV_MAIN List
SetupSuperv diCond1, ACT, SUPERV_MAIN
SetupSuperv diCond2, ACT, SUPERV_MAIN
SetupSuperv diCondx, ACT, SUPERV_MAIN
..
Error!
All OK!Supervise!
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.4 Supervi
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
Figure 5 Overview of the CAP Supervision Lists (Phases)
CAP Supervision Lists
CapLp1 pn p(n+1)
BLACK = Handshake Supervision
RED = Status Supervision
MAIN-
list
STAR
T(tim
eout2)
PRE(
timeo
ut1)
PRE_
STAR
T-lis
t
Pre_time
motion
END_
POST
2(tim
eout5)
END_
MAIN
(timeo
ut3)
POST
1-list
POST
2-list
END_
POST
1(tim
eout4)
Post1_time Post2_time
p2 CapL p0
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.5 Supervision and process phases
14 3HAC16584-1 Revision F
2.1.5 Supervis ion and process phases
The PRE_START phase and the phases POST1 and POST2 are common to one single CAP
process path, i.e.
the first CAP instruction that starts or restarts the CAP process is the only one that
has a PRE_START supervision phase (including the handshake phases PRE and
START). At restart the presence of these phases is dependent on the setting of
pre_phase in the data type restartblkdata (see Technical reference manual - RAPID
Instructions, functions and data types).
the last CAP instruction (last_instr set to TRUE in capdata) that terminates the CAP
process is the only one that has POST1 and POST2 supervision phases (including the
handshake phases END_MAIN, END_POST1 and END_POST2)
PRE_START phase
When the Robot reaches the start point of the path, all conditions in the PRE supervision list
have to be fulfilled in order for the process to be allowed to enter the PRE_START status
supervision phase. If a time-out is specified and the conditions cannot be met within that time,
the process is stopped, and an error is sent.
During the PRE_START phase all conditions defined in the PRE_START supervision list
must be fulfilled. If some of these conditions fail, the process is stopped and an error message
is sent.
This phase is not available forflying start.
Summary:
Starts when all conditions in the PRE supervision list are met.
Supervised by the PRE_START supervision list.
Ends when the time set (proc_times.pre) expires.
MAIN phaseAll conditions in the START supervision list have to be fulfilled in order for the process to be
allowed to enter the MAIN status supervision phase. If a time-out is specified and the condi-
tions cannot be met within that time, the process is stopped, and an error is sent.
During the MAIN phase all conditions defined in the MAIN supervision list must be fulfilled.
If some of these conditions fail, the process is stopped and an error message is sent.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.5 Supervision and process pha
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
Summary:
Starts when all conditions in the START supervision list are met.
Supervised by the MAIN supervision list.
Ends when the TCP has reached the last CAP instruction (last_instr set to TRUE
capdata) that terminates the CAP process.
POST1 phase
All conditions in the END_MAIN supervision list have to be fulfilled in order for the proc
to be allowed to enter the POST1 status supervision phase. If a time-out is specified for
END_MAIN and the conditions cannot be met within that time, the process is stopped, a
an error is sent.
During the POST1 phase all conditions defined in the POST1 supervision list must be fu
filled. If some of these conditions fail, the process is stopped and an error message is sen
This phase is not available forflying start.
Summary:
Starts when all conditions in the END_MAIN supervision list are met.
Supervised by the POST1 supervision list.
Ends when the time set (proc_times.post1) expires.
POST2 phase
All conditions in the END_POST1 supervision list have to be fulfilled in order for the proc
to be allowed to enter the POST2 status supervision phase. If a time-out is specified for
END_POST1 and the conditions cannot be met within that time, the process is stopped, a
an error is sent.
During the POST2 phase all conditions defined in the POST2 supervision list must be fu
filled. If some of these conditions fail, the process is stopped and an error message is sen
This phase is not available forflying start.
Summary:
Starts when all conditions in the END_POST1 supervision list are met.
Supervised by the POST2 supervision list.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.6 Motion delay
16 3HAC16584-1 Revision F
Ends when the time set (proc_times.post2) expires.
2.1.6 Motion delay
Motion delay gives the user the possibility to delay the start of the motion. This is useful for
applications like e.g. laser cutting, where the movement cannot be started before the mate-
rial has been burned through. The time for the motion delay is specified in capspeeddata -
Speed data for CAPon page 107.
This functionality is not available forflying start.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.7 Programming recommendat
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
2.1.7 Programming recommendations
Corner zones
A sequence of CAP instructions shall have corner zones (e.g. z10) on the path.
E.g.
MoveL p10, v100, f i ne, t ool ;
CapL p20, v50, cdata, nowvst , nowv, z20, t ool ;
CapC p30, p40, v50, cdata, nowvst , nowv, z20, t ool ;
CapL p50, v50, cdata, nowvst , nowv, z20, t ool ;
CapL p60, v50, cdat a, nowvst , nowv, f i ne, t ool ;
MoveL p70, v100, f i ne, t ool ;If the last movement instruction before the first CAP instruction has a zone, CAP will sta
the application process with aflying start.
If the last instruction of a sequence of CAP instrutions has a zone, CAP will end the appl
tion process with aflying end.
Within a sequence of CAP instructions, avoid logical instructions, that take long time. Th
will cause Corner path failure (50024) and Application process interrupted (110013),
which means, that a corner zone is converted to a stop point, and the application process
interrupted and restarted with the next CAP instruction.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.8 Program execution
18 3HAC16584-1 Revision F
2.1.8 Program execution
Corner zones
if last_instr is set TRUE in capdata in the middle of a sequence of CAP instruc-
tions, the application process is finished with all phases as described in (Process
phases). Which phases are executed depends on the presence offlying end. The fol-
lowing CAP instruction will start the process again, with all phases as described in (
Process phases). Which phases are executed, depends on the presence offlying start.
if a stop point occurs in the middle of a sequence of CAP instructions without
last_instr set TRUE in capdata, the application process will not be interrupted, the
program execution will proceed to the next CAP instruction in advance (prefetch), and
the movement will execute a stop point.
if execution of logical instructions in the middle of a sequence of CAP instructions
take so long time, that a programmed corner path is converted to a stop point (Corner
path failure), the application process is interrupted (Application process inter-
rupted) without executing the phases described in (Process phases).
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.9 Predefined ev
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
2.1.9 Predefined events
CAP offers the possibility to connect to RAPID interrupt routines with a number of pre-
defined events, which occur during the CAP process. To do this the RAPID instruction IC
is used before running the first CAP movement instruction. This functionality enables th
user to synchronize external equipment with the robot movement using RAPID. (seeICa
connect CAP events to trap routineson page 63).
Figure 6 Some events generated from the state engine which can be connected with interrupt routines in the RAPID layer.
(1) At_StartPoint
(2) Process_Start
(3) Move_Started
(1) At_Point
(2) At_Last_Segment
(1) At_EndPoint
(2) Process_Finished
User_Event!
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.10 Coupling between phases and events
20 3HAC16584-1 Revision F
2.1.10 Coupl ing between phases and events
PRE_START supervis ion phase
Figure 7 Events during PRE_START phase
Phases (see below) PRE PRE_START START
Handshake lists
Check
Prelist
Check
Startlist
Prelist OK Startlist OK
Status Supervision lists PreStartlist
Events: START PRE_STARTED
START_PRE START_MAIN
Major Phases: PRE_START
Notation for phases: Phase 1 Handshake phasePhase 2 Supervision phase
FLY-START
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.10 Coupling between phases and ev
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
MAIN supervision phase
Figure 8 Events during MAIN phase
Phases (see below) START MAIN_END
Handshake lists
Check
Startlist
Check
EndMainlist
Startlist OK EndMainlist O
Supervision lists
Events:
MOVE_STARTED
MAIN_STARTED MOTION_DELAY
STOP_WEAVESTART MAIN_MOTION WEAVESTART_REGAIN PROCESS_END_POINT
END_MAIN
PATH_END_POINT
LAST_SEGMENT
MAIN_ENDED
STARTSPEED_TIME
NEW_INSTR*
AT_POINT*
Major Phases: PRE_START
Notation for phases: Phase 1 Handshake phase * Motion Event
Phase 2 Supervision phase
MAIN
MainList
MAIN
FLY-END
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.10 Coupling between phases and events
22 3HAC16584-1 Revision F
Figure 9 Events during Post1 phase and Post2 phase
User events
The CAP movement instructions, CapL and CapC, offer the user the possibility to define up
to six trigger events (switches \T1, ..., \T8). These trigger events can be coupled to CAP
movement instructions by means of TriggIO, TriggEquip or TriggInt (see instructionsCapL
- Linear CAP motion instructionon page 39and CapC - Circular CAP motion instructionon
page 51).
Phases (see below) MAIN_END POST1 POST1_END POST2 POST2_END
Handshake lists
Check
EndMainlist
Check
EndPost1list
Check
EndPost2list
EndMainlist OK EndPost1list OK EndPost2list OK
Status Supervision lists Post1list Post2list
Events:
END_POST1 END_POST2
POST1_ENDED POST2_ENDED
PROCESS_ENDED
MAIN_ENDED
Major Phases: MAIN
Notat ion for phases: Phase 1 Handshake phase
Phase 2 Supervision phase
POST2POST1
LAST_INSTR_ENDED (flying end)
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.11 Error hand
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
2.1.11 Error handl ing
Two different types of error can occur during CapL or CapC:
recoverable errors: these errors can be handled in a RAPID error handler (see inst
tion CapL, error handling). The system variable ERRNO is set and the user can ch
ERRNO to get information about which error occured and choose the adequate rec
ery measures. For recoverable errors it is possible to use the RAPID instruction
RETRY in the error handler. An error message is generated.
fatal errors: if such an error occurs, the robot controller has to be restarted. A fat
error message is generated.
Recoverable errors can be handled in a RAPID error handler. The CAP user can then cho
to RETRY a several number of times depending on the application and the error. If e.g. tarc in an arc welding application does not strike the first time, it makes sense to retry arc
ignition a several number of times. If these attempts are unsuccessful the error may be rai
to the next level of RAPID (RAISE) or, if it is in a NOSTEPIN/NOVIEW module, to us
level (RaiseToUser) - see examples below.
Errors from the instructions CapL and CapC are CAP specific (seeCapL - Linear CAP mot
instructionon page 39). That means, that those error codes have to be translated to applicat
specific error codes in the error handler, to make it easier for users of that application to
understand the error message. After remapping of the error the new error code is raised to
user (RAISE new_err_code) - see example 1 below.
As a consequence these errors should be converted to application specific errors, depend
on which application CAP is used for. To achieve this the ERRNO has to be checked in t
error handler (see example 1 below).
If for example a supervised signal fails, e.g. in the main supervision phase, the end-user
should not get a general CAP_MAIN_ERR error. The application layer should return a m
specific error, since this error depends on how CAP is used by the RAPID application. If
several signals are supervised during a supervision phase, all these signals have to be chec
in the applications error handler to identify the error more specifically.
If no error handler can be found or there is an error handler, but it does not handle the err
i.e. none of the instructions RETRY, TRYNEXT, RETURN or RAISE are present in the erhandler -, the active motion path is cleared. That means, that neither regain to path nor
backing on the path is possible. The robot movement starts from the current position of
TCP, which might result in a path shortcut.
If a START phase supervision error occurs duringflying start, the movement is stopped at
end of the START distance and at restart the application process is handled like an oridin
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.11 Error handling
24 3HAC16584-1 Revision F
restart after an error - with all user defined restart functionality like scrape start, start delay,
e.t.c.
Example 1
Below are two examples of different error handling type. The type of error handling that is
recommended is the one in Example 2, where the CAP process survives and no extra code
has to be executed in a retry from user level.
The SkipWarn instruction is used in the error handlers to prevent the CAP specific error from
being sent to the error log. For an application (e.g. Arc Welding) user CAP errors are not
interesting. The errors shown in the event log shall be application specific.
Example 1:
This is an example with RAPID modules, that are not NOSTEPIN/NOVIEW. If the error is
RAISEd to the RAPID main routine the CAP process will exit.
A RETRY order in the error handler case MY_AW_ERR_1 will continue execution and make
a retry on arcl_move_only. The value of example_count1 will be 2 when executing the CapL
instruction after a retry from the higher level.
MODULE CAP_EXAMPLE1
VAR num exampl e1_count : =0;
PROC mai n( )MoveJ p10, v200, f i ne, t ool 0;
ar cl _move_onl y p11, v20, z20, t ool 0;
ERROR
TEST ERRNO
CASE MY_AW_ERR_1:
RETRY;
CASE MY_AW_ERR_2:
EXI T;DEFAULT:
EXI T;
ENDTEST
ENDPROC
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.11 Error hand
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
LOCAL PROC arcl _move_onl y ( r obt arget ToPoi nt ,
speeddat a Speed,
zonedat a Zone,
PERS t ool dat a Tool
\ PERS wobj dat a WObj
\ swi t ch Cor r )
exampl e1_count : = exampl e1_count + 1;
CapL Topoi nt , Speed, I nt Cdat a, I nt Weavest ar t , I nt Weave,
Zone, Tool \ wobj ?wobj ;
ERROR
Reset I oSi gnal s;
I F no_of _r et r i es > 0 THEN
I F er r _cnt < no_of _r et r i es THEN
er r _cnt : = er r _cnt + 1;
Ski pwarn; ! Remove CAP er r or f r om event l og
er r _code : = new_aw_er r Msg( ) ;
RETRY; ! *St ar t MoveRet r y
ELSE
er r _cnt : = 0;Ski pwarn;
er r _code : = new_aw_er r Msg( ) ;
RAI SE er r _code; ! Ki l l s t he CAP pr ocess, and r ai semapped er r or .
ENDI F
ELSE
Ski pwarn;
er r _code : = new_aw_er r Msg( ) ;
RAI SE er r _code; ! Ki l l s t he CAP pr ocess, and r ai se mapperror.
ENDI F
ENDPROC
FUNC er r num new_aw_er r Msg ( \ swi t ch W)
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.11 Error handling
26 3HAC16584-1 Revision F
VAR er r num r et _code;
TEST ERRNO
CASE CAP_PRE_ERR:
! Check of si gnal s her e
r et _code : = AW_EQI P_ERR;
ENDTEST
RETURN r et _code;
ENDFUNC
ENDMODULE
Example2
This is an example with one RAPID module, that is NOSTEPIN/NOVIEW, where main is
located. The arcl_move_only procedure is located in a NOVIEW module. If the error is raised
to main routine with the instruction RaiseToUser \Continue the CAP process is still active.
The RETRY order in the error handler case MY_AW_ERR_1 will continue execution and
make a retry directly on the CapL instruction a second time. The example_count1 will be 1
when executing the CapL instruction after a retry from the user level.
MODULE CAP_EXAMPLE
VAR num exampl e1_count : =0;
PROC mai n( )
MoveJ p10, v200, f i ne, t ool 0;
ar cl _move_onl y p11, v20, z20, t ool 0;
ERROR
Note!
The RaiseToUser instruction can only be used in a NOVIEW module.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.11 Error hand
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
TEST ERRNO
CASE MY_AW_ERR_1:
RETRY;
CASE MY_AW_ERR_2:
EXI T;
DEFAULT:
EXI T;
ENDTEST
ENDPROC
ENDMODULE
MODULE ARCX_MOVE_ONLY( NOSTEPI N, NOVI EW)
LOCAL PROC arcl _move_onl y( r obt arget ToPoi nt ,
speeddat a Speed,
zonedat a Zone,
PERS t ool dat a Tool
\ PERS wobj dat a WObj
\ swi t ch Cor r )
exampl e1_count : =exampl e1_count + 1;
CapL Topoi nt , Speed, I nt Cdat a, I nt Weavest ar t , I nt Weave,
Zone, Tool \ wobj ?wobj ;
ERROR
Reset I oSi gnal s;
I F no_of _r et r i es > 0 THEN
I F er r _cnt < no_of _r et r i es THEN
er r _cnt : = er r _cnt + 1;Ski pwarn;
er r _code : = new_aw_er r Msg( ) ;
RETRY;
ELSE
er r _cnt : = 0;
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.11 Error handling
28 3HAC16584-1 Revision F
Ski pwarn;
er r _code : = new_aw_er r Msg( ) ;
Rai seToUser \ Cont i nue \ Er r orNumber : =err _code;
ENDI F
ELSE
Ski pwarn;
er r _code : = new_aw_er r Msg( ) ;
Rai seToUser \ Cont i nue \ Er r orNumber : =err _code;
ENDI F
ENDPROC
FUNC er r num new_aw_er r Msg ( \ swi t ch W)
VAR er r num r et _code;
TEST ERRNO
CASE CAP_PRE_ERR:
! Check of si gnal s her e
r et _code : = AW_EQI P_ERR;
ENDTEST
RETURN r et _code;
ENDFUNC
ENDMODULE
The errnum raised to the level above arcl_move_only is AW_EQIP_ERR, i.e. the CAP error
CAP_PRE_ERR is replaced by AW_EQIP_ERR and the CAP error will not appear in the
error log (domain PROCESS).
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.12 How to write a general Error han
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
2.1.12 How to write a general Error handler
Example 3
For a CAP single system you can write an error handler as shown in xamples 1 and 2. Fo
MultiMove system example 3 is the only way to handle errors.
The error handlers for all tasks executing synchronized motion must contain the followin
for recoverable errors handled application internal:
StorePath;
! Here you may have some application specific actions/movements
RestoPath;
StartMoveRETRY;
for errors handled by the user:
RaiseToUser \Continue \ErrorNumber:=error_code;
look the same, not all instructions must be in all tasks, but some important ones. First of
the RETRY must be changed to a StartMoveRETRY in all RAPID tasks if running in syn
chronized mode. The StartMoveRETRY restarts all path processes. For a task using the
instruction MoveExtJ or other move instructions like TriggX or MoveX the StartMoveR
TRY orders that mechanical unit to start again.
The RETRY order works only on the CapL/CapC instructions.
Example 3, error handler only
TEST ERRNO
I F er r _cnt < no_of _r et r i es THEN
er r _cnt : = er r _cnt + 1;
! Suppr ess CAP er r or message
Ski pwarn;
! Remap CAP er r or t o appl i cat i on speci f i c er r or
er r _code : = new_aw_er r Msg( ) ;
! St ore cur r ent movement i nf ormat i on
St or ePat h;
! Her e you may have some
! appl i cat i on speci f i c act i ons/ movement s
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.12 How to write a general Error handler
30 3HAC16584-1 Revision F
! Rest or e movement i nf or mat i on st ored wi t h! pr evi ous St or ePat h
Rest oPath;! Rest ar t t he movement
St ar t MoveRETRY;
ELSE
er r _cnt : = 0;
! Suppr ess CAP er r or message
Ski pwarn;
! Remap CAP er r or t o appl i cat i on speci f i c er r or
er r _code : = new_aw_er r Msg( ) ;
! Rai se t he appl i cat i on speci f i c er r or! t o the RAPI D user l evel
Rai seToUser \ Cont i nue \ Er r or Number : =er r _code; ! ***
ENDI F
ENDTEST
RaiseToUser can be used with \Continue or \Breakoff.
\Continue will raise the error to user level (first level that is not in a NOVIEW mod-
ule). A RETRY from that level will start the instruction that failed exactly where the
error occurred - i.e. it will not re-run the NOVIEW procedure as a whole.
\Breakeoff will rerun the instruction where the program pointer is on user level.
If RaiseToUser is used, the user itself has to restart or enable restart of robot movement by
using
StartMove or StartMoveRETRY: will restart movement as soon as all synchronizedrobots sent its restart order
StartMoveReset: enables manual restart (start button on the FlexPendant).
Note!
StartMoveRETRY is an instruction that combines a StartMove and a RETRY. A StartMove
executed on TriggX, MoveX or MoveExtJ will order a restart of movement for that specific
robot/external axis. It is the RETRY that triggers CAP process to restart and order a restart of
movement.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.13 Re
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
2.1.13 Restart
If the execution of a CapL/CapC instruction is stopped due to an recoverable error or a p
gram stop, a backing distance can be specified at restart of the instruction. The backing d
tance is a value the user must specify in the capdata data structure (see capdata - CAP da
on page 103).
Sensors
Sensors can be used together with CAP. The different sensor systems implemented are A
PointTracker (e.g. serial Weldguide) and Look-Ahead-Tracker (e.g. laser tracker). See al
Application manual - Engineering tools, Sensor Interface, CapL - Linear CAP motion
instructionon page 39, CapC - Circular CAP motion instructionon page 51 and captrackd
- CAP track dataon page 131.
Units
In CAP the following units are used:
Tuning
It is possible to change the value of (tune) the following data when it is active, during exe
tion:
weavedata components:
width
height
bias
capdata components:
speeddata
length mm
time s
speed mm/sangle degree
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.13 Restart
32 3HAC16584-1 Revision F
Example
This example uses have the TRAP in the main module. The recommendation is that allTRAPS should be executed by a background task.
The example changes the main speed and weave width in a TRAP.
VAR i nt num i nt no0;
PROC mai n( )
I Del et e i nt no0;
CONNECT i nt no0 WI TH Mai nMot i onTrp;
I Cap i nt no0, MAI N_MOTI ON;
CapL p11, v100, cdata1, weavest ar t , weave, z20, t ool 0;ENDPROC
TRAP Mai nMot i onTrp
cdat a1. speed_dat a. mai n : = 23;
weave. wi dth : = 5;
ENDTRAP
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functiona
2.1.14 System event rout
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
2.1.14 System event routines
General
Due to the fact that CAP knows nothing about external equipment, the control of the equ
ment must be handled in shelf-hooks (stop-, start-, restart-, ...) or in ICap trap events (s
ICap - connect CAP events to trap routineson page 63). Normally the ICap trap events a
used to activate and deactivate equipment.
All errors and stops generated directly from the CAP source code in the controller softwa
can be handled in the CAP_STOP ICap event. The CAP_STOP trap event is executed as so
as CAP detects an error (fatal or recoverable) or if the RAPID program is stopped with a
active CAP process, i.e. a CapX instruction has been executed, but no CapX instruction wlast_instruction:=TRUE (seecapdata - CAP dataon page 103). The procedure that should
run when a stop occurs must deactivate external equipment. The stop shelf is necessary t
take the system to a fail-safe state, if anything unexpected happens in the controller softw
Exceptions
Not all errors can be handled in shelf-hooks or with the CAP_STOP trap. If the system,
of what ever reason, is forced into System failure state, all execution of RAPID code is im
diately stopped. To handle this situation, the signal definitions (in EIO.cfg) for signals th
handle external equipment must contain the flag -SysfailReset, which will set the signal todefault value (0 or defined by the flag -default). It is also strongly recommended to set u
those signals with CapCondSetDOto be set to a defined status, when TCP movement sto
(see CapCondSetDO - Set a digital output signal at TCP stopon page 91).
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
2 Functionality
2.1.15 Limitations
34 3HAC16584-1 Revision F
2.1.15 Limitations
Problems can occur if much logging to files is added in CAP and user event trap routines. The
reason is that file writing takes long time and will delay the execution of the next instruction.
That may cause corner path failure, stopping the movement of the robot for a short time,
which may be fatal for the process (e.g. arc welding).
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
3 Programing examp
3.1.1 Laser cutting exam
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
3 Programing examples
3.1 CAP application
Description
This chapter describes how to build an application using CAP.
3.1.1 Laser cut ting example
Requirements
a slot is to be cut into a number of metal sheets with a laser
at the starting point of the slot accuracy is not critical
at the finishing point of the slot accuracy is required
the application is time critical, i.e. it has to be as fast as possible
CAP setup to meet the requirements
flying start: the robot can move with speed past the start point (P1) and start th
process on the fly between point P1 and P-Start.
normal end: the robot must cut all the way to the end point (P2) and stop befo
turning off the laser and moving on to next cycle.
In order to assure the quality of the cuts the process needs to be started at the lat
one second after passing P-Start. Three seconds are given for ending the process.
Figure 10 Laser cutting example
P2P1 Pstart100mm
motion
START_SUPERV END_SUPERV
P2P1 Pstart100mm
motion
START_SUPERVSTART_SUPERV END_SUPERVEND_SUPERV
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
3 Programing examples
3.1.2 Step by step
36 3HAC16584-1 Revision F
3.1.2 Step by step
Set up CAP events
First there is a need to set up the events that are going to be ordered from CAP. For this
application a minimum of two events are needed: START_SUPERV given at the P-Start
point for starting the process. END_SUPERV given at the end point for turning off the
process. That is done the following way:
VAR i nt num st ar t _i nt no: =0;
VAR i nt num end_i nt no: =1;
TRAP st ar t _t r apSet Do doLaser On, hi gh;
ENDTRAP
TRAP end_t r ap
Set Do doLaser On, l ow;
ENDTRAP
I Del et e st ar t _i nt no;
I Del et e end_i nt no;CONNECT st ar t _i nt no WI TH st ar t _t r ap;
CONNECT end_i nt no WI TH end_t r ap;
I Cap st ar t _i nt no, START_SUPERV;
I Cap end_i nt no, END_SUPERV;
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
3 Programing examp
3.1.2 Step by
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
Set up supervision
In this case only one signal, diLaserOn, needs to be supervised, but in three different procphases:
Furthermore we need to setup the start point for supervision of the START phase, and se
the time-out timers for the START and the END phase. This is done the following way:
Set upSuper v di Laser On, ACT, SUPERV_START;
Set upSuper v di Laser On, ACT, SUPERV_MAI N;
Set upSuper v di Laser On, PAS, SUPERV_END_MAI N;
capdat a. st ar t _f l y_poi nt . pr ocess_di st : = 0;
capdat a. st ar t _f l y_poi nt . di st ance : = 100;
capdat a. sup_t i meout s. st ar t _cond : = 1;
capdat a. end_f l y_poi nt . pr ocess_di st : = 0;
capdat a. end_f l y_poi nt . di st ance : = 0;capdat a. sup_t i meout s. end_mai n_cond : = 3;
The main program
The user maight use an encapsulation of CapL and call it e.g. CutL, which might be defin
as follows:
PROC CUTL ( . . . )
MoveL p1, v100, z10, . . .
CapL p2, v100, cdat a, st ar t weave, weave, f i ne, t ool 0, .
MoveL px, . . .
ENDPROC
Action
1. diLaserOn goes high(ACT) in the START phase.
2. diLaserOn stays high(i.e trigger on PAS) during the MAIN phase.
3. diLaserOn goes low(PAS) in the END phase.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
3 Programing examples
3.1.2 Step by step
38 3HAC16584-1 Revision F
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.1 CapL - Linear CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
4 Rapid Programming
4.1 Instructions
4.1.1 CapL - Linear CAP motion inst ruction
Description
CapLis used to move the tool center point (TCP) linearly to a given destination and at th
same time control a continuous process. Furthermore it is possible to connect up to eight
events to CapL. The events are defined using the instructions TriggRampAO, TriggIO,TriggEquip, TriggInt, TriggCheckIO or TriggSpeed.
Example1
Linear movements with CapL.
CapL p1, v100, cdat a, weavest ar t , weave, z50, gun1;
The TCP of the tool, gun1, is moved linearly to the position p1, with speed defined in cda
and zone data z50.
Example 2
Circular movement with user event and CAP event.
PROC mai n( )
VAR t r i ggdat a gunon;
VAR i nt num st ar t _i nt no: =0;
I Del et e st ar t _i nt no;
CONNECT st ar t _i nt no WI TH st ar t _t r ap;
I Cap st ar t _i nt no, CAP_START;
Tr i ggI O gunon, 0 \ St ar t \ DOp: =gun, on;MoveJ p1, v500, z50, gun1;
CapL p2, v500, cdat a, wst ar t , w1, f i ne, gun1, \ T1: =gunon;
ENDPROC
TRAP st ar t _t r ap
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.1 CapL - Linear CAP motion instruction
40 3HAC16584-1 Revision F
! Thi s r out i ne wi l l be execut ed when t he! event CAP_START ar r i ves
ENDTRAPThe digital output signal gun is set when the robots TCP passes the midpoint of the corner
path of the point p1. The trap routine start_trap is executed when the CAP process is starting.
Figure 11 Example of fixed-position IO event.
Arguments
CapLToPoint [ \Id ] Speed Cdata [ \MoveStartTimer] Weavestart Weave Zone [\Inpos ] Tool [ \WObj ] [ \Track ] | [ \Corr ] [ \T1 ] [ \T2 ] [ \T3 ] [ \T4 ][ \T5 ] [ \T6 ] [ \T7 ] [ \T8 ]
ToPoint Data type: robtarget
The destination point of the robot and external axes. It is defined as a named position or stored
directly in the instruction (marked with an * in the instruction).
[ \Id ] (Synch identity) Data type: identno
Synchronization identity for RAPID movement instructions in a MultiMove system in syn-
chronized mode.
Speed Data type: speeddata
The speed data that applies to movements without active CAP process. Speed data defines the
velocity of the tool centre point, the external axes and of the tool reorientation. If a CAP
process is active (not blocked), then the Cdata aargument defines the TCP velocity.
CapL p2,v500,cdata,wstart,w1,fine,gun1,\T1:=gunon;
Start pointp1
The output signal gun is set to onwhen the robots TCP is here
;
End pointp2
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.1 CapL - Linear CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
Cdata (CAP process Data) Data type: capdata
CAP process data, see capdata - CAP dataon page 103for a detailed description.
[ \Movestart_timer ] (Time in s) Data type: num
Upper limit for the time difference between the order of the process start and the actual s
of the robots TCP movement in a MultiMove system in synchronized mode.
Weavestart (Weavestart Data) Data type:weavestartdata
Weave start data for the CAP process, see weavestartdata - weave start data on page 121
a detailed description.
Weave (Weave Data) Data type: capweavedata
Weaving data for the CAP process, see capweavedata - Weavedata for CAPon page 123
a detailed description.
Zone Data type: zonedata
Zone data for the movement. Zone data describes the size of the generated corner path.
[\Inpos ] (In position) Data type: stoppointdata
This argument is used to specify the convergence criteria for the position of the robots Tin the stop point. The stop point data substitutes the zone specified in theZoneparamete
Tool Data type: tooldata
The tool in use when the robot moves. The tool centre point (TCP) is the point that is mov
to the specified destination position.
[ \WObj ] (Work Object) Data type: wobjdata
The work object (coordinate system) to which the robot position in the instruction is rela
This argument can be omitted, and if it is, the position is related to the world coordinatesystem. If, on the other hand, a stationary TCP or coordinated external axes are used, thi
argument must be specified for a linear movement relative to the work object to be perform
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.1 CapL - Linear CAP motion instruction
42 3HAC16584-1 Revision F
[ \Track ] (Track Sensor Data) Data type: captrackdata
This data structure contains data needed for use of path correction generating sensors togetherwith CapL, seecaptrackdata - CAP track dataon page 131for a detailed description. This
argument is not allowed together with the argument\Corr.
[ \Corr ] (Use Correction Generator) Data type: switch
This argument tells CapL to read path corrections from a Correction generator (see Technical
reference manual - RAPID Instructions, functions and data types- CorrCon). This argument
is not allowed together with the argument\Track.
[ \T1 ] (Trigg 1) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T2 ] (Trigg 2) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T3 ] (Trigg 3) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T4 ] (Trigg 4) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T5 ] (Trigg 5) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T6 ] (Trigg 6) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.1 CapL - Linear CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
[ \T7 ] (Trigg 7) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the prograusing the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T8 ] (Trigg 8) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the progra
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
Error handling
There are several different types of errors that can be handled in the error handler for the
CapC/CapL instructions:
supervision errors
sensor specific errors
errors specific to a MultiMove system
errors inherited from TriggXfunctionality
other CAP errors
If one of the signals that is supposed to be supervised does not have the correct value, or i
changes value during supervision, the system variable ERRNO is set. If no values can be r
from the track sensor, the system variable ERRNO is set.
For a MultiMove system running in synchronized mode the error handler must take care
two other errors. One is used to report that some other application has detected an recovera
error. This facilitates functionality of recoverable error handling in syncronized RAPID tas
The other error, CAP_MOV_WATCHDOG, is reported if the time between the order of t
process start and the actual start of the robots TCP movement in a MultiMove system in
synchronized mode expires. The time used is specified in the optional parameter
Movestart_timer in the CapL instruction.
If anything abnormal is detected, program execution will stop. If, however, an error hand
is programmed, the errors defined below can be remedied without stopping production. H
ever, a recommendation is that some of the errors (the errors with CAP_XX) these errors
should not be presented for the end user. Map those errors to a application specific error.
the supervision errors the instruction CapGetFailSigs can be used to get which specific sig
that failed.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.1 CapL - Linear CAP motion instruction
44 3HAC16584-1 Revision F
Supervision errors
CAP_PRE_ERR
This error occurs when there is an error in the PRE supervision list, i.e. when the conditions
in the list are not met within the specified time frame (specified in pre_cond time-out).
CAP_PRESTART_ERR
This error occurs when there is an error during the supervision of the Pre phase.
CAP_START_ERR
This event occurs when there is an error in the START supervision list, i.e. when the con-ditions in the list are not met within the specified time frame (specified in start_cond time-
out)
CAP_MAIN_ERR
This error occurs when there is an error during the supervision of the Main phase.
CAP_ENDMAIN_ERR
This error occurs when there is an error in the END_MAIN supervision list, i.e. when the
conditions in the list are not met within the specified time frame (specified in
end_main_cond time-out).
CAP_POST1_ERR
This error occurs when there is an error during the supervision of the Post1 phase.
CAP_POST1END_ERR
This error occurs when there is an error in the POST1END supervision list, i.e. when theconditions in the list are not met within the specified time frame (specified in
end_main_cond time-out).
CAP_POST2_ERR
This error occurs when there is an error during the supervision of the Post1 phase.
CAP_POST2END_ERR
This error occurs when there is an error in the POST2END supervision list, i.e. when the
conditions in the list are not met within the specified time frame (specified in
end_main_cond time-out).
If supervision is done on two different signals in the same phase, and both of them fails,
the first one that is setup with SetupSuperv is the one that generates the error.
Sensor related errors
CAP_TRACK_ERR
Track error occurs when reading data from sensor and after a time no valid data are
received. One reason for this could be that the sensor cant indicate the seam.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.1 CapL - Linear CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
CAP_TRACKSTA_ERR
Track start error occurs when no valid data has been read from the laser track sensor
CAP_TRACKCOR_ERR
Track correction error occurs when something goes wrong in the calculation of the off
CAP_TRACKPFR_ERR
It is not possible to continue tracking, if a power failure occured during tracking.
CAP_SEN_NO_MEAS
The controller dit not get a valid measurement from sensor.
CAP_SEN_NOREADY
The sensor is not ready yet.
CAP_SEN_GENERRO
A general sensor error occurred.
CAP_SEN_BUSY
The sensor is busy and cannot answer the request.
CAP_SEN_UNKNOWN
The command sent to the sensor is unknown to sensor
CAP_SEN_ILLEGAL
The variable or block number sent to the sensor is illegal.
CAP_SEN_EXALARM
An external alarm occurred in the sensor.
CAP_SEN_CAALARM
A camera alarm occurred in the sensor.
CAP_SEN_TEMP
The sensor temperatureis out of range.
CAP_SEN_VALUE
The value sent to the sensor is out of range
CAP_SEN_CAMCHECK
The camera check failed
CAP_SEN_TIMEOUT
The sensor did not respond within the time out time.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.1 CapL - Linear CAP motion instruction
46 3HAC16584-1 Revision F
Errors when possible in MultiMove system
ERR_PATH_STOP
When using synchronized motion this error is reported when an application con-
tolling one mechanical unit detects a recoverable error and notifies other applications
that something went wrong. If this error code is received from a CapL/CapC instruc-
tion, the error is a reaction on another error. All tasks using motion instructions in
syncronized mode in a MultiMove system should have this ERRNO value defined in
the error handler.
Errors inherited from TriggX
The CapL instruction is based on the TriggL instruction. As a consequence you can get andhandle the errors ERR_AO_LIM and ERR_DIPLAG_LIM, as in TriggL.
ERR_AO_LIM
If the programmed ScaleValue/SetValue argument for the specified analog output signal
AOp/AOutput in some of the connected TriggSpeed/TriggRampAO instructions, results is
out of limit for the analog signal together with the programmed Speed in this instruction, the
system variable ERRNO is set to ERR_AO_LIM.
ERR_DIPLAG_LIM
If the programmed DipLag argument in some of the connected TriggSpeed instructions, is
too big in relation to the used Event Preset Time in System Parameters, the system vari-
able ERRNO is set to ERR_DIPLAG_LIM.
Other CAP errors
CAP_NOPROC_END
This error occurrs, if you used the instruction CapNoProcess,to run a certain distance
without application process, and the end of this distance is reached. This is not really anerror, but it uses the mechanisms of error recovery.
Program execution
See the RAPID instruction MoveL for information about linear movement.
See the RAPID instruction TriggL for information about linear movement with trigg events.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.1 CapL - Linear CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
CAP process
During continuous execution in both Auto mode and Manual mode, the CAP process is rning, unless it is blocked. That means, that all data controlling the CAP process (i.e. Cda
Weavestart, Weave and Movestart_timer), are used. In these modes all CAP trigger activit
seeICap - connect CAP events to trap routineson page 63, are carried out.
In all other execution modes the CAP process is not running, and the CapL instruction
behaves like a MoveL instruction.
Triggdata ([ \T1 ] ... [ \T8 ])
As the trigger conditions are fulfilled when the robot is positioned closer and closer to the
point, the defined trigger activities are carried out. The trigger conditions are fulfilled eit
at a certain distance before the end point of the instruction, or at a certain distance after t
start point of the instruction, or at a certain point in time (limited to a short time) before t
end point of the instruction.
During stepping execution forwards, the I/O activities are carried out but the interrupt ro
tines are not run. During stepping execution backwards, no trigger activities at all are carr
out.
Limitations
If the current start point deviates from the usual, so that the total positioning length of th
instruction CapL is shorter than usual (e.g. at the start of CapL with the robot position at
end point), it may happen that several or all of the trigger conditions are fulfilled immediat
and at the same position. In such cases, the sequence in which the trigger activities are carr
out will be undefined. The program logic in the user program may not be based on a norm
sequence of trigger activities for an incomplete movement.
The behaviour of the CAP process may be undefined if an error occurs during CapL or Ca
instructions with extremely short TCP movements (< 1 mm).
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.1 CapL - Linear CAP motion instruction
48 3HAC16584-1 Revision F
Syntax
CapL[ ToPoi nt : = ] < expr essi on ( I N) of r obt ar get > , [ \ I d : = < expr essi on ( I N) of i dent no > ] , [ Speed : = ] < expr essi on ( I N) of speeddat a > , [ Cdat a : = ] < per si st ent ( PERS) of capdat a > , [ \ Movest ar t _t i mer : = < expr essi on ( I N) of num > ] , [ Weavest ar t : = ] < per si st ent ( PERS) of weavest ar t dat a > , [ Weave : = ] < persi st ent ( PERS) of capweavedata > , [ Zone : = ] < expr essi on ( I N) of zonedat a > ,
[ \ I npos: = < expr essi on ( I N) of st oppoi nt dat a >] , [ Tool : = ] < per si st ent ( PERS) of t ool dat a >[ \ WObj : = < per si st ent ( PERS) of wobj dat a > ][ \ Tr ack : = < per si st ent ( PERS) of capt r ackdat a > ][ \ T1 : = < var i abl e ( VAR) of t r i ggdat a > ][ \ T2 : = < var i abl e ( VAR) of t r i ggdat a > ][ \ T3 : = < var i abl e ( VAR) of t r i ggdat a > ][ \ T4 : = < var i abl e ( VAR) of t r i ggdat a > ][ \ T5 : = < var i abl e ( VAR) of t r i ggdat a > ][ \ T6 : = < var i abl e ( VAR) of t r i ggdat a > ]
Related information
Described in:
Linear movement Technical reference manual - RAPID Instructions,
functions and data types - MoveL
Linear movement with triggers Technical reference manual - RAPID Instructions,
functions and data types - TriggL
Definition of triggers Technical reference manual - RAPID Instructions,
functions and data types - TriggIO, TriggEquip,TriggIntor TriggCheckIO
Definition of speed Technical reference manual - RAPID Instructions,
functions and data types - speeddata
Definition of CAP data capdata - CAP dataon page 103
Definition of weave start data weavestartdata - weave start dataon page 121
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.1 CapL - Linear CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
Definition of weave data capweavedata - Weavedata for CAPon page 123
Definition of zone data Technical reference manual - RAPID Instructions,
functions and data types - zonedata
Definition of stop point data Technical reference manual - RAPID Instructions,
functions and data types - stoppointdata
Definition of tools Technical reference manual - RAPID Instructions,
functions and data types - tooldata
Definition of work objects Technical reference manual - RAPID Instructions,
functions and data types - wobjdata
Definition of track data captrackdata - CAP track dataon page 131
Motion in general Technical reference manual - RAPID overview - Moti
Principles
Described in:
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.1 CapL - Linear CAP motion instruction
50 3HAC16584-1 Revision F
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.2 CapC - Circular CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
4.1.2 CapC - Circular CAP motion inst ruct ion
Decription
CapCis used to move the tool center point (TCP) along a circular path to a given destinat
and at the same time control a continuous process. Furthermore it is possible to connect up
eight events to CapC. The events are defined using the instructions TriggRampAO, Trigg
TriggEquip, TriggInt, TriggCheckIO or TriggSpeed.
Example 1
Circular movements with CapC.
CapC ci r p, p1, v100, cdat a, weavest ar t , weave, f i ne, gun
The TCP of the tool, gun1, is moved circularly to the fine point p1with speed defined in cd
Example 2
Circular movement with user event and CAP event.
PROC mai n( )
VAR t r i ggdat a gunon;
VAR i nt num st ar t _i nt no: =0;
I Del et e st ar t _i nt no;
CONNECT st ar t _i nt no WI TH st ar t _t r ap;
I Cap st ar t _i nt no, CAP_START;
Tr i ggI O gunon, 0 \ St ar t \ DOp: =gun, on;
MoveJ p1, v500, z50, gun1;
CapC p2, p3, v500, cdat a, wst ar t , w1, f i ne, gun1, \ T1: =gunon;
ENDPROC
TRAP st ar t _t r ap
! Thi s r out i ne wi l l be execut ed when t he! event CAP_START i s r eport ed
ENDTRAP
The digital output signal gun is set when the robots TCP passes the midpoint of the corn
path of the point p1. The trap routine start_trap is executed when the CAP process is start
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.2 CapC - Circular CAP motion instruction
52 3HAC16584-1 Revision F
Figure 12 Example of fixed-position IO event.
Arguments
CapCCirpoint ToPoint [ \Id ] Speed Cdata [ \MoveStartTimer ] WeavestartWeave Zone [\Inpos] Tool [ \WObj ] [ \Track ] | [ \Corr ] [ \T1 ] [ \T2 ][ \T3 ] [ \T4 ] [ \T5 ] [ \T6 ] [ \T7 ] [ \T8 ]
Cirpoint Data type: robtarget
The circle point of the robot. The circle point is a point on the circle between the start point
and the destination point. To obtain the best accuracy it should be placed about halfway
between the start and destination points. If it is placed to close to the start or end point, the
robot may give a warning. The circle point is defined as a named position or stored directlyin the instruction (if marked with an * in the instruction).
ToPoint Data type:robtarget
The destination point of the robot and external axes. It is defined as a named position or stored
directly in the instruction (marked with an * in the instruction).
[ \Id ] (Synch identity) Data type: identno
Synchronization identity for RAPID movement instructions in a MultiMove system in syn-
chronized mode.
Speed Data type:speeddata
The speed data that applies to movements without active CAP process. Speed data defines the
velocity of the tool centre point, the external axes and of the tool reorientation. If a CAP
process is active (not blocked), then the Cdata aargument defines the TCP velocity.
Start pointp1
The output signal gun is set to onwhen the TCP of the robot is here
CapC p2,p3,v500,cdata,wstart,w1,fine,gun1,\T1:=gunon;
Circle pointp2
End pointp3
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.2 CapC - Circular CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
Cdata (CAP process Data) Data type:capdata
CAP process data, see chapter capdata - CAP dataon page 103for a detailed description
[ \Movestart_timer ](Time in s) Data type: num
Upper limit for the time difference between the order of the process start and the actual s
of the robots TCP movement in a MultiMove system in synchronized mode.
Weavestart (Weavestart Data) Data type: weavestartdata
Weave start data for the CAP process, see chapter weavestartdata - weave start dataon p
121for a detailed description.
Weave (Weave Data) Data type:capweavedata
Weaving data for the CAP process, see chapter capweavedata - Weavedata for CAPon p
123for a detailed description.
Zone Data type: zonedata
Zone data for the movement. Zone data describes the size of the generated corner path.
[\Inpos ] (In position) Data type:stoppointdata
This argument is used to specify the convergence criteria for the position of the robots Tin the stop point. The stop point data substitutes the zone specified in theZoneparamete
Tool Data type:tooldata
The tool in use when the robot moves. The tool centre point (TCP) is the point that is mov
to the specified destination position.
[ \WObj ] (Work Object) Data type: wobjdata
The work object (coordinate system) to which the robot position in the instruction is rela
This argument can be omitted, and if it is, the position is related to the world coordinatesystem. If, on the other hand, a stationary TCP or coordinated external axes are used, thi
argument must be specified for a linear movement relative to the work object to be perform
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.2 CapC - Circular CAP motion instruction
54 3HAC16584-1 Revision F
[ \Track ] (Track Sensor Data) Data type: captrackdata
This data structure contains data needed for use of path correction generating sensors togetherwith CapC, see captrackdata - CAP track dataon page 131for a detailed description. This
argument is not allowed together with the argument\Corr.
[ \Corr ] (Use Correction Generator) Data type: switch
This argument tells CapC to read path corrections from a Correction generator (see Technical
reference manual - RAPID Instructions, functions and data types- Instruction CorrCon). This
argument is not allowed together with the argument\Track.
[ \T1 ] (Trigg 1) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T2 ] (Trigg 2) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T3 ] (Trigg 3) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T4 ] (Trigg 4) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T5 ] (Trigg 5) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T6 ] (Trigg 6) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the program
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.2 CapC - Circular CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
[ \T7 ] (Trigg 7) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the prograusing the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
[ \T8 ] (Trigg 8) Data type: triggdata
Variables that refer to trigger conditions and trigger activity, defined earlier in the progra
using the instructions TriggRampAO, TriggIO, TriggEquip or TriggInt.
Error handling
There are several different types of errors that can be handled in the error handler for the
CapC/CapL instructions:
supervision errors
sensor specific errors
errors specific to a MultiMove system
errors inherited from TriggXfunctionality
other CAP errors
If one of the signals that is supposed to be supervised does not have the correct value, or i
changes value during supervision, the system variable ERRNO is set.
If no values can be read from the track sensor, the system variable ERRNO is set.
For a MultiMove system running in synchronized mode the error handler must take care
two other errors. One is used to report that some other application has detected an recovera
error. This facilitates functionality of recoverable error handling in syncronized RAPID tas
The other error, CAP_MOV_WATCHDOG, is reported if the time between the order of t
process start and the actual start of the robots TCP movement in a MultiMove system in
synchronized mode expires. The time used is specified in the optional parameter
Movestart_timer in the CapC instruction.
If anything abnormal is detected, program execution will stop. If, however, an error hand
is programmed, the errors defined below can be remedied without stopping production. H
ever, a recommendation is that some of the errors (the errors with CAP_XX) these errorsshould not be presented for the end user. Map those errors to a application specific error.
the supervision errors the instruction CapGetFailSigs can be used to get which specific sig
that failed.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.2 CapC - Circular CAP motion instruction
56 3HAC16584-1 Revision F
Supervision errors
CAP_PRE_ERR
This error occurs when there is an error in the PRE supervision list, i.e. when the conditions
in the list are not met within the specified time frame (specified in pre_cond time-out).
CAP_PRESTART_ERR
This error occurs when there is an error during the supervision of the Pre phase.
CAP_START_ERR
This event occurs when there is an error in the START supervision list, i.e. when the con-
ditions in the list are not met within the specified time frame (specified in start_cond time-
out).
CAP_MAIN_ERR
This error occurs when there is an error during the supervision of the Main phase.
CAP_ENDMAIN_ERR
This error occurs when there is an error in the END_MAIN supervision list, i.e. when the
conditions in the list are not met within the specified time frame (specified inend_main_cond time-out).
CAP_POST1_ERR
This error occurs when there is an error during the supervision of the Post1 phase.
CAP_POST1END_ERR
This error occurs when there is an error in the POST1END supervision list, i.e. when the
conditions in the list are not met within the specified time frame (specified inend_main_cond time-out).
CAP_POST2_ERR
This error occurs when there is an error during the supervision of the Post1 phase.
CAP_POST2END_ERR
This error occurs when there is an error in the POST2END supervision list, i.e. when the
conditions in the list are not met within the specified time frame (specified in
end_main_cond time-out).
If supervision is done on two different signals in the same phase, and both of them fails,
the first one that is setup with SetupSuperv is the one that generates the error.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.2 CapC - Circular CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
Sensor related errors
CAP_TRACK_ERR
Track error occurs when reading data from sensor and after a time no valid data are
received. One reason for this could be that the sensor cant indicate the seam.
CAP_TRACKSTA_ERR
Track start error occurs when no valid data has been read from the laser track sensor
CAP_TRACKCOR_ERR
Track correction error occurs when something goes wrong in the calculation of the off
CAP_TRACKCOM_ERROR
The communication between the robot controller and the sensor equipment is broken
CAP_TRACKPFR_ERRIt is not possible to continue tracking, if a power failure occured during tracking.
CAP_SEN_NO_MEAS
The controller dit not get a valid measurement from sensor.
CAP_SEN_NOREADY
The sensor is not ready yet.
CAP_SEN_GENERRO
A general sensor error occurred.
CAP_SEN_BUSY
The sensor is busy and cannot answer the request.CAP_SEN_UNKNOWN
The command sent to the sensor is unknown to sensor
CAP_SEN_ILLEGAL
The variable or block number sent to the sensor is illegal.
CAP_SEN_EXALARM
An external alarm occurred in the sensor.
CAP_SEN_CAALARM
A camera alarm occurred in the sensor.
CAP_SEN_TEMP
The sensor temperatureis out of range.
CAP_SEN_VALUE
The value sent to the sensor is out of range
CAP_SEN_CAMCHECK
The camera check failed
CAP_SEN_TIMEOUT
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.2 CapC - Circular CAP motion instruction
58 3HAC16584-1 Revision F
The sensor did not respond within the time out time.
Errors possible in MultiMove systems
ERR_PATH_STOP
When using synchronized motion this error is reported when an application contolling one
mechanical unit detects a recoverable error and notifies other applications that something
went wrong. If this error code is received from a CapC instruction, the error is a reaction
on another error. All tasks using motion instructions in syncronized mode in a MultiMove
system should have this ERRNO value defined in the error handler.
Errors inherited from TriggX
The CapC instruction is based on the TriggC instruction. As a consequence you can get and
handle the errors ERR_AO_LIM and ERR_DIPLAG_LIM, as in TriggC.
ERR_AO_LIM
If the programmed ScaleValue/SetValue argument for the specified analog output signal
AOp/AOutput in some of the connected TriggSpeed/TriggRampAO instructions, results is
out of limit for the analog signal together with the programmed Speed in this instruction, the
system variable ERRNO is set to ERR_AO_LIM.
ERR_DIPLAG_LIM
If the programmed DipLag argument in some of the connected TriggSpeed instructions, is
too big in relation to the used Event Preset Time in System Parameters, the system vari-
able ERRNO is set to ERR_DIPLAG_LIM.
Other CAP errors
CAP_NOPROC_END
This error occurrs, if you used the instruction CapNoProcess,to run a certain distance
without application process, and the end of this distance is reached. This is not really anerror, but it uses the mechanisms of error recovery.
Program executionSee the RAPID instruction MoveC for information about circular movement.
See the RAPID instruction TriggC for information about circular movement with trig events.
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programm
4.1.2 CapC - Circular CAP motion instruc
3HAC16584-1 Revision F
C
opyright200
4-2007ABB.
Allrightsreserved.
CAP process
During continuous execution in both Auto mode and Manual mode, the CAP process is rning, unless it is blocked. That means, that all data controlling the CAP process (i.e. Cda
Weavestart, Weave and Movestart_timer), are used. In these modes all CAP trigger activit
seeICap - connect CAP events to trap routineson page 63, are carried out.
In all other execution modes the CAP process is not running, and the CapC instruction
behaves like a MoveC instruction.
Triggdata ([ \T1 ] ... [ \T8 ])
As the trigger conditions are fulfilled when the robot is positioned closer and closer to the
point, the defined trigger activities are carried out. The trigger conditions are fulfilled eit
at a certain distance before the end point of the instruction, or at a certain distance after t
start point of the instruction, or at a certain point in time (limited to a short time) before t
end point of the instruction.
During stepping execution forwards, the I/O activities are carried out but the interrupt ro
tines are not run. During stepping execution backwards, no trigger activities at all are carr
out.
Limitations
There are some limitations in how the CirPointand the ToPointcan be placed, as shown
the figure below.
Figure 13 limitations
x
x x
0.1 mm
ToPoint
CirPoint
x
x
start
CirPoint0.1 mm
xx
x
CirPoint
aa > 1
x ToPoin
start
start ToPointdegree
-
5/19/2018 Continous Application Platform 3HAC16584-1_revF_en
4 Rapid Programming
4.1.2 CapC - Circular CAP motion instruction
60 3HAC16584-1 Revision F
Minimum distance between start and ToPoint is 0.1 mm
Minimum distance between start and CirPoint is 0.1 mm
Minimum angle between CirPoint and ToPoint from the start point is 1 degree
The accuracy can be poor near the limits, e.g. if the start point and the ToPoint on the circle
are close to each other, the fault caused by the leaning of the circle can be much greater than
the accuracy with which the points have been program