Hallo,
ich habe vor kurzem gerade meinen ersten ABB-Robbi in Betrieb genommen - nach kurzer Einarbeitung mit einem erfahrenen Kollegen hat dies recht gut geklappt, obwohl die Aufgabenstellung recht komplex war.
Allerdings bin ich auf folgendes Problem gestossen, bei dem mir auch der ABB Service-Center nicht weiterhelfen konnte:
Im Automatikbetrieb wird Situationsabhängig an mehreren Stellen im Programm die Funktion "TPReadFK" in Verbindung mit einer "WHILE"-Anweisung genutzt, um den Bediener durch Textinformationen aufzuforden eine bestimmte Entscheidung zu treffen. Diese wird durch betätigen eines Function-Keys am unteren Bildrand der Touchscreen ausgelöst.
Dabei kann folgendes Problem auftreten: Steht der Robbi an genau dieser Stelle im Programm und der Bediener betätigt die "Stop"-Taste, wechselt die Ansicht am Touchpanel von der Textansicht in die Ansicht Programmeditor (z.B., wenn jemand in den Schutzgitterbereich der Roboter-Zelle muss). Nach Betätigen der "Start"-Taste (Restart) wird zwar wieder die Textansicht angezeigt, allerdings fehlen die zur Auswahl stehenden Function-Keys. Dies bedeutet, der Bediener kann das Programm nicht weiterlaufen lassen, da es sich ja immernoch in der WHILE-Schleife befindet.
Merkwürdigerweise kann durch mehrmaliges Betätigen der "Stop" und anschließend wieder der "Start"-Taste manchmal der Fehler behoben werden. Ansonsten muss der Bediener auf Einrichtbetrieb und danach wieder auf Automatikbetrieb wechseln (Schlüsselschalter) um dann durch erneutes Betätigen der "Start"-Taste in die korrekte Textansicht zu gelangen.
Ich hoffe ich konnte das Problem einigermaßen verständlich formulieren.
Ich füge hier noch ein Beispiel aus dem Programm ein:
WHILE (nFK2<>2)AND(nFK2<>4)AND(nFK2<>5) DO
IF diFtGrGeoeff=1 THEN
bSensFtGrAuf:=TRUE;
ELSE
bSensFtGrAuf:=FALSE;
ENDIF
IF diFtGrGesch=1 THEN
bSensFtGrZu:=TRUE;
ELSE
bSensFtGrZu:=FALSE;
ENDIF
IF diFtGrTeil=1 THEN
bSensTeilFtGr:=TRUE;
ELSE
bSensTeilFtGr:=FALSE;
ENDIF
TPErase;
TPWrite " ";
TPWrite " Sensor FT-Greifer geschlossen "\bool:=bSensFtGrZu;
TPWrite " Sensor FT-Greifer geoeffnet "\bool:=bSensFtGrAuf;
TPWrite " Sensor Teil in FT-Greifer: "\bool:=bSensTeilFtGr;
TPWrite " Merker Teil in FT-Greifer: "\bool:=bTeilFtGr;
TPWrite " ";
TPWrite " Ist ein Teil im FT-Greifer? ";
TPReadFK nFK2,""," erneut pruefen ","Abfrage ignorieren",""," ja "," nein ";
TPErase;
IF nFK2=2 GOTO EndPruefGr;
IF nFK2=4 bTeilFtGr:=TRUE;
IF nFK2=5 bTeilFtGr:=FALSE;bChFtNIO:=FALSE;
ENDWHILE
Für hilfsreiche Tips wäre ich sehr dankbar.