NTERRUPT bei KUKA

  • Bin neu im Robotergeschäft!


    Grundschulung KUKA erfolgreich beendet, aber wie gesagt Grundschulung recht nicht sehr lange....


    Habe folgende Frage:


    Haben einen INTERRUPT programmiert der im Hauptprogramm eine PTP-Bewegung stoppt, sobald ein Signal anliegt. Liegt das Signal an springe ich in ein Unterprogramm. Das klappt alles super, ist jedoch das Unterprogramm abgearbeitet (Roboter stoppt auf der Bahn) fährt der Roboter im Hauptproramm die gestoppte PTP-Bewegung weiter. Das will ich aber nicht, will das hier direkt die nächste PTP-Bewegung gefahren wird.


    Ist sowas möglich? Wenn ja wie?


    Danke.

  • Schritt für Schritt zum Roboterprofi!
  • Hi,


    zu beachten ist, wenn man mit RESUME arbeitet, dass der Interrupt in dem Programm deklariert sein muss, das danach fortgesetzt werden soll. Ist der Interrupt in einer höheren Ebene deklariert, wird nicht mit dem nächsten Bewegungssatz fortgesetzt, sondern das Programm ebenfalls abgebrochen.
    Darauf sollte man achten, da sonst ganz unangenehme Effekte die Folge sein können.


    Gruß ... gooselk

  • Erst mal Danke, geht ja hier super schnell...


    RESUME habe ich auch schon versucht, irgendwie klappt es aber nicht. Muss dass RESUME ans Ende ins Unterprogramm oder ins Hauptprogramm.
    Das Handbuch sagt mir auch nicht wirklich was zum Decl don Interraupts..


    Gruß RobertLeopold

  • Hi,


    das RESUME muss an das Ende des Programms, was durch den Interrupt aufgerufen wird. Dein Vorhaben wird so klappen:


    Gruß ... gooselk

  • Hallo


    Resume springt in die interrupt deklarationsebene zurück in die zeile nach dem aufruf der routine die mit Resume abgebrochen wurde
    bei dem Beispiel von gooselk bekommst du beim auslösen des interrupts die meldung "unzulässige Programmstruktur für RESUME"



    Gruß Loipe

  • Hallo zusammen, und Danke für eure Hilfe!


    Der Programmvorschlag von Loipe funktioniert einwandfrei! :gutidee: Besten Dank!
    So ein Bespiel wäre im Handbuch SUPER!


    Gruß RobertLeopold

    Einmal editiert, zuletzt von titan72 ()

  • Hi,


    also der Hinweis von Stehti (Kapitel7.4) ist doch deine Anwendung (zumindest fast)!


  • wichtig ist noch, dass in dem Unterprogramm, in dem die Bewegungen programmiert sind, die abgebrochen werden sollen, als letzte Anweisung ein Vorlaufstop ist, ansonsten kannst du Probleme bekommen.

  • $Advance = 0 um net den interrupt vorm verlassen der routine auszuschalten
    und nen wait sec 0 nach interrupt off <prio> um sichzustellen dass er aus ist bevor die routine verlssen wird


    mann könnte natürlich auch die $RINT_LIST[] dursuchen obe der interrupt noch aktiv ist aber naja

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