CSV-Datei mit strukturierten Text erzeugen

Lion
2010-08-10
2023-08-17
  • Lion - 2010-08-10

    Hallo!

    Ich habe über die Suche kein passendes Thema gefunden, deshalb hoffe ich, dass ich jetzt kein doppeltes Thema eröffne.

    Mein Ziel ist es, die Werte von einem Array in eine CSV-Datei zu schreiben und sie später wieder in ein anderes Array zu schreiben.

    Dazu habe ich mir die PDF angeschaut. Herausgekommen ist das:

    IF speichern<>TRUE THEN
    dateinummer:=SysFileOpen(FileName:= 'Temperatur', Mode:='w');
    SysFileWrite(File:=dateinummer, Buffer:=ADR(arr), Size:=SIZEOF(arr));
    SysFileClose(File:=dateinummer);
    END_IF;

    IF lesen<> TRUE THEN
    dateinummer:=SysFileOpen(FileName:= 'Temperatur', Mode:='r');
    SysFileRead(File:=dateinummer, Buffer:=ADR(arr2), Size:=SIZEOF(arr2));
    SysFileClose(File:=dateinummer);
    END_IF;

    Ich wollte so die Daten von arr speichern und dann damit arr2 beschreiben. Mit arr2 ist dann aber nix passiert. Eine Fehlermeldung kam auch nicht.
    Außerdem ist es ja auch keine .csv-Datei, oder?

    Im Beispielprogramm zur PDF wurde auch ein Array folgendermaßen deklariert: typData:ARRAY [1..gcZeilenExcel] OF typCSV; Da kam dann eine Fehlermeldung, dass typCSV nicht erkannt wird. So konnte ich die Beispieldatei nicht nachbasteln.

    Kann mir jemand weiterhelfen?

    Die Lion

     
  • Anonymous - 2010-08-10

    Originally created by: ebt'ler

    Hallo,

    das Thema gab es hier glaube ich schonmal.
    Hier erstmal ein Beispiel von WAGO (welche Steuerung verwendest du?): http://www.wago.com/wagoweb/documentati ... 100d_f.htm

    Wenn du nicht weiter kommst poste mal dein kompletes Projekt, oder zumindestens alles was mit der Datei erstellung zusammen hängt.

     
  • Anonymous - 2010-08-10

    Originally created by: ebt'ler

    Mir ist grade eingefallen, dass ich dir die Beispieldateien schon in einen anderen Thread verlinkt habe. Sorry.
    Wenn du die Datei als CSV haben willst musst du die Endung noch zum Dateinamen hinzufügen:

    FileName:= 'Temperatur.CSV'

    Arr2 müsste dann ein Array of Byte sein, was mindestens die Dateigröße aufnehmen kann.
    Und "typCSV" ist im Beispiel ein selbsterstellter Datentyp (unter den Bausteinauswahlfenster die 2. Registerkarte!).

    TYPE typCSV :
    STRUCT
       DT_date:DT;
       Parameter:ARRAY[1..gc_ParameterCount] OF WORD;
    END_STRUCT
    END_TYPE  
    
     
  • Lion - 2010-08-17

    Dankeschön! Ich werde es mal probieren!

     

Log in to post a comment.