Posts by danao

    Ebay can certainly be a good option.

    I don't think that those from kuka will pay attention to me.

    And, I want to change the software because it doesn't really do what I want.

    it does not attend to instructions in C and it does not have many things necessary to make a palletizing routine. it's too old.

    For example: my version (which is the original) does not have the "search" instruction, nor subroutines that accept movement instructions (only calculation). But the one I'm looking for does have them

    Hi everybody.

    Im trying to do a easy (i thougth) palletizing code but i cant find out how to insert the data where the robot must to go.

    i explain:

    the robot should go to diferent point to take the piece to be palletized but i dont know how to change the value of x,y or z every time he comes back to take another piece.

    Thanx

    That code should also work on your old robot.

    As I already told you the statement IN[1] (in your case IN[6]) mus be $IN[1] (in your case $IN[6]).

    But there must be some other requirements like a defined e6pos P1 and P2.

    That are basics. The forum can't serve a complete programming course.:frowning_face:

    it doesn´t show any error already. everything is defined (e6pos) in the .dat of the main, and the IN is with $.

    Now i try to run it and the only message it shows is " interrupt 3 not defined". Do you know where or how i must define it?

    sorry about the language in the hmi.

    Finally the matter was because i din´t wrote all the subroutines.

    now it seemesit doesnt give any error.

    gonna try if the robot do what he must do

    Unlike RAPID, KRL does not have a dedicate "search move" function. Instead, you create an Interrupt that triggers on a particular input or inputs. The Interrupt calls an "interrupt service routine" that you craft to carry out whatever you want the robot to do when the Interrupt occurs.


    There's a lot about this in the forum archives, but it sounds like you'll want to create a dedicated Search Motion subroutine, containing your motion and interrupt, then an ISR that uses BRAKE to halt the robot physically, then RESUME (which is very badly named!) to cancel the in-progress motion and (this is important!) return the program pointer to the level where the Interrupt was declared. So if your Main program has the DECL INTERRUPT, the RESUME command in the ISR would basically skip the entire remaining portion of the Search subroutine, and the program pointer would jump to the line in Main immediately after the call to Search.


    It's more work than coding a search in RAPID, but gives you much more granular control in return. Which is a pretty common pattern, comparing KUKAs to ABBs, in general.

    hi again SkyeFire .

    I´m having hard troubles to declare the interrupt. i don´t know if you could help me.

    reading a lot of manuals i see diferents ways but noone works:

    -declaring the interrupt in src ( DECL INTERRUPT INTER1 or INTER1()) it says: unkown type.

    -writing "INTERRUPT DECL 4 WHEN &IN[6]==TRUE DO INTER1", it says: name no declared as sp".

    -declaring INTER1 as: DECL GLOBAL INT INTER1" in dat, it don´t say anythingbut don´t recognize anything anywhere.


    i tried to the declare "&INTER1" as a variable but is no posible.

    By the vkr i cant select the instruccion "INTERRUP" because this ain´t on the softkey menus.

    have you got any idea?

    Unlike RAPID, KRL does not have a dedicate "search move" function. Instead, you create an Interrupt that triggers on a particular input or inputs. The Interrupt calls an "interrupt service routine" that you craft to carry out whatever you want the robot to do when the Interrupt occurs.


    There's a lot about this in the forum archives, but it sounds like you'll want to create a dedicated Search Motion subroutine, containing your motion and interrupt, then an ISR that uses BRAKE to halt the robot physically, then RESUME (which is very badly named!) to cancel the in-progress motion and (this is important!) return the program pointer to the level where the Interrupt was declared. So if your Main program has the DECL INTERRUPT, the RESUME command in the ISR would basically skip the entire remaining portion of the Search subroutine, and the program pointer would jump to the line in Main immediately after the call to Search.


    It's more work than coding a search in RAPID, but gives you much more granular control in return. Which is a pretty common pattern, comparing KUKAs to ABBs, in general.

    thank you very much for the info SkyeFire

Advertising from our partners