E1 Axis Velocity and Acc Not Progrmmed !!!

  • Hallo All,


    Im new with KUKA for calculating points, 6 Axis Robot with Linear Unit(KL3000). Would like to know where am I doing mistake. I go to my Grip position and look at actual position and write it in Base_Data, So looks approx. program:


    Initial PTP Point itself, throwing velocity and acceleration of
    E1 Axis not programmed..

    Many thanks for your time and consideration.

  • An the controller is absolutely right: You set the velocity for E1 in line 31 which obviously is after your initial PTP in line 27.


    Also you miss out completely on setting the Acceleration on E1 using $ACC_EXTAX[1]. Again the controller speaks the truth.


    Fubini

  • An the controller is absolutely right: You set the velocity for E1 in line 31 which obviously is after your initial PTP in line 27.


    Also you miss out completely on setting the Acceleration on E1 using $ACC_EXTAX[1]. Again the controller speaks the truth.


    Fubini

    Hallo Fubini,


    Thank U. As per Manuals the variables $VEL_EXTAX and $ACC_EXTAX are type of int and does the controller itself takes ptp as % and lin as m/sec :thinking_face::thinking_face:. And in other programs I didnt declared these variables though working :confused_face:

  • Quote

    And in other programs I didnt declared these variables though working

    In the other programs you probably had a INI fold included at the beginning.Then these values are set using bas.src calls inside the INI-Fold.


    The program template you get by creating a new program using the SmartHMI always has a INI Fold you probably did not notice until now.


    Thats the difference between the simple user interface using Inline forms and trying to use plain KRL in expert mode. In the first case pretty much all necessary steps are hidden inside the Inline forms and system folds. If you want to use expert programming mode your programs can be a lot more flexible but on the downside you have to take care for everything yourself.


    Fubini

  • hallo Fubini, its really usefull info. working with frames, tool offsets and user offsets i feel like fanuc and motoman little easy for me, but kuka can do alot. Other question regarding E6pos, -how about s, t values and E1 as this ís linear axis Im having the value it in my .Xpos

  • Sorry. Can you be a bit more specific. I do not understand what your question is here.

    For Ex: ablage_vor1 = {X 0, Y 0, Z 0, A 0, B 0, C 0} this position variable I declared it as E6pos which also includes E1 to E6 real values and status S, Turn T values. Should I need to declare these values also.

    What I am doing is Very Simple, I go to my Pick Grip pos and see the actual position ans save this value and write it in my BASE_FRAME, Now I have shifted my Frame to PICK pos w.r.t this I calculate my Pick before pos and Pick after pos.

  • There is no definitive fixed answer to this question. It all depends on your specific application program. But of cours you should be familiar with Status and Turn and be able to react if problems arise from your application and how to handle them. For example if you hit a software limit switch in your application it is usually a Turn issue that needs to be resolved. Even if you do not explicitly state Status and Turn in your application there are rules how the system substitutes them. These rules have been talked about many times in this forum so I will not reiterate them here. Just use forum search with keywords Status and/or Turn and you will find many topics dealing with these two and how to solve problems arising from them.


    Fubini

  • I know this thread is from last year, but I didn't want to create one with the same issue. I tried using the solution here in combination with the Kuka manual, but couldn't solce the problem.



    The programms which are called (CompressionForceValue etc.) only communicate with the attached tool by reading/writing in and ouputs, so I doubt the issue comes from there. This Programm is the only place where I actually try to move the robot and the external axis. After getting the error about the axis E1 Velocity not being programmed I found this Forum, checked the Kuka manual added $VEL_EXTAX[1] = 1 and $ACC_EXTAX[1] = 50 but I still get the same issue.


    Can anyone tell me what I'm doing wrong?


    Thanks in Advance!

  • Thanks for your fast reply!


    I though with


    Code
    $VEL.CP = 0.2


    I would set the velocity for the robot axes. Is that assumption wrong?


    I also assumed the error message "Axis E1 Velocity not programmed" referred to the first external axis…


    So I would add

    Code
    FOR I = 1 TO 6
        $VEL_AXIS[I] = 10
        $ACC_AXIS[I] = 100
    ENDFOR

    or do I need anything else?

  • I only use LINs in my routine. Basically I have more LINs and at the end I call


    Code
    LaserOff()
    LaserLineLaserOff()
    CutTape()
    CompressionForceOff()

    As I mentioned in my first post, none of the subroutines has any movement in it. They only write values to outputs which are send through EtherCAT to my tool.


    Do I even need the

    Code
    $VEL_EXTAX[1] = 1
    $ACC_EXTAX[1] = 50

    when I only use LINs?

  • Sure. If you have an external axis you have a redundant robot (more overall degrees of freedom than Cartesian position). Hence to reach the desired Cartesian postion seven degrees of freedom need to be commanded. Each commanded degree of freedom needs a defined vel/acc.


    Where is your external kinematic: in robroot or in base?


    Fubini

  • In base


    So I will keep

    Code
    3$APO.CDIS = 10          
    4$VEL.CP = 0.2            
    5$VEL_EXTAX[1] = 1        
    6$ACC_EXTAX[1] = 50  


    But then all axes should have both velocity and acceleration or am I wrong?

  • If you do not have any further additional axes. Probably. I have no access to any controllers anymore. So I repeat as asked before: Does it work with INI at the beginning? INI fold initializes all components.


    Fubini

  • In base


    So I will keep

    Code
    3$APO.CDIS = 10          
    4$VEL.CP = 0.2            
    5$VEL_EXTAX[1] = 1        
    6$ACC_EXTAX[1] = 50  


    But then all axes should have both velocity and acceleration or am I wrong?

    you are wrong...


    system can have up to 12 axes... 6 for robot arm (A1-A6) and 6 external (E1-E6).

    and you need to initialize values for all of them... or at least ones that are present in your case.

    better initialize them all - all the time. that way you do not need to worry if your programs will work when client changes configuration and adds another axis.


    your post only shows code initializing velocity and acceleration for axis E1.


    so for external axes you need:



    of course you can wrap it all in a loop. i write in long form to make is very obvious what you are missing.

    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

Advertising from our partners