CIRCLE motion

  • In KUKA robot, I would like ask all of you: How many way to program circle motion CIRC in KRL? Please show me why the robot can not move with CIRCLE motion when I program like this:
    ; point definition
    P1={X xx, Y xx, Z xx, A xx, B xx, C xx}
    P2={X xx, Y xx, Z xx, A xx, B xx, C xx}
    ; main program
    CIRC P1, P2
    In more detail please see attachment file as below:

  • Schritt für Schritt zum Roboterprofi!
  • I baught a new car. If i start the engine it doesn't move! What's wrong? :zwink:


    :huh:
    What's the problem with the circle?
    Does the robot stops with an error message?
    What's wrong with the circ movement.


    More informations please!

    Greetings, Irrer Polterer!

    Wie poste ich falsch? Nachdem ich die Suche und die FAQ erfolgreich ignoriert habe, erstelle ich das gleiche Thema in mehreren Unterforen, benutze einen sehr kreativen Titel wie "Hilfe", am Besten noch mit mehreren Ausrufezeichen, und veröffentliche einen so eindeutigen Text, dass sich jeder etwas Anderes darunter vorstellt.


    Life is a beta version. Full of bugs and no Manual.

  • Dear IrrerPoterer,
    all the program I attached robot program as below, in which I include Linear motion and CIRCLE motion, the robot executed all Linear statement properly but when the program move to CIR statement the robot will stop immediately and the message alsway indicates in message box as following:
    CIRC Parameters not alowed.
    Could you explain to me more detail meaning of this error? as show me How to show this problem?
    Here is main program CONTOUR.src
    &ACCESS RVO
    DEF CONTOUR ( )
    ;FOLD INI;%{PE}%V2.2.2,%MKUKATPBASIS,%CINIT,%VCOMMON,%P
    ;FOLD BAS INI;%{PE}%V2.2.2,%MKUKATPBASIS,%CINIT,%VINIT,%P
    INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
    INTERRUPT ON 3
    BAS (#INITMOV,0 )
    ;ENDFOLD
    ;FOLD A20 INI;%{E}%V2.2.2,%MKUKATPA20,%CINIT,%VINIT,%P
    IF ARC20==TRUE THEN
    A20 (ARC_INI )
    INTERRUPT DECL 6 WHEN $CYCFLAG[3]==FALSE DO A20 (TECH_STOP2 )
    ENDIF
    ;ENDFOLD
    ;FOLD A10 INI;%{E}%V2.2.2,%MKUKATPARC,%CINIT,%VINIT,%P
    IF A10_OPTION==#ACTIVE THEN
    INTERRUPT DECL 4 WHEN $CYCFLAG[2]==FALSE DO A10 (#APPL_ERROR )
    INTERRUPT DECL 7 WHEN A_ARC_SWI==#ACTIVE DO A10 (#ARC_SEAM )
    INTERRUPT DECL 5 WHEN A_FLY_ARC==TRUE DO A10 (#HPU_ARC )
    INTERRUPT ON 5
    A10_INI ( )
    ENDIF
    ;ENDFOLD
    ;FOLD GRIPPER INI;%{E}%V2.2.2,%MKUKATPGRIPPER,%CINIT,%VINIT,%P
    USER_GRP (0,DUMMY,DUMMY,GDEFAULT )
    ;ENDFOLD
    ;FOLD SPOT INI;%{E}%V.2.2,%MKUKATPSPOT,%CINIT,%VINIT,%P
    USERSPOT (#INIT )
    ;ENDFOLD
    ;FOLD TOUCHSENSE INI;%{E}%V2.2.2,%MKUKATPTS,%CINIT,%VINIT,%P
    IF H70_OPTION THEN
    INTERRUPT DECL 15 WHEN $MEAS_PULSE[TOUCH_I[TOUCH_ACTIVE].IN_NR] DO H70 (6,CD0 )
    INTERRUPT DECL 16 WHEN $ZERO_MOVE DO H70 (7,CD0 )
    INTERRUPT DECL 17 WHEN $TECHPAR_C[FG_TOUCH,8]>0.5 DO H70 (8,CD0 )
    H70 (1,CD0 )
    ENDIF
    ;ENDFOLD
    ;FOLD USER INI;%{P}%V2.2.2,%MKUKATPUSER,%CINIT,%VINIT,%P
    ;Make your modifications here
    ;ENDFOLD
    ;ENDFOLD


    ;--------Initialization section--------


    ;--Definition of coordinate system with Tool--


    BASE={X 0,Y 0,Z 0,A 0,B 0,C 0}
    SPRAYGUN={X 0,Y 0,Z 260,A 0,B 0,C 0}


    ;--Definition of Axis Velocity and Accelerate--


    $VEL_AXIS[1]=20
    $VEL_AXIS[2]=20
    $VEL_AXIS[3]=20
    $VEL_AXIS[4]=20
    $VEL_AXIS[5]=20
    $VEL_AXIS[6]=20


    $ACC_AXIS[1]=20
    $ACC_AXIS[2]=20
    $ACC_AXIS[3]=20
    $ACC_AXIS[4]=20
    $ACC_AXIS[5]=20
    $ACC_AXIS[6]=20


    ;---The point positions is import by UltraEditor 32 here---
    ;List test point use for Off_line programming of KUKA Roboter


    P1={X 1400.0,Y 0.0,Z 400.0,A 90.0,B 0.0,C 180.0}
    P2={X 1385.1,Y -14.9,Z 385.1,A 90.0,B 0.0,C 180.0}
    P3={X 1385.1,Y -14.9,Z 385.1,A 90.0,B 0.0,C 180.0}
    P4={X 1385.1,Y -14.9,Z 385.1,A 90.0,B 0.0,C 180.0}
    P5={X 1385.1,Y -14.9,Z 385.1,A 90.0,B 0.0,C 180.0}
    P6={X 1390.1,Y -9.9,Z 390.1,A 90.0,B 0.0,C 180.0}
    P7={X 1393.63,Y -6.37,Z 393.63,A 90.0,B 0.0,C 180.0}
    P8={X 1395.1,Y -4.9,Z 395.1,A 90.0,B 0.0,C 180.0}
    P9={X 1395.1,Y -4.9,Z 395.1,A 90.0,B 0.0,C 180.0}
    P10={X 1406.48,Y 6.48,Z 406.48,A 90.0,B 0.0,C 180.0}
    P11={X 1411.2,Y 11.2,Z 411.2,A 90.0,B 0.0,C 180.0}
    P12={X 1481.85,Y 81.85,Z 481.85,A 90.0,B 0.0,C 180.0}
    P13={X 1515.74,Y 115.74,Z 515.74,A 90.0,B 0.0,C 180.0}
    P14={X 1529.47,Y 129.47,Z 529.47,A 90.0,B 0.0,C 180.0}
    P15={X 1529.94,Y 129.94,Z 529.94,A 90.0,B 0.0,C 180.0}
    P16={X 1530.9,Y 130.9,Z 530.9,A 90.0,B 0.0,C 180.0}
    P17={X 1530.9,Y 130.9,Z 530.9,A 90.0,B 0.0,C 180.0}
    P18={X 1530.9,Y 130.9,Z 530.9,A 90.0,B 0.0,C 180.0}
    P19={X 1529.89,Y 129.89,Z 529.89,A 90.0,B 0.0,C 180.0}
    P20={X 1529.47,Y 129.47,Z 529.47,A 90.0,B 0.0,C 180.0}
    P21={X 1515.74,Y 115.74,Z 515.74,A 90.0,B 0.0,C 180.0}
    P22={X 1481.85,Y 81.85,Z 481.85,A 90.0,B 0.0,C 180.0}
    P23={X 1411.2,Y 11.2,Z 411.2,A 90.0,B 0.0,C 180.0}
    P24={X 1405.84,Y 5.84,Z 405.84,A 90.0,B 0.0,C 180.0}
    P25={X 1395.1,Y -4.9,Z 395.1,A 90.0,B 0.0,C 180.0}
    P26={X 1395.1,Y -4.9,Z 395.1,A 90.0,B 0.0,C 180.0}
    P27={X 1398.56,Y -1.44,Z 398.56,A 90.0,B 0.0,C 180.0}
    P28={X 1400.0,Y 0.0,Z 400.0,A 90.0,B 0.0,C 180.0}
    P29={X 1431.43,Y 31.43,Z 431.43,A 90.0,B 0.0,C 180.0}
    P30={X 1432.6,Y 32.6,Z 432.6,A 90.0,B 0.0,C 180.0}
    ;-------MAIN PROGRAM-----------


    $TOOL=SPRAYGUN ;tool center point definition for Spray Gun
    $BASE=$WORLD


    BEGIN ( ) ; Call subprogram BEGIN


    ;--Move robot arm follow definition point by import from UltraEditor 2 software--


    $VEL.CP=0.2
    LIN P1 ; 100mm/sec; CNT25 ;
    LIN P2 ; 0mm/sec; CNT25 ;
    LIN P3 ; 0mm/sec; CNT25 ;
    LIN P4 ; 0mm/sec; CNT25 ;
    LIN P5 ; 50mm/sec; CNT25 ;
    LIN P6 ; 100mm/sec; CNT25 ;
    CIRC P7,P8 ; 100mm/sec; CNT 25 ;
    LIN P9 ; 100mm/sec; CNT25 ;
    CIRC P10,P11 ; 100mm/sec; CNT 25 ;
    LIN P12 ; 100mm/sec; CNT25 ;
    LIN P13 ; 100mm/sec; CNT25 ;
    LIN P14 ; 100mm/sec; CNT25 ;
    CIRC P15,P16 ; 100mm/sec; CNT 25 ;
    LIN P17 ; 100mm/sec; CNT25 ;
    LIN P18 ; 100mm/sec; CNT25 ;
    CIRC P19,P20 ; 100mm/sec; CNT 25 ;
    LIN P21 ; 100mm/sec; CNT25 ;
    LIN P22 ; 100mm/sec; CNT25 ;
    LIN P23 ; 100mm/sec; CNT25 ;
    CIRC P24,P25 ; 100mm/sec; CNT 25 ;
    LIN P26 ; 100mm/sec; CNT25 ;
    CIRC P27,P28 ; 100mm/sec; CNT 25 ;
    LIN P29 ; 100mm/sec; CNT25 ;
    CIRC P30,P31 ; 100mm/sec; CNT 25 ;
    BACK ( ) ; Call subprogram BACK
    END


    DEF BEGIN ( ) ;Subprogram BEGIN


    $VEL.CP=0.2
    PTP {POS: X 0,Y -1050,Z 1500,A 0,B 0,C 90,S 2,T 10}
    PTP {POS: X 1050,Y 0,Z 1500,A 90,B 0,C 90,S 2,T 10}
    END


    DEF BACK ( ) ;Subprogram BACK


    $VEL.CP=0.2
    PTP {POS: X 1050,Y 0,Z 1500,A 90,B 0,C 90,S 2,T 10}
    PTP {POS: X 0,Y -1050,Z 1500,A 0,B 0,C 90,S 2,T 10}
    WAIT SEC 2.0
    END

    Einmal editiert, zuletzt von kiethnt ()

  • Hello,


    the error message means, that a parameter that describes how the circular motion is done is not allowed for this motion.
    Unfortunatly the developpers seam to be a sort of guys that think the user should find out on his own, which parameter it is. So they do not display the name of the parameter with the error message.
    Only possible parameter I rember is $CIRC_TYPE. Following settings possible:
    $CIRC_TYPE=#PATH
    $CIRC_TYPE=#BASE
    Usually the second is default. Try both.
    If it does not help, try an orientation of C 179.9 instead 180.0


    Good luck
    DiDi

  • What points do you use? are they on a stright line? Then your points just don`t define a circle.

    If you and DEAD people can read Hex, how many people can read Hex?

  • Dear all,
    Actually all points in my program are import from text file by off-line programming system, so I see these points are not lie in the straingt line. So I have to try all setting with $CIRC_TYPE=#PATH and $CIRC_TYPE=#BASE but it still be error when robot move to CIR motion. Please have me check again this problem. Thank in advance all.

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Geht einfach!
Neues Benutzerkonto erstellen
Anmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden