Hauptmenü

FTP-Client

Begonnen von klamsie01, 12. Dezember 2013, 12:58:20

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

klamsie01

Kann ich mit dem FTP-Client alle geloggten *.csv Dateien auf einmal übertragen? Wenn Ja, was muss ich bei "FILENAME" dann eintragen? \DATEN\*.csv habe ich schon probiert, das scheint nicht zu gehen. Wenn ich den kompletten Pfad und Dateinamen eingebe habe ich keine Fehlermeldungen.

Ich habe eine WAGO 750-881 und benutze CodeSys 2.3.9.28
Die geloggten Dateien werden in einen Eigenen Ordner (DATEN) auf der Steuerung abgelegt, im ROOT,nicht im PLC.

peewit

der ftp_client kann immer nur eine Datei verarbeiten
da müsstest du dir schon eine kleine verwaltung programmieren die nacheinander alle dateien dem ftp_client übergibt


klamsie01

Hättest Du da ein Beispiel? Würde es gehen den ganzen Ordner per FTP-Client zum Server zu schicken?

peewit

beispiel  ?
leider nein,

da der zugriff auf ordner und der notwendige "dir" befehl nicht standardisiert sind.
und auf jeder plattform etwas anders aussieht oder gar nicht funktioniert

klamsie01

Schade, aber sind die FTP Befehle nicht standardisiert?Über einen FTP-Client (PC) kann ich doch ganze Ordner kopieren. Warum soll das nicht bei Wago 881 klappen?
Mann bräuchte einen Baustein der das umsetzt. Und jemand der einen solchen Baustein baut.

peewit

warum willst du denn alle dateien unbedingt aufeinmal übertragen und nicht immer wenn eine datei fertig ist

die sps selber schwer selber mittels ftp_client auf den lokalen ftp_server zugreifen noch dazu wäre das ziemlicher komplizerter aufwand. normalerweise greift man mit der sps mittels file_system bausteine auf den lokalen flash zu

du musst bedenken das du einen sps baustein schreiben musst der das alles macht was der pc ftp_client macht
es gibt auch keinen ftp befehl ordner kopieren sondern das ist eine aneinander reihung von vielen einzelnen kommandos

klappen ja eventuell , aber wer soll es programmieren, du unterschätzt den aufwand für so etwas ...


klamsie01

Ich möchte eigentlich mehrere Dinge am Monatsende loggen.da das loggen zu dem selben Zeitpunkt erfolgt, wollte ich etwas später nach dem loggen alle Dateien auf einmal zum Server senden. Zur Zeit mache ich das ohne DT Angaben im Dateinamen weil der DLOG_FILE_TO_FTP Baustein immerzu rummeckert wegen DNS Fehler, und deshalb nix zum Server überträgt. Der FTP-Client Baustein macht nur Fehlermeldung wenn die Dateien auf der SPS und dem Server identisch sind.
Durch das zusammen senden würde ich außerdem nur den einen FTP-Client Baustein brauchen, bei DLOG_FILE_TO_FTP brauche ich für jede log einen Baustein, was mehr SPS-Speicher kostet.

klamsie01

Hab jetzt mal eine Frage zu DLOG_STORE_FILE_CSV. Was genau hat es mit dem Eingang SEP auf sich? Ich habe die Doku 121 und die Lib 121 aber da steht etwas von Trennzeichen. Wenn ich SEP frei lasse sieht der Dateiname folgendermaßen aus: DATEI_#J #H #E #A um #N:#R.csv, wenn ich aber bei SEP zB 59 eintrage sieht der Dateiname so aus: DATEI_xx.csv. xx sind Zahlen die variieren.
Seit ich es mal wieder mit DLOG_FILE_TO_FTP probiere stehen auch keine Daten mehr in der CSV Datei auf dem Server, obwohl ich per Hand ENABLE und TRIG_M ca 30s auf TRUE setze. Im Wago Ordner Stehen Daten drin.
ERROR_C sagt 1 und ERROR_T sagt 4 , DONE ist TRUE.

klamsie01

Jetzt hab ich ERROR_C = 4244535648 und ERROR_T = 3 beim DLOG_FILE_TO_FTP RETRY = 3 und TIMEOUT 5s

peewit

hi
ich kann weder deinen error_c fehler nachvollziehen nach deine probleme mit den dateinamen und separator
es ist ja auch schwer zu erraten was du eigentlich programmiert hast...

nimm doch mal aus den ordner "demo" das beispielprogramm "DLOG_FILE_CSV_FTP_DEMO" du probiere das mal aus.