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
ich arbeite zur Zeit mit dem Wago 750-841. ich suche momentan nach einer Lösung dafür, wie ich im Programm die verbleibende Größe meines Filesystems ermitteln kann, um angelegte Protokolldateien gegebenenfalls
wieder zu löschen, wenn sich der Speicherplatz dem Ende neigt.
Gibt es dafür eine Bilbliothek?
Desweiteren würde mich interessieren, ob/wie ich Dateien innerhalb des Filesystems von einem Ordner in einen anderen Ordner verschieben bzw. kopieren kann?
Würde mich sehr über eure Hilfe freuen,
MfG Kai
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
tja, bei mir funktioniert es leider nicht. die while-schleife läuft schon so oft durch wie dateien im ordner vorhanden sind, aber die dateinamen werden nicht ausgelesen bzw. die variable "strTemp" ist immer leer.
was, ausser null, kann ich denn eigentlich auf die 3. eingangsvariable "pDirInfo" von "SysDirRead" schreiben?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hallo
ich arbeite zur Zeit mit dem Wago 750-841. ich suche momentan nach einer Lösung dafür, wie ich im Programm die verbleibende Größe meines Filesystems ermitteln kann, um angelegte Protokolldateien gegebenenfalls
wieder zu löschen, wenn sich der Speicherplatz dem Ende neigt.
Gibt es dafür eine Bilbliothek?
Desweiteren würde mich interessieren, ob/wie ich Dateien innerhalb des Filesystems von einem Ordner in einen anderen Ordner verschieben bzw. kopieren kann?
Würde mich sehr über eure Hilfe freuen,
MfG Kai
Für's erste Problem mußt Du Dir warscheinlich was mit der SysLibDir.lib basteln.
mein zweites problem hat sich erledigt... habs hinbekommen. wenn man den kompletten pfad+dateinamen angibt, dann ist das kopieren ganz einfach.
aber bei der anwendung der SysLibDir.lib (funktion SysDirRead) hab ich probleme.
Gibts dafür irgendwo programmierbeispiele?
Hilfe:
C:\Programme\WAGO Software\CoDeSys V2.3\Help\German\SysLibDir.chm
Sollte also nach dem Schema ablaufen:
Die zweite Zeile wird solange wiederholt bis "CheckObNochWasZuLesen" Null wird.
also aus der hilfe-datei werd ich, ehrlich gesagt nicht schlau.
hier ist mal ein Bsp von mir, wie ich es versucht habe:
VAR
Dir_Handle : DWORD;
eintraege : ARRAY [1..5] OF STRING;
out : UDINT;
i: INT;
strTemp: STRING;
END_VAR
Dir_Handle := SysDirOpen('A:\PLC\DATEN');
i := 0;
out := 1;
WHILE out <> 0 DO
out := SysDirRead(Dir_Handle , strTemp , 0)
i := i+1;
eintraege[i] := strTemp;
END_WHILE
Der Ordner wird zwar geöffnet, die Dateinamen im Ordner werden aber nicht ausgelesen.
Hat vielleicht jemand ne Idee, was ich falsch mache?
Mahlzeit
Bei mir sieht das so aus:
dwDirHandle := SysDirOpen(strPrgPath);
FOR i:=1 TO 100 BY 1 DO
END_FOR
i := 0;
WHILE SysDirRead(hDir:=dwDirHandle,strTemp,0) <> 0 DO
END_WHILE
Das funktioniert auf einer RTE wunderbar.
Gruss Erik
tja, bei mir funktioniert es leider nicht. die while-schleife läuft schon so oft durch wie dateien im ordner vorhanden sind, aber die dateinamen werden nicht ausgelesen bzw. die variable "strTemp" ist immer leer.
was, ausser null, kann ich denn eigentlich auf die 3. eingangsvariable "pDirInfo" von "SysDirRead" schreiben?
Mahlzeit
Da würde ich jetzt mal vorschlagen die CoDeSys Hilfe zu benutzen.
Da wird das ausführlich erklärt.
Gruss
Erik