Systeminterne Fehler ausgeben möglich???

  • Ich habe an einer Anlage folgendes Programm mit Fehlerroutine geschrieben:


    PROC Transfer_Onhe_Ätzen()


    Greifer1_öffnen;


    Greifer2_öffnen;


    MoveJ pHome, vmax, z50, tool1;


    MoveJ Offs(pTransfer,50,0,0), vmax, z5, tool1\WObj:=wobj_Transfer;


    FNR:=1;


    WaitDI DI_Area_Free_Transfer,1\MaxTime:=2;


    Reset_FNR;


    Reset DO_Area_Free_Transfer;


    FNR:=8;


    WaitDI DI_Teilekontrolle_Transfer,1\MaxTime:=2;


    Reset_FNR;


    MoveL pTransfer, v100, fine, tool1\WObj:=wobj_Transfer;


    Greifer1_schliessen;


    Transfer_Greifer_öffnen;


    MoveL Offs(pTransfer,50,0,0), v80, z0, tool1\WObj:=wobj_Transfer;


    FNR:=7;


    WaitDI DI_Teilekontrolle_Transfer,0\MaxTime:=2;


    Reset_FNR;


    MoveJ [[-424.01,560.43,434.80],[0.146654,0.554191,-0.818425,-0.0393111],[1,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]], vmax, z0, tool1;


    Set DO_Area_Free_Transfer;


    ERROR


    TPErase;


    TEST FNR


    CASE 1:


    Fehlertext:="AREA FREE fehlt";


    CASE 2:


    Fehlertext:="Greifer 1 geöffnet fehlt";


    CASE 3:


    Fehlertext:="Greifer 1 geschlossen fehlt";


    CASE 4:


    Fehlertext:="Greifer 2 geöffnet fehlt";


    CASE 5:


    Fehlertext:="Greifer 2 geschlossen fehlt";


    CASE 6:


    Fehlertext:="Teilekontrolle ein fehlt";


    CASE 7:


    Fehlertext:="Teilekontrolle aus fehlt";


    CASE 8:


    Fehlertext:="Kein Teil in der Übergabe";


    CASE 9:


    Fehlertext:="Vorrichtung AS1 unten geöffnet fehlt";


    CASE 10:


    Fehlertext:="Vorrichtung AS1 unten gespannt fehlt";


    CASE 11:


    Fehlertext:="Vorrichtung AS1 oben geöffnet fehlt";


    CASE 12:


    Fehlertext:="Vorrichtung AS1 oben gespannt fehlt";


    CASE 13:


    Fehlertext:="Übergabe Greifer geöffnet fehlt";


    CASE 14:


    Fehlertext:="Transfer Greifer geöffnet fehlt";


    CASE 15:


    Fehlertext:="Transfer Greifer geschlossen fehlt";


    DEFAULT:


    Fehlertext:="Unbekannter Fehler";


    ENDTEST


    SetGO DOG_12, FNR;


    TPWrite Fehlertext;


    WaitTime 2;


    RETRY;


    ENDPROC



    PROC Reset_FNR()


    TPErase;


    FNR:=0;


    SetGO DOG_12,0;


    ENDPROC



    Diese Fehlerausgabe an die SPS funktioniert auch. Nun hat der Kunde eine Kollision gefahren und möchte dass auch diese vom System produzierten Fehler auch an der SPS angezeigt werden.


    Ich konnte aber auch nach längerem Suchen keine Lösung finden, wie ich diese Fehler bestimmen oder direkt ausgeben kann.


    Meine Frage an Sie wäre nun, ob es eine Möglichkeit gibt und wenn Ja, welche.


    Vielen Dank schon mal im voraus

  • ANZEIGE
  • Hi,


    es gibt die Instruktion IError mit der man festlegen kann, bei welchem Systemfehlertyp die verbundene Traproutine aufgerufen wird.


    Man kann hier einzelne Fehlernummer sowie auch die Fehlerdomäne bzw. den Fehlertyp festlegen.
    Innerhalb der Traproutine kann man dann die Fehlernummer und die Domäne auslesen und diese z.B. über einen Gruppenausgang an die SPS schicken.


    Details hierzu findet man im Referenzhandbuch.



    Mfg
    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