Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Datei in Unterverzeichnisse schreiben

mido22
2008-07-21
2008-09-28
  • mido22 - 2008-07-21

    Hallo,

    ich habe einen Wago 750-841. Ich schreibe csv-Dateien ins Filesystem. Die Dateien werden immer ins Verzeichnis PLC geschrieben. Gibt es eine Möglichkeit die Daten auch in eine Unterverzeichnis zu kopieren?

     
  • Speicherzelle - 2008-07-21

    mido22 hat geschrieben:
    Hallo,
    ich habe einen Wago 750-841. Ich schreibe csv-Dateien ins Filesystem. Die Dateien werden immer ins Verzeichnis PLC geschrieben. Gibt es eine Möglichkeit die Daten auch in eine Unterverzeichnis zu kopieren?

    Hallo mido

    hier ein Beispiel wie Du deine Datei in ein anderes Verzeichniss Namens Test ablegen kanst

    PROGRAM Daten_schreiben

    VAR

    folder:STRING:='test';
    
    filename:STRING:='test.csv';
    
    myLogData: LogData;(*ist eine Funktion die die Daten dann in die Datei schreibt*)
    
    verzeichnis: STRING;
    
    dateiname: STRING;
    
    dateiname1: STRING;
    
    directorycontents:ARRAY[1..7] OF DIRECTORY_INFO;
    
    ergebnis: DWORD;
    

    ND_VAR

    IF stopwriting OR NOT done THEN

    verzeichnis:=CONCAT('\', folder);

    dateiname1:=CONCAT(verzeichnis, '\');

    dateiname:=CONCAT(dateiname1, filename);

    ( Überprüfung ob das Verzeichnis existiert, nach SYSDIROPEN muß SYSDIRREAD ausgeführt werden )

    ergebnis:=SysDirOpen(verzeichnis);

    ( Erzeugt das Verzeichnis oder liest den Inhalt aus um den Speicher der durch SYSDIROPEN reserviert wurde zu löschen)

    (***************************)

    IF ergebnis = 0 THEN

    result := SysDirCreate(verzeichnis);
    

    ELSE

    inhalt:=1;

    i:=0;

    (***************************)

    WHILE inhalt > 0 DO

        IF i> 1 THEN
    
        i:=1;
    
     END_IF;
    

    (***************************)

        inhalt:=SysDirRead(hDir:=ergebnis, stDirEntry:=name, pDirInfo:=ADR(directorycontents[i]));
    
        i:=i+1;
    

    END_WHILE;

    (***************************)

    ( Aufruf der Logfunktion)

    myLogData(SampleRate:=t#1s , FileName:=filename(*dateiname*) , timestamp:= gesamtanzeige , count=>zaehler, done=>done );
    

    END_IF

    (***************************)

    END_IF;

    (***************************)

    Viel Spaß

    Speicherzelle

     
  • Dennish23 - 2008-09-28

    Hallo Mido

    Kannst du mir mal helfen? Ich habe das problem das ich keine Daten in eine csv Datei bekomme. Vielleicht könntest mir dein Prog mal zur Verfügung stellen.

    MFG Dennis

     

Log in to post a comment.