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

Ergebnis 1 bis 5 von 5

Thema: Problem FileOpen-FileWrite-FileClose

  1. #1
    Registriert seit
    17.10.2014
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo

    ich arbeite mit Beckhoff TwinCAT 3 und versuche über die Funktionsblöcke eine Struktur aus mehreren String in eine Datei zu schreiben. Prinzipiell funktioniert das ganze auch nur ich bekommen zwischen den einzelnen Strings, die in der Datei geschrieben werden immer Leerzeichen. Habe es auch schon versicht nach jedem Wort einen Zeilenumbruch zu machen, aber dann werden die Leerzeichen nur in der Position verschoben. Die einzelnen Strings werden direkt bei der Initialisierung geschrieben.

    Gibt es eine möglichkeit die Leerzeichen zu vermeiden/umgehen?


    <<Ein Element der Struktur>>
    name :STRING:= 'test';

    <<Ausgabedatei>>
    (underline sind in der Datei Leerzeichen)
    test____________________________test____________________________test ____________________________test

    Danke
    Zitieren Zitieren Problem FileOpen-FileWrite-FileClose  

  2. #2
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Ich kenne TwinCAT nicht, vermute aber, daß die tatsächliche Stringlänge nicht ausgewertet wird. Vermutlich tut FileWrite genau das, was Du ihm sagst.
    Wie übergibst Du die STRINGS an das FileWrite? Wie teilst Du FileWrite die Anzahl zu schreibender Zeichen mit?

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  3. #3
    th227 ist offline Neuer Benutzer
    Themenstarter
    Registriert seit
    17.10.2014
    Beiträge
    6
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Die Größe der Struktur wird über die Funktion Sizeof() ermittelt. Aber deine Antwort hat micht auf eine Idee gebracht. Bei der Deklaration der einzelnen Elemente der Struktur habe ich nur
    name :STRING:= 'test';
    angegeben, somit wird wohl Speicherplatz für 255 Zeichen angelegt. Siehe da bei
    name :STRING[5]:= 'test';
    sind es nur noch zwei Leerzeichen.

    Jetzt habe ich aber das Problem, dass die zu schreibenden Strings (in der Struktur) variieren, somit kann ich keine feste Zeichenanzahl angeben oder gibt es da eine Möglichkeit?

    Gruß

  4. #4
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    Ich würde mal sagen, SizeOf(Struktur) ergibt den Speicherplatz den die Struktur belegt, egal ob der komplett genutzt ist.
    Du müsstest die Strings einzeln schreiben und mit der LEN-Funktion die tatsächliche Länge des Strings ermitteln.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.163
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Alternativ: die Ausgabezeile für FileWrite vorher in einem BYTE/CHAR/...-Puffer zusammenbauen, wo Du z.B. mit CONCAT die Strings in tatsächlicher Länge hineinschreibst, ggf. noch Leerzeichen entfernen - siehe Stringfunktionen.

    Harald
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

Ähnliche Themen

  1. Fileopen und filewrite Beschreibung
    Von Bensen83 im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 17.09.2015, 15:01
  2. Problem FileOpen-FileWrite-FileClose
    Von th227 im Forum CODESYS und IEC61131
    Antworten: 3
    Letzter Beitrag: 10.12.2014, 17:49
  3. FileWrite Werte nicht überschreiben, sondern anhängen
    Von suntmaster im Forum CODESYS und IEC61131
    Antworten: 2
    Letzter Beitrag: 26.09.2012, 12:35
  4. OPC Problem routen problem
    Von kpeter im Forum Hochsprachen - OPC
    Antworten: 1
    Letzter Beitrag: 25.08.2010, 19:54

Stichworte

Lesezeichen

Berechtigungen

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