sowas in der Art wie "Abbruch eines Jobs bei Schalten eines Digitalen Eingang"s

  • Hallo ihr Programmierer, :Hilfe: :Hilfe: :Hilfe: :hilfe:
    bräuchte mal eure Hilfe stehe vor einem kleinen Problem..


    Nun habe ein Programm erstellt in dem der Roboter etwas an einem Werkzeug entlang führt.


    Meine Frage ist:
    Da der Ablauf der Bewegungen ja ein Move nach dem Anderen ist müsste es so etwas wie ein Interrupt sein..
    Aber keine Ahnung genau.. :nocheck:


    Jetzt sollte der Roboter während des Abarbeitens der Move Bewegungen (ca 200 verschiedene Bewegungen nach einander) ein bestimmtes Eingangssignal bekommen so müsste er die Fahrbewegung abbrechen und z.b. 300mm nach oben fahren. Ist dies irgend wie möglich so das man nicht hinter jede move Bewegung eine Überprüfung des Signals setzen muss sondern sobald das Signal irgend wie ansteht bricht er Automatisch ab.
    Egal wo er bei den Bewegungs Instruktionen steht..
    (Beispiel bei Frässerbruch etc muss er ja nicht alles machen oder wie bekommt er dies mit falls jemand eine andere Lösung hätte bitte Melden)


    Hof ihr versteht was ich meine,
    Danke schon mal für eure Hilfe


    Bei fragen einfach Mailen..


    Danke
    :danke:
    Snoopy01

  • ANZEIGE
  • Ja das geht eigentlich recht einfach.
    Du solltest Dir einen TRAP, Interruptroutine, erstellen in welcher auf alle Fälle folgendes passieren sollte:


    Definieren des Traps in der Initialisierung irgendwo:(!!!!Wichtig erst Trapverbindung löschen bevor Du diese Verbindest)

    ! Interruptvariable für Interruptverbindung definieren. Muss global sein nicht in Routine definieren!
    VAR intnum intAbbruch:=0;



    IDelete intAbbruch;
    CONNECT intAbbruch WITH irAbbruch;
    ISignalDI diUser,high,intAbbruch;
    ! Interrupt deaktivieren
    ISleep intAbbruch;


    Mit "IWatch" kannst Du Ihn flexibel aktivieren ab wann dieser funktionieren soll.


    Trap ist eine Routine aber speziell nur für Interrupts.


    TRAP irAbbruch
    ! Stopp aller Roboterbewegungen
    StopMove;
    ! Löscht den erstellten Bewegungspfad der momentanen Roboterbewegung
    ClearPath;
    ! Einlesen der aktuellen Position in Bezug auf verwendetes Tool und Werkobjekt
    ! pAktPos ist als Pers robtarget zu Definieren (global)
    pAktPos:=CRobT(\Tool:=tUser\WObj:=wUser);
    !Freigabe aller Roboterbewegungen
    StartMove;
    ! Eine allgemeingültige Wegfahrbewegung stattfinden lassen, weg vom Teil
    ! Hier kann auf logisch noch eine Unterscheidung in Bezug auf verschiedene
    ! bereiche stattfinden
    MoveL RelTool(pAktPos,0,0,0),v100,fine,tUser\WObj:=wUser;
    ! Bewegunge zur Grundstellung
    MoveL pHome,v100,fine,tUser\WObj:=wUser;
    ! Bricht komplettes Programm ab und startet von Main
    ExitCycle;
    ENDTRAP


    Kannst alle Instruktionen im Referenzhandbuch nachsehen.


    Hoffe es hilft Dir.


    Sven

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Bitte schön,
    freut mich das es geholfen hat.


    :supi:


    Sven

    Wer nichts macht, macht keine Fehler!

    Wer keine Fehler macht, kann nichts daraus lernen!

    Wer nichts lernen kann, kann sich nicht weiterentwickeln!

    Wer sich nicht entwickelt, geht unter!

  • Hallo Sven,


    ich habe ein ähnliches Problem. Ich möchte auf einen Taster fahren, die Bewegung abbrechen, Position speichern, zurückfahren. Aber dann soll nicht im main vorne begonnen werden, sondern nach der Anweisung die zum Abbruch führte. Wie ist das am einfachsten möglich? Danke im voraus! Gruß Thomas

Hilfe und Support für ABB Roboter Programmierung, Konfiguration, Inbetriebnahme finden Sie hier im ABB Roboter Forum. ABB Rapid Programmierung ist einfach, die Roboterforum Community hilft sehr gerne.

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