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

String an: \\Server\TextDatei.txt senden

Stefan
2009-08-17
2009-09-17
  • Stefan - 2009-08-17

    Hallo Leute

    Nach einem Tag üben und lesen hoffe ich, dass jemand von Euch weiter weis. Wie es scheint ist das senden von files in erster Linie an die Bibliotheken der Hardware Hersteller gebunden und nur über FTP möglich.

    Was ich suche ist eine CoDeSys Bibliothek, Möglichkeit in ein File auf einem Server zu schreiben so im Stil "String an: \Server\TextDatei.txt"

    Dabei währe ich schon zu frieden, wenn ich auf bestehende Files zugreiffen könnte.

    Etwa in der Art:

    \Server\TextDatei.txt := ''; (Datei Inhalt löschen)

    \Server\TextDatei.txt := 'Inhalt schreiben'; (Datei schreiben)

    Und das höchste aller Gefühle, eine Möglichkeit an einen bestehenden File- Inhalt an zu hängen.

    Herzlichen Dank für jede Antwort

    Stefan

     
  • David

    David - 2009-08-20

    Die Bibliothek SysLibFile.lib unterstützt synchrone Dateizugriffe auf dem Zielrechner. Wenn das Zielsystem die

    Funktionalität beinhaltet, können folgende Bibliotheksfunktionen für den Umgang mit den Dateien

    verwendet werden:

    • SysFileOpen Datei öffnen

    • SysFileClose Datei schließen

    • SysFileWrite in Datei schreiben

    • SysFileRead aus Datei lesen

    • SysFileDelete Datei löschen

    • SysFileGetPos aktuellen Offset in Datei ermitteln

    • SysFileSetPos Offset in Datei setzen

    • SysFileEOF Prüfen, ob Ende der Datei erreicht ist

    • SysFileGetSize Dateigröße ermitteln

    • SysFileGetTime Zeitangaben bzgl. Erstellung, Zugriff, Änderung

    • SysFileCopy Datei kopieren

    • SysFileRename Datei umbenennen

    Unter Windows geht dies z.B. so:

    sFile:STRING:='\server\folder\subfolder\test.txt';

    hFile := SysFileOpen(sFile, 'w');

     
  • cali - 2009-08-20

    Ich benutze eine Wago. Bei ständigem schreiben, z.B. Logfile, auf den internen Flashspeicher wird dieser irgendwann kaputt gehen. Kann ich das umgehen wenn ich wie in diesem Post dirket auf eine Netzfreigabe schreibe? Oder wird trotzdem etwas lokal (im Flash) gecached?

    Grüße

    Cali

     
  • Anonymous - 2009-09-11

    Originally created by: Ferengi

    hab die frage mal dem wago support gestellt, hier die antwort:

    "Es findet nur ein Flashzugriff statt wenn Sie eine Datei schließen. Wenn Sie z.B. die Werte aus dem Merkerbereich lesen oder sie direkt in eine mssql-Datenbank per TCP/IP transferieren kann keine Belastung für das Flash entstehen."

    Christian

     
  • cali - 2009-09-17

    Jetzt muss ich doch nachfragen. Wie soll das denn funktionieren? Ich habe bislang keine Möglichkeit gefunden auf einem Remotesystem (!) eine Datei zu erstellen und dort etwas reinzuschreiben. Die SysLibFile.lib bezieht sich doch auf die Steuerung. Woher soll den die Steuerung auch auf ein Remote-File-System zugreifen? Es funktioniert also nur: auf der Steuerung eine Datei erstellen und diese dann per FTP auf das Remotesystem übertragen. Dabei haben wir aber wieder den Umstand das etwas auf dem Flash geschrieben wird. Meiner Meinung nach kann man diesen Umstand nur Umgehen, wenn man mittels UDP/TCP Übertragung die Daten versendet.

    Cali

     

Log in to post a comment.