Endless external axis rotation

  • Hello everyone, KSS 8.3, KRC4, KR120 HA,DKP 400


    I need to implement endless rotation on my dkp 400, and I don't know how to do it.


    The things that I tried:


    1) Asyptp. Everything fine - I can use Asyptp e2 120, Asyptp e2 240, Asyptp e2 359, and it makes whole circle. BUT I cant loop that - you cant use more than 3 asyptp's in buffer.
    2) I used input to control endless rotation. Yeah, it worked, while input is TRUE axis rotating (in machine.dat type should be 5 (endless). But the speed is ridiculous low


    All i need is to start somehow rotation and then stop,when I need to. Is it possible on kuka?

  • interesting solution ASYPTP {E2 720} #AS_PROG, I'll try to implement it today.
    About 2nd variant, when was used input to control endless rotation:
    Can I control speed of endless axis by a variable? Thanks in advance

  • if your axis is at zero, this will make it turn two full revolutions



    ASYPTP {E2 720} #AS_PROG


    Hey, Panic, is this documented anywhere? I've never seen #AS_PROG before, and after doing a global search of all my KUKA PDFs (97 minutes? I have waaay too many) for that string, I came up empty.

  • Взаимодействие с другими людьми

    Эй, Паник, это где-нибудь задокументировано? Я никогда раньше не видел #AS_PROG, и после глобального поиска всех моих PDF-файлов KUKA (97 минут? У меня их слишком много) для этой строки я оказался пустым.

    Can u help us with function ASYPTP, we are trying do infinity rotation external axis displacement (e1) but kuka not understand degrees target (kuka think that 720[degr]=0[degr]). How we can fix it?


    1) KSS V 5.5.16 Kuka KRC 2; robot KR 60 L30 HA

    2) Motor ext axis 1FK6100


    Code
    INI
    TarPos.E1=720
    $async_axis = 'B0001'
    $ov_async=75
    $ASYPTP TarPos;
    $async_axis = 'B0000'
    halt
    PTP Home Vel=25 % DEFAULT
    
    END
  • Split movements into smaller parts, part has to be smaller than 180 degrees, to define the direction of the movement. Otherwise the robot moves the shortest way.

    Ok, its logical. But if i want infinity rotate ext axis displacement, and in this moment move the robot along the axis of rotation?

  • You have to do the movement (small pieces) of the axis E1 in sps.sub or via interrupt, then you can move robot in main task as you want, independent from movement of E1.

    Оk, thx, I will try do it with sps.sub.

  • or via interrupt, then you can move robot in main task as you want, independent from movement of E1.

    Can you show me a small example of using interrupts with an outer axis if it's not difficult for you? Thanks in advance.

  • i would say it is even better if you don't put the code directly into submit... you can create program, test it, debug it and make sure that each time you run it moves E1 a bit (90 or 120deg). then instead of manually running it, call it from submit.

    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

  • panic mode

    hermann

    Thanks for your reply! Right now i have one subrpogramm for test purposes that's go like:

    But it said, that it containts too much ASYPTP. Well... In my understanding it should not create new ASYPTP, while it still moving. But, because it not working, i'm asuming that i'm wrong :grinning_squinting_face:

    So my main issue right now is how to make it move as long as main program is running. I know that i can add ASYPTP's to sps.sub and it will work, so right now i'm just testing it, as Panic suggested.

    And one more thing. When I maing axis E1 async axis E2 saing, that "Break channel is not opened".

    I allready tried to make break byte 3, but problem persisted. Can it be some troubles on hardware part? If so: why it working in sync mode?

  • hermann , Thank you! That's worked out. Sort off. It had slight delays when working in auto, but it's still working.

    But i still has break channel error. And after reading some manuals i figured out that i need SBM2 on both my KSD's (And I have none), if i want to work with two external axis in one in async mode. So... Seems like asyptp will not work in my project.

Advertising from our partners