syslibfile und dword

bennelli
2009-09-15
2009-09-15
  • bennelli - 2009-09-15

    Hallo zusammen,

    ich habe jetzt schon viele Beiträge zu dem Thema Dateien speichern, lesen usw. gelesen und hab bis jetzt aber keine passende Antwort gefunden.

    Ich möchte gerne für jeden Tag mehrere Messwert in einer Datei ablegen.

    Die meisten Beispiele zeigen aber immer nur wie man das für einen String macht.

    Meine Messwerte liegen als DWORD/REAL vor, kann ich diese direkt nacheinander abspeichern. Wenn ich weis, dass alle 4Byte ein neuer Messwert kommt, brauche ich keine Trennzeichen oder sonstiges.

    Wie konvertiere ich meine DWORD/REAL Daten in ein Byte Array ?

    Grüße,

    Benni

     
  • Erik Böhm - 2009-09-15

    Mahlzeit

    Wieso denn Byte Array ?

    Mach doch einfach DWORD_TO_STRING() und speicher diesen String ins File. Schreiben kannst du sowieso nur Strings.

    Oder versteh ich das Problem falsch ?

    Gruß

    Erik

     
  • bennelli - 2009-09-15

    Okay,

    es können also nur Strings geschrieben werden.

    Das klärt natürlich alles. Ich dachte ich kann auch direkt mit einem Zeiger

    z.B. auf ein D/WORD -Array zeigen und diese Daten schreiben.

    Dann kommen natürlich wegen der unterschiedlichen Längenen der Messwerte nur eine csv Datei in Frage.

    Eigentlich wollte ich die Messdaten(DWORD) direkt, ohne sie vorher in String zu konvertieren, in das File schreiben. Braucht ja deutlich weniger Platz.

    Aber wenn der Funktionsblock nur Strings verarbeitet, muss ich mir wohl was überlegen.

    Oder gibts doch eine Möglichkeit ?

    Vielen Dank!

     
  • Erik Böhm - 2009-09-15

    Hallo

    Natürlich kannst du auch binärdaten schreiben. Der SysFileWrite() Funktion ist das egal.

    Kann hinterher nur kein Mensch mehr lesen, weil da dann sicherlich auch nicht druckbare Zeichen enthalten sind.

    Gruß

    Erik

     

Log in to post a comment.