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