CSV Datei entspricht nicht dem String

SURF3R

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin,

ich möchte eine CSV-Datei erstellen. Leider wird diese nicht so geschrieben wie gewollt.
Ich öffne eine Datei, übergebe den String für die SysFilewrite. Der String wird einmal in die CSV geschrieben.

Allerdings folgt dann noch mehr Text und ich weiß nicht warum!?
Außderdem bekomme ich keinen Zeilenumbruch hin.
Vielleicht könnt ihr mir helfen.


Das ganze wird mit einem Wago PFC 750-8202 umgesetzt
Ich habe das Programm mit der CSV angehängt.

Anhang anzeigen Forum.zip
 
Es wäre ziemlich clever, wenn Du die paar Zeilen Programmcode hier als lesbaren Text posten würdest - dann könnte man Dir auch helfen, ohne Codesys haben zu müssen ...

Ich vermute mal, Du übergibst SysFileWrite die vom deklarierten String insgesamt belegte Speichergröße und nicht die tatsächliche Stringlänge. Versuche mal etwa so:
Code:
WriteBuffer := '123;456;789';                //zu schreibende Werte
WriteBuffer := CONCAT(WriteBuffer, '$R$L');  //Zeilenschaltung anfügen ('$0D$0A', CR LF)
result := SysFileWrite(SysFileOpenNum, ADR(WriteBuffer), LEN(WriteBuffer));

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

PN/DP hat Recht auch ohne die Datei zu öffnen.

Du machst folgendes:
Unbenannt.jpg

Das SysFileDelete kannst du dir sparen. Wenn du Sysfileopen mit "w" startest wird das so wieso komplett geleert. Angehängt wird nur bei "a" wie "Append".

Das solltest du SIZEOF durch LEN ersetzten (hast du mehr Daten als 255 Zeichen in einer Zeile dann würde ich dir ein Array of Byte empfehlen und keine Strings mehr (dort klappt natürlich LEN nicht mehr, musst du selbst basteln). Außerdem würde ich mit deinem Konstrukt so wie du das hast aufpassen da du das jeden Zyklus ausführst. Ich weiß nicht welche Steuerung du hast und ob du evtl. die Datei im Arbeitsspeicher erstellst (dann kein Problem). Solltest du aber eine Waldundwiesen PLC haben mit einem Flashspeicher ist der Speicher ruckzuck hinüber. Dann besser nur nach Bedarf ausführen und nicht jeden Zyklus!
 

Anhänge

  • Unbenannt.jpg
    Unbenannt.jpg
    34,6 KB · Aufrufe: 12
Zuletzt bearbeitet:
Zurück
Oben