-> Hier kostenlos registrieren
Hallo liebe Gemeinde,
ich stehe gerade vor einem Problem, bei dem ich ein wenig Beistand gebrauchen könnte.
Es geht darum Logdaten, die in einer CSV-Datei liegen, für den weiteren Transport über eine Satellitenverbindung zu komprimieren.
Ehrlich gesagt habe ich die Komplexität dieser Aufgabe anfänglich unterschätzt, da ich dachte zip-Algorithmen gibt es zu Hauf im Internet, da werde ich irgendwas brauchbares finden. Nun stellt sich mir allerdings eher grundsätzlich die Frage, wie ich vorgehen soll.
Aber zunächst ein bisschen Background:
Als Steuerung kommt ein CX1020 von Beckhoff mit WinCE zum Einsatz. Das existierende Logging ist mit den Bausteinen DLOG_DINT, DLOG_STORE_FILE_CSV und DLOG_DATA aus der oscat lib implementiert.
Die folgenden Varianten kamen für mich bisher in Betracht:
1. Es wird "on the fly" kompriemert. Dies wäre sicher die eleganteste aber auch aufwendigste Variante, da die Bausteine aus der oscat lib nicht mehr zu gebrauchen wären. Außerdem wären die zu erreichenden Kompressionsraten nicht so gut.
2. Die erstellten CSV-Dateinen werden komprimiert, nachdem sie durch die Funktionsbausteine für das Logging geschlossen wurden. Hier stellt sich die Frage, wie die Kompressionsfunktionen implementiert werden
Meine Frage ist, ob jemand so etwas schon mal gemacht hat, und wenn ja, wie es umgesetzt wurde. Vielleicht gibt es ja noch ganz andere Ansätze, die ich noch nicht gesehen habe
Vielen Dank und viele Grüße,
Robert
ich stehe gerade vor einem Problem, bei dem ich ein wenig Beistand gebrauchen könnte.
Es geht darum Logdaten, die in einer CSV-Datei liegen, für den weiteren Transport über eine Satellitenverbindung zu komprimieren.
Ehrlich gesagt habe ich die Komplexität dieser Aufgabe anfänglich unterschätzt, da ich dachte zip-Algorithmen gibt es zu Hauf im Internet, da werde ich irgendwas brauchbares finden. Nun stellt sich mir allerdings eher grundsätzlich die Frage, wie ich vorgehen soll.
Aber zunächst ein bisschen Background:
Als Steuerung kommt ein CX1020 von Beckhoff mit WinCE zum Einsatz. Das existierende Logging ist mit den Bausteinen DLOG_DINT, DLOG_STORE_FILE_CSV und DLOG_DATA aus der oscat lib implementiert.
Die folgenden Varianten kamen für mich bisher in Betracht:
1. Es wird "on the fly" kompriemert. Dies wäre sicher die eleganteste aber auch aufwendigste Variante, da die Bausteine aus der oscat lib nicht mehr zu gebrauchen wären. Außerdem wären die zu erreichenden Kompressionsraten nicht so gut.
2. Die erstellten CSV-Dateinen werden komprimiert, nachdem sie durch die Funktionsbausteine für das Logging geschlossen wurden. Hier stellt sich die Frage, wie die Kompressionsfunktionen implementiert werden
a) als Funktion im TwinCAT
b) als externes Programm z.B. in C# Aufruf im TwinCAT über NT_StartProcess (Nicht meine favorisierte Lösung, da ich mich erstmal damit auseinander setzten muss, wie man Anwendungen für WinCE in C# erstellt...)
c) es kommt ein existierendes Programm zum Einsatz, Aufruf über NT_StartProcess (leider habe ich bisher kein entsprechendes Programm im Netz gefunden)
b) als externes Programm z.B. in C# Aufruf im TwinCAT über NT_StartProcess (Nicht meine favorisierte Lösung, da ich mich erstmal damit auseinander setzten muss, wie man Anwendungen für WinCE in C# erstellt...)
c) es kommt ein existierendes Programm zum Einsatz, Aufruf über NT_StartProcess (leider habe ich bisher kein entsprechendes Programm im Netz gefunden)
Meine Frage ist, ob jemand so etwas schon mal gemacht hat, und wenn ja, wie es umgesetzt wurde. Vielleicht gibt es ja noch ganz andere Ansätze, die ich noch nicht gesehen habe

Vielen Dank und viele Grüße,
Robert