Kuka Roboter über DI manuell verfahren

  • Hallo zusammen,


    ich möchte gerne meinen Roboter mit KRC2 Steuerung ( Software 5.6.6) manuell verfahren über 6 Digitaleingänge um die Start Position vorzugeben und dann später im Programm weiter zu verarbeiten. Im Prinzip habe ich das Programm auch schon fertig. Jedoch ist es aktuell so, dass wenn ein Digitaleingang True wird, Addiere ich bei der Entsprechenden Achse einfach 10mm und der Roboter fährt die neue Position an.

    BeispielCode:

    IF $IN[113] THEN

    PositionRobot1.X=PositionRobot1.X+10

    LIN PositionRobot1

    PosAktuell=PositionRobot1

    ENDIF


    Dies führt jedoch dazu das der Roboter diese Funktion immer nur Stückchenweise anfährt.

    Gibt es eine Möglichkeit dies auch in einer flüssigen Bewegung abzufahren, solange dir Eingang True ist ?

  • Schritt für Schritt zum Roboterprofi!
  • Frei nach Radio Eriwan:

    Im Prinzip ja, aber es ist nicht so ganz trivial.

    Fürs erste würde reichen an den Fahrbefehl ein 'c_dis' anzuhängen und vor die Zeilen mit der Eingangsabfrage ein 'continue' zu setzen. Dann hat man aber das Problem, dass der Roboter 'nachläuft', d. h. er stoppt nicht sofort nach Signalwechsel am Eingang, sondern fährt weiter bis der Vorlauf abgearbeitet ist.

    Normalerweise sind das dann noch drei Schritte, kann man über das Setzen der Variablen $Advance auf 1 verringern.

    Um das komplett zu verhindern muss man dann jeweils per Interrupt und Resume die Bewegung abbrechen. Dazu muss man dann aber jeweils die Bewegung in ein Unterprogramm auslagern.

    Also durchaus machbar.

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