Setting $BASE parameter

  • The correct version is fallowing:


    &ACCESS RVE
    DEF DEGRO1( )
    ;FOLD INI;%{PE}%V3.2.0,%MKUKATPBASIS,%CINIT,%VCOMMON,%P
    ;FOLD BAS INI;%{E}%V3.2.0,%MKUKATPBASIS,%CINIT,%VINIT,%P
    GLOBAL INTERRUPT DECL 3 WHEN $STOPMESS==TRUE DO IR_STOPM ( )
    INTERRUPT ON 3
    BAS (#INITMOV,0 )
    ;ENDFOLD (BAS INI)
    ;ENDFOLD (INI)



    BAS(#VEL_PTP, 10)
    BAS(#ACC_PTP, 10)
    PTP $POS_ACT
    $APO.CDIS=0.1
    $APO.CORI=1
    $APO.CVEL=100
    $APO.CPTP=50
    BAS(#VEL_PTP, 75)
    $IPO_MODE=#BASE
    $TOOL=TOOL_DATA[1]
    $VEL.CP=0.083
    EX_BASE(17,2)
    LIN {X 2273.13,Y 889.88, Z 488.05, A -2.44, B -37.39, C -27.13, E1 0} C_VEL
    LIN {X 422.11,Y 77.03, Z 934.75, A -134.85, B 11.65, C -90, E1 62.7} C_VEL
    LIN {X 422.11,Y 77.03, Z -12.22, A -134.85, B 11.65, C -90, E1 62.7} C_VEL
    LIN {X 415.01,Y 84.08, Z -12.22, A -134.85, B 11.65, C -90, E1 62.71} C_VEL
    LIN {X 407.92,Y 91.13, Z -12.22, A -134.85, B 11.65, C -90, E1 62.72} C_VEL
    $VEL.CP=0.167
    LIN {X 407.93,Y 91.13, Z -12.26, A -134.85, B 11.65, C -90, E1 62.72} C_VEL
    LIN {X 407.98,Y 91.18, Z -12.64, A -134.85, B 11.65, C -90, E1 62.7} C_VEL
    LIN {X 408.11,Y 91.31, Z -12.98, A -134.85, B 11.65, C -90, E1 62.66} C_VEL
    LIN {X 408.3,Y 91.51, Z -13.25, A -134.85, B 11.65, C -90, E1 62.58} C_VEL
    LIN {X 408.55,Y 91.76, Z -13.43, A -134.85, B 11.65, C -90, E1 62.5} C_VEL
    LIN {X 408.82,Y 92.03, Z -13.5, A -134.85, B 11.65, C -90, E1 62.4} C_VEL
    $VEL.CP=0.2
    LIN {X 409.17,Y 92.39, Z -13.5, A -134.72, B 11.65, C -90, E1 62.27} C_VEL
    LIN {X 409.52,Y 92.74, Z -13.5, A -134.59, B 11.65, C -90, E1 62.14} C_VEL
    LIN {X 409.87,Y 93.1, Z -13.5, A -134.46, B 11.65, C -90, E1 62.01} C_VEL
    LIN {X 410.22,Y 93.46, Z -13.5, A -134.33, B 11.65, C -90, E1 61.89} C_VEL
    LIN {X 410.57,Y 93.82, Z -13.5, A -134.21, B 11.65, C -90, E1 61.76} C_VEL
    LIN {X 410.92,Y 94.17, Z -13.5, A -134.08, B 11.65, C -90, E1 61.63} C_VEL
    ..........
    LIN {X 204.81,Y 469.4, Z -40.5, A 11.64, B 11.65, C -90, E1 -84.09} C_VEL
    LIN {X 205.79,Y 469.6, Z -40.5, A 11.38, B 11.65, C -90, E1 -83.83} C_VEL
    LIN {X 206.77,Y 469.79, Z -40.5, A 11.13, B 11.65, C -90, E1 -83.58} C_VEL
    LIN {X 207.76,Y 469.98, Z -40.5, A 10.87, B 11.65, C -90, E1 -83.32} C_VEL
    LIN {X 208.74,Y 470.17, Z -40.5, A 10.61, B 11.65, C -90, E1 -83.06} C_VEL
    END


    DEF EX_BASE(BASE_NO :IN,MACH_IDX :IN)
    INT BASE_NO , MACH_IDX
    MY_FRAME = BASE_DATA[BASE_NO]:{x 0.0,y 0.0, z 0.0, a 0.0, b 0.0, c 0.0}
    $BASE=EK(MACHINE_DEF[MACH_IDX].ROOT, MACHINE_DEF[MACH_IDX].MECH_TYPE,BASE_DATA[BASE_NO]:{x 0.0,y 0.0, z 0.0, a 0.0, b 0.0, c 0.0})
    $ACT_BASE=BASE_NO
    END


    Many Thanks Fubini !


    Additionally Base 17 is defined in setup Menu in the coordinates frame of rotary table center (top surface rotatory)

    Edited once, last by Qrobot ().

  • So, I'm in the same boat as BMike was above...


    KRC2, 4.1.6, KR200_2


    External base parameter is not base no. 17 but ex_ax_data[1]. This part I have down. However, I'm a bit confused when defining in the example ex_base(17,2) what I should be using. There is zero documentation on this in the 4.1.6 expert programming manual under bas.src.


    When I try to run a program it immediately throws a work envelope exceeded. Monitoring ex_ax_data[1] shows the correct information but when monitoring $base it show {}. Seeing as the coordinates for the program are in reference to my external axis center of rotation the arm is clearly being told to go to rob_root and it doesn't like that. Any suggestions?


    I can post a sample tomorrow when I am back at work. Make sense? Thanks.

  • Does anyone know this syntax works also for DKP 400.1 , 2 rotary axis?

    It seems to not accept EK



    DEF EX_BASE(BASE_NO :IN,MACH_IDX :IN)

    INT BASE_NO , MACH_IDX

    MY_FRAME = BASE_DATA[BASE_NO]:{x 0.0,y 0.0, z 0.0, a 0.0, b 0.0, c 0.0}

    $BASE=EK(MACHINE_DEF[MACH_IDX].ROOT, MACHINE_DEF[MACH_IDX].MECH_TYPE,BASE_DATA[BASE_NO]:{x 0.0,y 0.0, z 0.0, a 0.0, b 0.0, c 0.0})

    $ACT_BASE=BASE_NO

    END

  • You have wrong Base Frame orientation on table , is like z+ is toward ground not up. Check C rotation value on BASE 17 numerical input, if 0 try to put 180, if 180 try with 0.


    Otherwise it could come from spindle orientations too.

    What program use you for program generation?


    You must have same base orientations between those from program with those in real robot.

  • Hello, I use powermill, but where can I change this direction?

  • don't use PowerMill but all cad software needs tool, base etc. info entered correctly. program will do its best to drive arm into position that matches used settings and programmed point data.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • As I remember Powermill use a xml file were is configured robot cell, there you should find setted orientations for Tool and for Table Base too.

    Also , look in Robot Setup/Measure/Tool and ExternalKinematic-Root Point - Base 17- numerical input , if values of orientations A,B,C match with those from Powermill xml.

    If not, correct them to suit each other.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now