Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: Speichern von Logfiles

  1. #1
    Registriert seit
    24.02.2009
    Beiträge
    1.244
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo allerseits!

    Ich habe eine CX9000 von Beckhoff, auf der neben meinem Steuerungsprogramm auch ein selbstgeschriebenes (C#) HMI läuft.
    Das HMI dient auch gleichzeitig als Datenlogger und speichert jede Sekunde diverse Prozess- und Anlagenzustände in ein Logfile.
    (ca. 86000 Datensätze pro Tag und Datei, die Daten sind bitcodiert und damit recht sparsam im Speicherplatz (ca. 900kB pro Datei))

    Derzeit ist es so, dass ich die Daten direkt sekündlich in die aktuelle Logdatei auf einen USB-Stick schreibe, der in der CX9000 steckt. Da mir vor einiger Zeit dieser Stick verreckt ist, habe ich mir so meine Gedanken über dieses Problem gemacht (Stichwort: begrenzte Schreibzyklen auf Flashspeicher).

    Ich habe einige Lösungsansätze zwischen denen ich mich nicht so recht entscheiden kann. Vieleicht hat jemand von euch eine Idee welche Lösung die beste ist, oder einen anderen Vorschlag....

    1. Statt auf einen USB-Stick kann ich die Daten auch einem Server im Netzwerk schieben.

    2. a) Daten sofort schreiben <--> b) Daten im RAM sammeln und nur ein oder zweimal am Tag speichern.
    a) hat den Vorteil das die Daten gleich sicher sind, auch wenn die Steuerung mal ausfällt (hab keine USV), aber den Nachteil der vielen Schreibzugriffe.
    b) hier schreibe ich große Blöcke am Stück (wenig schreibzugriffe), dafür sind die letzten Daten weg, wenn die SPS mal abschmiert.

    Macht es eigentlich einen Unterschied auf für die Alterung von Flashspeicher ob man die Daten in vielen kleinen Blöcken oder in wenigen großen Blöcken speichert?

    Wenn ich weiterhin die Daten sofort schreibe, was ist da besser: Datei öffnen -> Schreiben -> Datei schließen -> Datei öffnen -> Schreiben ......
    oder Datei öffnen -> schreiben -> schreiben -> schreiben -> Datei schließen

    Momentan überlege ich einfach alles sofort auf den Stick zu schreiben (wie gehabt) und dann ein mal am Tag ein Backup auf den Server zu kopieren.


    Für Anregungen/Vorschläge/Meinungen wäre ich sehr dankbar!
    Zitieren Zitieren Speichern von Logfiles  

  2. #2
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    756
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Ich würde Variante 2 b) nehmen, die Daten jedoch im NOVRAM speichern, um einen Verlust bei "SPS off" zu vermeiden. Der CX9000 ist da mit 128 kB doch recht grosszügig bestückt.

  3. #3
    MasterOhh ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.02.2009
    Beiträge
    1.244
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Kann ich aus meinem C# Programm auf den NOVRAM zugreifen um da beliebige Daten zwischen zu speichern? Die Betonung liegt hier auf beliebig, denn der Datenlogger ist über das HMI frei konfigurierbar, ich weiss somit nicht im Vorfeld welche Daten geloggt werden.
    Soweit ich das mitbekommen habe müssen die Variablen aus dem SPS Programm im Systemmanager mit dem NOVRAM verknüpft werden....

    Wenn ich natürlich direkt von Außen auf diesen Speicherbereich zugreifen könnte um da meine Bitstreams rein zu schreiben wäre eine Möglichkeit die Dateioperationen zu begrenzen, wenn auch etwas umständlich.

    Ich schau mir das mal an!

  4. #4
    Registriert seit
    11.12.2009
    Beiträge
    2.120
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Wie genau funktioniert das loggen?

    schreibst du immer in der gleichen Datei rum? oder liegen später zig hundert Dateien auf dem USB-Stick?

    Grüße

    Marcel

  5. #5
    MasterOhh ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.02.2009
    Beiträge
    1.244
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Der Logger erzeugt jeden Tag stich 0:00 eine neue Datei. Theoretisch würde ich also 365 Logfiles pro Jahr bekommen. Ich kann dem Datenlogger aber auch vorgeben das er alte Dateien automatisch löschen soll. Dann habe ich quasi ein Schieberegister. Diese Funktion ist aber derzeit noch nicht aktiv, da ich immernoch hin und wieder an der Anlage herumoptimiere und dann gerne die alten Daten mit den Neuen abgleiche um zu ermitteln was sich verschlimmbessert hat.
    Später sollen dann nur noch die Daten der letzten 30 Tage, oder so, vorgehalten werden.

  6. #6
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    756
    Danke
    27
    Erhielt 166 Danke für 144 Beiträge

    Standard

    Zitat Zitat von MasterOhh Beitrag anzeigen
    Kann ich aus meinem C# Programm auf den NOVRAM zugreifen um da beliebige Daten zwischen zu speichern? Die Betonung liegt hier auf beliebig, denn der Datenlogger ist über das HMI frei konfigurierbar, ich weiss somit nicht im Vorfeld welche Daten geloggt werden.
    Soweit ich das mitbekommen habe müssen die Variablen aus dem SPS Programm im Systemmanager mit dem NOVRAM verknüpft werden....

    Wenn ich natürlich direkt von Außen auf diesen Speicherbereich zugreifen könnte um da meine Bitstreams rein zu schreiben wäre eine Möglichkeit die Dateioperationen zu begrenzen, wenn auch etwas umständlich.

    Ich schau mir das mal an!
    Ich war davon ausgegangen, dass die zu loggenden Daten aus der PLC kommen, aber das scheint ja nicht der Fall zu sein. Man kann aus der PLC heraus per ADS auf den NOVRAM zugreifen. Ob das dann auch von einem externen Programm aus möglich ist, weiss ich nicht, dazu kenne ich mich in dem Bereich nicht gut genug aus.

  7. #7
    Registriert seit
    11.12.2009
    Beiträge
    2.120
    Danke
    388
    Erhielt 390 Danke für 271 Beiträge

    Standard

    Also das du nicht immer das gleiche File nutzt ist schonmal gut.
    D.H. dein Stick wird nicht so verheizt, da ja nicht immer auf die gleichen Speicherzellen geschrieben wird (Außer das File wird immer ganz neu erzeugt, dann gibt es halt an dem Tag auf alle Speicherzellen jede Sekunde nen Schreibzugriff)...

    Wie lang hat der denn jetzt durchgehalten?

    Grüße

    Marcel

  8. #8
    MasterOhh ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.02.2009
    Beiträge
    1.244
    Danke
    23
    Erhielt 276 Danke für 235 Beiträge

    Standard

    Der erste Stick hat 2 Monate durchgehalten. Wobei ich natürlich nicht mit Gewissheit sagen kann, dass mein Datenlogger Schuld an seinem frühen Ableben ist. Vieleicht war er einfach nur ein Montagsprodukt. Der aktuelle Stick ist jetzt schon über 3 Monate im Einsatz.....

    Ich werd mich mal mit Wireshark ransetzen und schauen was das für Traffic verursacht, wenn ich direkt über das Netzwerk auf den Server schreibe. Sollten ja eigentlich nur ein paar Byte jede Sekunde sein, da gibt es viel schlimmere Dienste, die mehr Daten im Ethernet herumposaunen.

  9. #9
    Registriert seit
    11.07.2004
    Beiträge
    1.597
    Danke
    10
    Erhielt 213 Danke für 183 Beiträge

    Standard

    Ohne die Beckhoff-Kiste genauer zu kennen: Novram ist meist nichts anderes als ein Flash-Speicher (es sei denn das Ding puffert per Gold-Cap und speichert erst bei Stromausfall in den Flash oder aber speichert generell per Batterie). Will sagen: Vorsicht: nicht dass hinterher der interne (nicht selbst auswechselbare) Speicher kaputtgeht statt dem billigen Stick.
    Würde eher nur selten (1 mal pro Tag) auf den Stick schreiben, alternativ direkt auf's Netzwerk, hängt aber davon ab was wahrscheinlicher ist: CPU-Stop der Netzwerkausfall. Die Netzwerkvariante hat zudem den Vorteil dass der Weg zur Steuerung eingespart werden kann um an die Daten zu kommen.

  10. #10
    Registriert seit
    09.11.2007
    Ort
    Rhein Main (Darmstadt)
    Beiträge
    663
    Danke
    61
    Erhielt 112 Danke für 80 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Oberchefe Beitrag anzeigen
    Würde eher nur selten (1 mal pro Tag) auf den Stick schreiben, alternativ direkt auf's Netzwerk, hängt aber davon ab was wahrscheinlicher ist: CPU-Stop der Netzwerkausfall. Die Netzwerkvariante hat zudem den Vorteil dass der Weg zur Steuerung eingespart werden kann um an die Daten zu kommen.
    Sehe ich auch so, Daten über den Tag im Ram halten wenn es nicht zu kritisch ist und dann einmal am Stück alles schreiben.

    Wenn allerdings Datenverlust eine Katastrophe bedeutet über das Netzwerk kontinuierlich abspeichern. Dazu einmal am Tag öffen, immer wieder Schreiben und irgendwann am Ende erst schliessen.
    Geändert von RobiHerb (01.06.2012 um 10:01 Uhr) Grund: Vertippt
    Als Freelancer immer auf der Suche nach interessanten Projekten.
    Zitieren Zitieren Ram  

Ähnliche Themen

  1. Speichern von Projekten
    Von marcelmoonwalker im Forum Simatic
    Antworten: 4
    Letzter Beitrag: 16.04.2009, 11:42
  2. Logfiles speichern
    Von Roos im Forum Simatic
    Antworten: 2
    Letzter Beitrag: 23.01.2009, 19:22
  3. Speichern von Telgrammwerten in S7 Konfig
    Von harald2 im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 11.09.2008, 09:35
  4. Speichern von Simulationsdaten?
    Von sweber im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 27.09.2006, 11:33
  5. Antworten: 9
    Letzter Beitrag: 04.07.2006, 11:49

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •