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

Ergebnis 1 bis 8 von 8

Thema: Array of String und FB_FileWrite

  1. #1
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Ich muss sehr schnell Daten loggen. Alle 500us baue ich ein String aus den Messwerten und speichere diesen komplett fertig (Mit CRLF etc) in ein Array, jedoch mit leicht unterschiedlichen Laengen (Vorzeichen etc) Ich habe zwei gleiche Arrays, in eines fuelle ich die Werte, aus dem anderen Schreibe ich in die Datei...

    Die Idee war, dieses Array als Ganzes dem Baustein FB_FileWrite zu uebergeben, da ich den FB_FilePuts nicht nutzen kann, da in jedem Zyklus eine neue Zeile zu schreiben ist.

    Das Problem ist, dass die nicht genutzten Zeichen in der Zeile mitkopiert werden und so im File als 'stoerende' (NUL) Zeichen landen.

    Was kann ich dagegen tun, ohne einfach Leerzeichen einzufuellen?
    Zitieren Zitieren Array of String und FB_FileWrite  

  2. #2
    Registriert seit
    06.07.2007
    Beiträge
    2.811
    Danke
    174
    Erhielt 274 Danke für 253 Beiträge

    Standard

    Dir in einem zweiten Array die Länge der Einträge des ersten Arrays speichern?
    A programmer is just a tool which converts caffeine into code.

  3. #3
    gloeru ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard

    Ich befuerchte mein erster Eintrag ist zu unklar, sorry!

    Das Problem ist, wenn ich ein Array of STRING(25) an den FB_FileWrite uebergebe, aber die einzelen Strings nicht immer genau 25 Zeichen lang sind, dass ich irgendwelchen Speicherinhalt im der Textdatei habe. Das ich mir soweit logisch, dass wenn ich sString:= 'Nicht25Zeichen'; zuweise, noch restlicher Speicherplatz unbeschrieben bleibt, der bei der Uebergabe mit ADR/SIZEOF mitgenommen wird.

    Eigentlich suche ich eine Moeglichkeit, die String nur bis zum CRLF in die Datei zu schreiben, wie dies der FB_FilePuts macht, aber halt einfach ein Array statt nur ein String...

  4. #4
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    745
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard

    Da wirst Du die Nullen wohl schon beim Speichern entfernen müssen. Also in ein Array[1..MaxStrings*MaxStringSize] of Byte. Nach jedem Speichern eines Strings dessen tatsächliche Länge zum Schreibindex hinzuaddieren.

  5. #5
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard

    Hallo!

    sizeof() ist doch auch der falsche Befehl.
    mit der String-Funktion LEN() aus der Standard.lib ermittels die Länge des tatsächlichen Inhalts!

  6. #6
    gloeru ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    15.02.2011
    Ort
    Stromness, Scotland, UK
    Beiträge
    339
    Danke
    25
    Erhielt 34 Danke für 33 Beiträge

    Standard

    Hey

    LEN() Funktioniert leider nur für einen String, jedoch nicht für ein Array von Strings...
    Ich sehe, ich werde um einem Byte-Buffer nicht umherkommen... Die Strings waren so schön und einfach zum programmieren und debuggen

    Danke trotzdem!

  7. #7
    Registriert seit
    15.08.2011
    Beiträge
    383
    Danke
    2
    Erhielt 73 Danke für 71 Beiträge

    Standard

    Ja logisch für jeden einzelnen String......jeden einzelnen String in einer Array-Zelle.
    Schleife drüber und ggf. im selben Rutsch in ein Byte-Array......ist eher schneller weggeschrieben!

  8. #8
    Registriert seit
    25.11.2010
    Ort
    OWL
    Beiträge
    745
    Danke
    27
    Erhielt 164 Danke für 142 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Oder nur in ein Bytearray packen und bei jedem Eintrag einen Stringpointer darauf setzen. Da gibt es Lösungen in den verschiedensten Geschmacksrichtungen.

Ähnliche Themen

  1. String in Array
    Von bige im Forum CODESYS und IEC61131
    Antworten: 17
    Letzter Beitrag: 02.07.2014, 18:26
  2. Antworten: 50
    Letzter Beitrag: 09.08.2012, 09:31
  3. FB_FileWrite Probleme mit Array schreiben
    Von FredlFesl im Forum CODESYS und IEC61131
    Antworten: 7
    Letzter Beitrag: 20.06.2011, 08:20
  4. Antworten: 13
    Letzter Beitrag: 24.09.2009, 12:54
  5. Das Array und Char/String Geheimnis...
    Von Percival im Forum Simatic
    Antworten: 3
    Letzter Beitrag: 12.10.2007, 11:10

Lesezeichen

Berechtigungen

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