Continous Application Platform 3HAC16584-1_revF_en

142
 Appli c ation manual Continuous Application Pla tform Robot controller RobotWare 5.0

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