Rückzug bei Systemfehler

  • Hallo zusammen,


    Gibt es eine Möglichkeit, dass sich der Robi bei einem Systemfehler ( z.B. Achse 3 überlastet ) von selbst zurückzieht.
    Der Aktuelle Fall sieht so aus.
    Der Robi greift ein Teil, dass mit zwei Pneumatikzylinder niedergedrückt wird. nachdem der robi das Teil gegriffen hat öffnen sich
    die Zylinder und der Robi fährt weg. Jetzt kommt es gelegentlich vor, dass ein Zylinder sich zu Spät oder zu langsam öffnet. in dem Moment steigt er aus mit der genannten Fehlermeldung. ( IRB 2400 L mit IRC 5 ) :denk:

  • ANZEIGE
  • warum wartet der Robi nicht, bis die Meldung " Zylinder1 offen" UND "Zylinder 2 offen" ansteht ?


    Dann ggf. noch ein Zeitfester reinprogramieren , damit er im Fall eines Mech. defekts am Zylinder nicht ewig warten muß .


    Mfg

  • hallo magnus,


    z.Zt. kann ich nur den Ausgang abfragen ob er gesetzt wurde. Das reicht natürlich nicht.
    Meine Frage zu diesem Problem ist auch von einer Grundsätzlichen Natur, weil wir dazu neigen den Robi nach Feierabend
    Manlos weiterlaufen zu lassen.

  • Hallo mischwarz,


    dieses Problem ist eigentlich lösbar. Aber mit einen Pferdefuss.
    Bei deinem genannten Beispiel, geht die Achse 3 in Überlast, das Programm wird gestoppt und die Motoren gehen aus. Richtig?


    Die erscheinende Fehlermeldung kann man über einen übergeordneten Interrupt abfangen, indem du sie ausliest und einen Ausgang in der Trap setzt, der die SPS wieder anweist die Motoren des Roboters hochzuschalten und das Programm zu starten.


    Pferdefuss: hast du irgendwann mal ein mechanisches Problem mit der Achse, also einen richtigen Fehlerfall, wird die SPS dann natürlich auch immer wieder versuchen den Roboter anzustarten.
    Kann man ja jetzt abwägen, ob so machbar oder lieber nicht.


    MFG
    CSH

  • Hallo CSH,


    danke für Deine Info. hast Du eventuell ein Beispiel parat um den Fehler zu lesen und den übergeodneten Interrupt ???
    Wir wollen natürlich durch einen Zusätlichen Eingang den zylinder noch abfragen um den Fehler auszuschliessen.
    Aber ich bin schon daran interessiert wie soetwas aussehen könnte.

  • Hallo


    Dafür brauchst du eigentlich keinen Interrupt weil der Robbi ja sowieso in Stop geht, also "CycleOn" geht auf 0.
    Damit weiß die SPS schon das der Robbi ein Problem haben sollte.


    Und wenn das Teil nicht entnommen werden kann, kann der Roboter ja auch da weitermachen wo er gerade war.
    Nach Restart würde dein Robbi zurück zur Bahn fahren und von da aus weitermachen
    Sehr weit kann er dabei ja nicht gekommen sein, zumal bei geschlossenem Greifer und geschlossener Vorrichtung.
    (hast du eigentlich "Kollision detection"?)
    Wenn Achse drei aussteigt wohl eher nicht.


    Also....


    Um zu vermeiden das der Roboter die ganze Nacht an einem klemmenden Teil zerrt, würde ich den Roboter vielleicht drei mal versuchen lassen und dann ist gut.
    Wenn es nach dem dritten Mal nicht funktioniert hat geht es sowieso nicht mehr.


    Aber!!!!
    Wenn du es dir nicht mit den Mechanikern verderben willst, braucht ihr dringend Abfragen an den Pneumatikzylindern!!!! :genau:


    Gruß
    Högi

    Zwei Dinge sind unendlich,das Universum und die menschliche Dummheit. Aber bei dem Universum bin ich mir noch nicht ganz sicher, !!!!<br />Albert Einstein

    Einmal editiert, zuletzt von högi ()

  • hallo högi,


    wie ich schon sagte, das mit den Abfragen am Zylinder wrd natürlich gemacht. ( am Montag )
    Aber trotzdem stelle ich mir immer noch die Frage, wie ich es fertig bringe einem augestiegenen Robi zu sagen dass er, wie auch immer, weitermachen soll.
    Es wäre zumindest sinnvoll wenn er aus seiner verklemmten position wegfahren kann. dazu müsste er den Greifer öffnen und ca. 100 mm in z fahren. Dort könnte er dann übernachten.


    Übrigens Kollision detection haben wir leider nicht

  • Hallo Mischwarz,


    man kann folgendes machen, aber wie gesagt es hat einen Pferdefuss:


    !Interrupt für Achsen-Vorwarnung einrichten
    IDelete irXXXAchse;
    CONNECT irXXXAchse WITH TrapXXXAchse;
    IError SYSTEM_ERR\ErrorId:=25466,TYPE_ALL,irXXXAchse;


    Die 25466 steht für deine Fehlernummer, keine Ahnung ob es die richtige für deinen Fall ist --> ist halt ein Beispiel. Mit der TrapXXXAchse schaltest du einen Ausgang für die SPS, um diese anzuweisen, den Roboter wieder zustarten und dein entsprechendes Errorhandling zu starten.
    Das beschriebene ist eine günstige Alternative, aber mit dem Pferdefuss, dass im mechanischen Fehlerfalles deiner Achse, die SPS auch versuchen wird den Roboter hochzuschalten.
    Es gibt aber noch eine zweite Alternative. Bei ABB kann man verschiedene Optionen erhalten, wie zum Beispiel das Homposrunning. Es gibt aber auch die Option TorqueSearch. Bei einer Überlast, schaltet er sich selber wieder hoch und probiert seine Bewegung nocheinmal. Vielleicht ist das die bessere Alternative für dich.
    P.S: Keine Fragen nach den Kosten, weiß ich nicht.


    högi
    du hast recht mit dem was du schreibst mit den CycleOn, aber ich hatte was von separieren der Fehlermeldung geschrieben. ODER?:zwink:
    Außerdem wird der Interrupt ja nur einmal aktiv, indem Moment wenn der Fehlerfall der Überlast eintritt, und deshalb ist es unmöglich, dass Roboter permanent die ganze Nacht am Teil zerrt. Also kommt eine Abfrage des Systemausgang mit CycleOn nicht wirklich in Frage.


    MFG
    CSH

  • Hallo CSH,


    vielen Dank für Dein Beispiel. ich werde es mal mit meinem SPS Fritzen durchsprechen und ausprobieren. :danke:

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