Hallo plc2k
Ich habe in der letzten Zeit eine Langzeitarchiv Anwendung für die Komfortpanelserie von Siemens programmiert, die zur vollen Stunde eine Kopie der Archivdateien in eine nach Datum aufgebaute Ordnerstruktur ablegt. Zum Anschauen der abgelegten Archivdateien haben wir auch die Siemens Excel Datei verwändet, die mehr oder weniger unkomfortabel ist.
Nun bin ich gerade auf deinen Viewer gestoßen der mir recht gut gefällt und im Prinzip das liefert was man so braucht.
Eine Sache vermisse ich jedoch daran. Beim Öffnen der entsprechenden CSV Dateien wird die Y-Achse automatisch skaliert, was auch soweit in Ordnung ist, da ja keinerlei Skalierungsinformationen in den CSV Dateien enthalten sind. Was ich mir jedoch wünschen würde ist, dass man die Skalierung im Nachhinein manuell ändern kann. In meinem Fall habe ich lauter Werte die von 0-100% skaliert sind. Es ist total schwierig die einzelnen Kurven in Relation zueinander zu betrachten. Dies wollte ich als eventuelle Anregung weitergeben.
Des Weiteren habe ich festgestellt, dass die Archivfunktion der Komfortpanels von Siemens (z.B. TP700) nicht sauber laufen. Es kommt immer mal wieder vor, dass Datensätze in den Archivdateien korrupt sind (Datensatz entspricht nicht dem Datensatzframe) oder gar nicht in die Archivdatei gehören, weil sie Teil einer anderen Archivdatei sind. Das führt dazu, dass das Öffnen der korrupten Datei mit Fehler abgebrochen wird und nicht mehr weiter läuft. Nun habe ich keinen Einfluss darauf, wie die Archivierungsfunktion der Komfortpanels die Daten in die Archivdateien schreibt und kann somit korrupte Datensätze nicht vermeiden. Wäre es denn denkbar dass die Einleseroutine deiner Software eventuell korrupte Datensätze ignoriert und die Datei doch noch weiterbearbeitet? Ich muss mich natürlich auch an die A&D wenden um dieses Phänomen zu besprechen, da das nicht in Ordnung ist, dass Archive fehlerhafte Datensätze beinhalten.
Ich werde versuchen einfach mal ein paar korrupte Archivdateien anzuhängen. Vielleicht kannst du dir die mal anschauen und prüfen ob da eine Änderung in der Einleseroutine möglich ist.