# Umgang mit Fehlern



## steinadler86 (2 August 2019)

Hallo ihr,

ich habe ein PC-Programm, welches per IO-Koppler eine Anlage steuert. Soweit so gut.
Ich habe etliche Schrittketten implementiert, die teilweise auch Unterschrittketten aufrufen.

Wie geht man nun mit z.B. Endlagenfehlern (Timeout) um?

Bisher habe ich da immer eine Meldung geworfen mit der Möglichkeit "Wiederholen, Ignorieren, Abbrechen" oder so. Die Schrittkette wartet dann auf entsprechende Nutzeraktion.

Wie macht ihr denn das?


----------



## winnman (2 August 2019)

Hängt stark vom Prozess und dessen Gefährlichkeit für Menschen und Güter ab.

Was passiert wenn der Prozess auf die Bedienereingabe warten muss im schlimmsten / normalen / günstigsten Fall?


----------



## steinadler86 (2 August 2019)

Wenn z.B. ein Pneumatikzylinder die Endlage nicht erreicht, muss der Prozess definitiv anhalten.

Die Frage ist, wo ich die Überwachung "Wiederholen, Ignorieren, Abbrechen" platziere - innerhalb der Schrittkette (bei Wiederholen weiter mit Schritt 3) oder außerhalb (indem ich den auslösenden Schritt einfach wiederhole).


----------



## escride1 (31 August 2019)

In der Regel halte ich die Schrittkette am genauen Fehlerpunkt an.

Der Bediener kann nun die Anlage in den Einrichtbetrieb schalten, das entsprechende Bauteil manuell verfahren und dann wieder in die Automatik zurück um nun "weiter" auszuwählen. Durch die manuelle Bewegung wird während des Einrichtbetriebes der aktuelle Schritt zyklisch abgefragt, sodass er sieht, das das nun in Ordnung ist. Wenn er auf Weiter drückt, so wird an der Stelle wo es unterbrochen wurde weitergearbeitet, der fehlerhafte Schritt also nicht wiederholt angefahren, sondern abgefragt ob er nun richtig steht und ab der Stelle weitergemacht. Der Bediener muss den fehlerhaften Schritt also manuell ausführen.
Bei dieser Art ist es äußerst wichtig das pro Schritt immer nur eine Aktion ausgeführt wird. Also nicht "Vorlauf starten, Säge starten" in einem Schritt sondern das müssen zwei sein die einzeln abgefragt werden, was die Schrittkettengröße natürlich deutlich erweitert aber auch bei einer Fehlersuche sehr viel hilfreicher sein kann.

Wichtig ist das im Einrichtbetrieb nichts automatisch fahren kann, aber ein Eingriff, durch in der Regel Totmannbedienung, gewährleistet bleibt.


Bei Produktionsanlagen die zeitliche Abläufe benötigen (Trocknen etc.) kann es hilfreich sein zusätzlich zum Weiter eine Grundstellung anzubieten, jedoch erst wenn das fehlerhafte Bauteil repariert wurde. Denn wozu das Teil weiter bearbeiten, wenn es eh kaputt ist.


----------



## Ralle (1 September 2019)

Ich habe in meinen Programmen 2 Möglichkeiten. Die Anlage stoppt bei einem Fehler in jedem Fall, hat eine Station einen Fehler, stoppt nur diese, alle Anderen laufen, bis es nicht mehr weitergeht (weil. z.B. die Fehlerhafte Station nicht liefert) Gibt es einen Fehler, der alle Stationen betrifft (Luftdruck weg. etc., fliegt sie Automatik sofort für alle Stationen.

Also steht die Mschionen irgendwann, Fehler wird angezeigt. Das kann nun ein Laufzeitfehler der SK sein, oder aber auch en anderer Fehler, z.b. überwache ich jeden einzelnen Luftzylinder auf Laufzeit und Endlage.

1. Der Bediener kann nun im Einrichtmodus korrigieren und die Automatik wieder starten, fall z.B. ein Teil verkantet ist. Dabei ist wichtig, dass jede Bewegung so Verriegelt wird (über Freigeben), dass eine fehlerhafte Korrektur (Vertikalzylinder eines Handlichgs wird gesenkt belassen) bei Neustart der Automatik niht zum Crash führen kann. Hier würde nach Zeit X wieder ein Laufzeitfehler der Schrittkette geworfen.

2. Der Bediener kann den Fehler beseitigen, Ini tauschen etc., dann eine Grundstellungsfahrt der Station oder aller Stationen veranlassen und die Automatik wieder starten. Dabei wird die Schrittkette immer so programmiertm, das die Maschine an der richtigen Stelle weiterarbeitet. Hat also ein Greifer eine Teil bereits gegriffen, muß er zum Absetzen fahren und nicht zum Holen. Das muß man natürlich entsprechend ausprogrammieren, sorgt aber dafür, dass man nach eingriffen schnell wieder weiterarbeiten kann.

PS: 3. Möglichkeit gibt es auch noch, Leerräumen, alle Teileinfos löschen, neu starten. Das ist aber die absolute Notvariante, weil u.U. viel Ausschuß entsteht. Hilft aber bei bestimmten Fehlern (auch Programmierfehlern) erst einmal weiter ;-)


----------



## Rudi (2 September 2019)

steinadler86 schrieb:


> Wenn z.B. ein Pneumatikzylinder die Endlage nicht erreicht, muss der Prozess definitiv anhalten.
> 
> Die Frage ist, wo ich die Überwachung "Wiederholen, Ignorieren, Abbrechen" platziere - innerhalb der Schrittkette (bei Wiederholen weiter mit Schritt 3) oder außerhalb (indem ich den auslösenden Schritt einfach wiederhole).


Was meinst Du mit"bei Wiederholen weiter mit Schritt 3" ist das  "weiter mit folgenden Schritt" ?


----------

