Bei Fehler Ausgang schließen

  • Hallöchen zusammen,
    ich arbeite mit einer S4 Steuerung. An dem Roboter ist ein Düsenkopf montiert für Kleberauftrag. Ab und zu passiert es, das der Roboter ein Teil berührt und seine Programmabarbeitung stoppt.
    Meine Frage: wie kann ich festlegen, das bei solch einem Fehler die Düse sofort schließt.


    :danke: dini

  • ANZEIGE
  • Hallöchen Dini,
    Versuch es mit Systemausgängen und logischen Verknüpfungen auf der E/A-Ebene. Dann hast Du kein Problem mit der Programmabarbeitung.


    Bis denne


    robotic74

    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, wir benutzen Systemeventroutinen für die Event STOP und QSTOP.
    In denen kannst Du Dir auch gleich einen Merker setzen, daß die Routine durchlaufen
    wurde und das damit Dein Kleberauftrag nio war.


    Gruß
    msc

  • Guten Morgen robotic74 und mod-poser,
    die Idee mit den Querverbindungen mit logischen Verknüpfungen hatte ich auch schon.
    Ich wollte den Systemausgang "Fehler" verknüpfen mit meinem "doKleberEin". Das heisst für mich: Tritt ein Fehler auf und die Programmabarbeitung stoppt, wird der Systemausgang "Fehler" auf 1 gesetzt und gleichzeitig "KleberEin" auf 1 gesetzt. Aber genau das Gegenteil soll ja passieren: "KleberEin" soll dann auf 0 schalten.
    Oder habe ich da falsch gedacht? :huh:


    Und mit diesen Systemeventroutinen kenne ich mich gar nicht aus. Wäre da über ein Info sehr dankbar. :merci:


    Vielen Dank schon mal für eure Hilfe :danke:

  • Hallo Dini,


    wenn Du Crossconections zum schließen des Ventils verwendest, hast Du das Problem, das der Ausgang "KleberEin" wieder öffnet, wenn Du den Fehler quittierst. Weiterhin wird nicht immer der Systemausgang "Fehler" gesetzt, wenn das Programm stoppt. Wenn Du die Abschaltung unbedingt über Crossconnections lösen willst, dann solltest Du den SystemAusgang "CycleOn" verwenden, den dann ist die Pistole generell nur eingeschaltet, wenn das Programm läuft.


    :gutidee:


    Die besste Lösung ist jedoch die Verwendung von Ereignisroutinen, wie bereits von mod-poser erwähnt, den dort wird der Ausgang wirklich zurückgesetzt.


    Um eine Ereignisroutine zu verwenden, musst Du eine Prozedur schreiben die die Aktionen, die beim Stoppen des Programms ausgeführt werden sollen, enthält:


    PROC EVENT_STOP()
    RESET doKleberEin;
    ENDPROC


    Innerhalb der Systemparameter unter Steuerung musst Du im Menü "Typen" Ereignisroutinen auswählen.
    Durch Drücken der Taste HINZU, musst Du ingesamt zwei EreignisRoutine erzeugen.


    Folgende Daten musst Du eingeben:


    Ereignis: STOP
    Routine: EVENT_STOP
    Task: 0


    Ereignis: SK_STOP
    Routine: EVENT_STOP
    Task: 0



    Nach dem Neustart der Steuerung wird de Routine EVENT_Stop ausgeführt, wenn das Programm stoppt oder der Sicherheitskreis geöffnet wird, so dass Dein Ausgang auf jeden Fall abgeschaltet wird.


    Gruß Micky

    Probleme kann man niemals mit derselben Denkweise lösen, durch die sie entstanden sind. (Albert Einstein)

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