Konzept Fehlerspeicher

Drain

Level-2
Beiträge
224
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hat von euch schon mal jmd. für eine Maschine einen Fehlerspeicher konzepiert? Welche Vorgehensweise ist ratsam?

Ich würde es ungefähr so machen:
Vor jedem Zyklus bestimmte Zustände abfragen (Servoregler ok, Tür geschlossen, Lichtschranke frei, etc.) und im Falle eines Fehlers das zuständige Bit des Fehlerregisters setzen. Wenn das Register nicht Null, dann Zyklus nicht starten und entsprechende Meldung ausgeben.
Entsprechend werden die Bits auch wieder zurückgesetzt, wenn der Fehler behoben wurde.

Was meint ihr? Verbesserungsvorschläge?
Verwendet wird eine Jetter-Steuerung.

Drain
 
Wenn Du ein funktionierendes System mit brauchbaren Diagnosemeldungen hast, ist ein Speicher nicht mehr so aufwändig.

Ich würde im ersten Ansatz einfach ein Stück Speicher, z.B. Ring oder FIFO für 500 oder 1000 Einträge generieren. Immer dann wenn Du eine Störung erkennst trägst Du diese zusätzlich auch in den Fehlerspeicher ein. Wenn dieser voll ist fällt der älteste Eintrag wieder raus bzw. wird überschrieben.

Sinnvoll ist auch jeweils ein Kommt- und Geht-Zeitstempel für jede Störung damit man sehen kann wie schnell das Problem beseitigt wurde.

Wenn Du dann noch über den Ringspeicher eine Top 20 nach Häufigkeit und evtl. nach Dauer generierst ist so ein Speicher eine gute Hilfe.

Wenn es Dir darum geht eine Grundsoftware für künftige Maschinen zu erstellen, dann wären natürlich schon weiterführende Auswertungen "nice to have" - Wobei sich dann aber meiner Meinung nach auch das Verhältnis Nutzen / Aufwand verschlechtert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

hab das mal mit ner 200er gemacht.
Folgende Vorgehensweise:

Wenn ein Fehler kommt wir mit einem Impuls auf das DataLog der 200er geschrieben (mit Datum und Uhrzeit). Dabei habe ich einen Stiring ('0000' - '9999') in die ersten 4 Bites reingeschrieben. In die nächsten 4 Bites hab ich dann noch Zusatzinformationen reingeschrieben.
Z.B. ob der Fehler jetzt True oder False ist, ob ein Timer einen bestimmten Wert hat, ...

Diese Funktion war allerdings so groß, das es 1. viel Zykluszeit und 2. viel Variablen und 3. viel Speicherplatz belegt hat. Mit dieser Funktion und dem nicht alzugroßen Programm, das ich darauf laufen habe ist die 226 ziemlich an ihre grenzen gekommen.

Die Fehler sind aber sehr gut nachzuvollziehen. Durch einen so vorgesehenen Aufbau des Programmes kann ich auch nachträglich, wenn mir Fehler in der Anlage auffallen gezielt Zusatzinfos einbauen.

Die 200er bietet über diese DataLog Funktion die Möglichkeit das in einem Ringspeicher (alles was über das Max. geht wird überschrieben) daten in einer CSV Datei gespeichert werden, die man dann (bei mir ist es über TCP/IP) über Netzwerk direkt auf die CPU kommt und die CSV Dateien ausließt.

Wenn ich es auslese, kommt die CPU allerdings in's stocken (deutlich längere Zykluszeit).

Hoffe ich konnte dir helfen bzw. Anregungen geben, dein Projekt umzusetzten. Bin auch schon seid längere dran, das für die 300er umzusetzen. Da gibt's aber keine so Komfortable Auslesefunktion...

Solltest du eine gute Lösung gefunden haben - du weißt ja wo du das Forum findest;) .

LG MeTh
 
Danke euch für die Anregungen :D . Werde mal sehen, daß die Fehlerauswertung nicht zu umfangreich wird.
Melde mich nochmal, wenn ich es umgesetzt habe.

Drain
 
Zurück
Oben