Mit CP 343 auf FTP Server zugreifen

SPS_BOB

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo, erstmal hallo, ich bin neu hier im Forum. Ich habe das Problem dass ich schon seit ein paar Tagen versuche auf einen FTP Server mit dem CP zuzugreifen.
Folgende Hardware wird verwendet:
CPU 315
CP 343-1

Soweit so gut, ich hab jetzt ein Programm geschrieben in dem ich mit dem Baustein FTP_CONNECT auf den Server zugreifen will, auf dem Server sehe ich auch, dass der CP etwas tut. Jedoch kann er sich nicht anmelden. In dem Datenbaustein ist alles wie in der Hilfe beschrieben eingetragen. Ich komm echt nicht weiter, als Status Wort ist entweder 0000 also Auftrag fertig ohne Fehler, oder 8181 also in Arbeit. Error ist fast nie auf 1.

Aber mein Server zeigt zwar die IP von dem CP als nicht eingeloggter User an, kommt aber nicht weiter, da der Username und Passwort mit falscher Syntax übertragen wird, dann wird der cp natürlich wieder rausgeschmissen und connectet neu. Achso ja als Serversoftware läuft Filezilla.

Kommt irgendjemand, von euch das Problem bekannt vor???

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

praktische Erfahrungen in Bezug auf 343-1 --> FTP
habe ich leider keine, aber vielleicht hilft dir dieser Beitrag
weiter:
http://support.automation.siemens.com/WW/view/de/21669141

Damit IT-Kommunikation möglich ist, sollte der CP
ein 343-1 Advanced (IT) sein . siehe hier:
http://support.automation.siemens.com/WW/view/de/16767769

Ein umfassendes Beispiel mit
Programm findest du hier:
http://support.automation.siemens.com/WW/view/de/21605954

mfg.
Rolf
 
Danke für die Antwort, ich habe das ganze heute mal mit einem CP 343 -1 IT probiert, und funktioniert auch nicht. Wird vermutlich damit zusammenhängen dass es ein alter CP ist, im Beispiel steht dass es erst ab FW 1.1 funktioniert, ich aber den CP nicht updaten kann, zumindest laut Siemens HP.

Hmm, grübel....ist es möglich sich so eine Funktion selber zu schreiben??? Bestimmt ist es das, nur sind meine SPS Kenntnisse nicht gerade die besten:D

Mal mit meinem Prof reden, das ganze ist ein Projekt fürs Studium...
 
neues Problem :)
Ich hab wieder den CP 343 dran, und versuche nun das ftp Protokoll nachzubauen. Nutze zum senden den Baustein FC5 und sende einen String zum Server. User und Password werden erfolgreich gesendet, und die SPS(Client) ist eingeloggt. Da aktives FTP wohl in dem Fall das richtige ist möchte ich das Kommando PORT xxx,xxx,xxx,xxx,y,y wobei die X für die IP adresse und die Y für den Port(erste y*256+2te Y = Portnummer). Auf den Port würde ich gern die Datenverbindung aufbauen.
So jetzt zum Problem, der Baustein FC Send sendet nicht das Kommando PORT, bzw es wird irgendwo in einen Buffer geschrieben, und erst gesendet/bzw auf dem Sever angezeigt, wenn ich wieder den Baustein zum Username senden oder Passwort senden starte.
Wenn ich mit Ethereal sniffere bringt sendet er zwar das das Kommando aber vor dem String wird noch \027\027 mitgesendet, also versteht der Server das Kommando auch nicht richtig. Woher kommt das? Any Pointer auf DB wo String abgespeichert ist, ist richtig gesetzt.
Ich weiß, eine sehr verwirrende Erklärung, aber vielleicht weiß ja trotzdem irgendjemand was.

Gruß
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie lang ist dein String?
Im Step7 stehen vor dem wirklichen String noch 2 Byte mit der Info "tatsächliche" und "maximale" Stringlänge.
Denke mal, du solltest dem Any-Pointer 2 Byte weiter hinten als Startadresse geben.
 
mein String hat 23Byte länge, hab den Pointer auch mal 2 Byte weiter nach hinten gesetzt, hat leider nichts gebracht :(
Trotzdem Danke für die Antwort
 
Ok, hab jetzt grad was rausgefunden, im DB fängt der String bei der Adresse 32 an, wenn ich den Pointer auf Adresse 34 setze und dann bei der Byte länge ein Byte kürzer als wirklich angebe, funktionierts :)
Ich bin mal gespannt obs schlussendlich funktioniert, auf den Server zuzugreifen und Daten zu holen.
Gruß
BoB
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Aufbau der Datenleitung...
Ich hab mir das so vorgestellt, ich baue vom CP Port 1326 die verbindung zum FTP Server Port21 auf. Also die Steuerleitung, über die die Kommandos an den Server gehen, das funktioniert auch.
In Netpro habe ich dann die zweite Verbindung projeziert, von Port 1325 an Server Port 20. Also die Datenleitung, über die der FTP Server dann Daten verschicken soll. Ich "höre" mit dem FC6(AG_RECV) diese Leitung nach Daten ab. Geht das? ich rufe den Baustein über den OB1 auf.
Wenn ich über die Steuerleitung den Befehl zum Senden einer Datei an den Client sende, bringt der Server die Meldung, Data channel can't be openend.

Hat jemand ne Idee, wie das gehen könnte, oder wie ich die Datenleitung immer geöffnet lassen kann, oder ob das mit dem FC6 geht? Hab noch nie was mit diesem Baustein gemacht und die Hilfe ist mir auch nicht wirklich eine :)


viele grüße BoB
 
Zurück
Oben