Kopplung S7 317-2pn/dp über telnet protokoll an ein Fremdgerät

rhaeu

Level-2
Beiträge
40
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich habe sehr viele Beiträge hier gelesen, leider wurde ich noch nicht fündig.

Die Aufgabe ist eine S7-317-2PN/DP mit einem Laser über Ethernet zu koppeln.
Diese Kopplung soll über ein Telnet Protokoll erfolgen. Mit Telnet funktioniert
die Ansteuerung des Lasers schon einwandfrei. Leider scheitere ich bereits
beim Aufbau der Verbindung mittels FB65. Sobald ich den REQ ansteuere
kommt die Busy Meldung. Diese verändert sich auch nach langer wartezeit nicht.

Würde mich über eine Antwort freuen.

Falls noch daten erforderlich sind bitte kurze Nachricht.

Gruss
Rainer
 
Hi rhaeu,

ich gehe jetzt mal davon aus das du NICHT den TCON benutzt, oder?
Wenn der Busy die ganze Zeit kommt würd ich mal drauf tippen das er keine Antwort bekommt. Hast du ne möglichkeit zu sniffern?
Ansonsten leg mal ein paar mehr Info's/Screens/Code nach was du wie gemacht hast!

Gruß,
Martin
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Martin,
doch, ich habe den TCON benutzt. Mit dem "sniffen" von TCP Verbindungen habe ich
keine Erfahrung. Ich habe im DB64 den UDT65.

DB64.jpgFC100.jpg

Ich gehe aus deiner Antwort davon aus das der Ansatz über TCON nicht der Richtige ist.

Danke und Gruß
Rainer
 
Hallo,
wurde das Problem denn gelöst. Ich habe das selbe Problem. Kommunikation mit Test-PC (Hercules Server) funktioniert.
Nur wenn ich direkt auf das Messgerät gehe, baut er zwar eine Verbindung auf (connected). Aber ich bekomme keine Daten in den DB301. Anscheinend versteht die S7 das Telnet nicht?!
Für Antworten jeglicher Art bin ich euch sehr dankbar.
Grüße
 
Naja sagen wir mal so...


Wie hast du bisher getestet?

PC <-> Telnet Teilnehmer
SPS <-> PC
SPS <-> Telnet Teilnehmer

Ergebnisse?

Was sendest du mit T_SEND, wie sieht dein T_RECV Aufruf aus?
Welchen Port nutzt du?
...

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Marcel,
ja ich habe bisher folgendes geteset:

PC (Hercules Server) <-> Telnet Teilnehmer .... ergebnis i.O.
SPS <-> PC... ergenis i.O. (Reieve dauert zwar 1-3 Minuten aber es kommen Daten an)
SPS <-> Telnet Teilnehmer ... Ergebnis... im FB300 wird im Netzwerk 5 die Verbindungs als #1.Connected gemeldet.

Port des Telnetteilnehmer ist 23. Den habe ich im Aufruf des FC97 mit der IP manuell eingestellt.
??? Irgendwelche Vermutungen?
 
Hallo Marcel,
ja ich habe bisher folgendes geteset:

PC (Hercules Server) <-> Telnet Teilnehmer .... ergebnis i.O.
SPS <-> PC... ergenis i.O. (Reieve dauert zwar 1-3 Minuten aber es kommen Daten an)
SPS <-> Telnet Teilnehmer ... Ergebnis... im FB300 wird im Netzwerk 5 die Verbindungs als #1.Connected gemeldet.

Port des Telnetteilnehmer ist 23. Den habe ich im Aufruf des FC97 mit der IP manuell eingestellt.
??? Irgendwelche Vermutungen?

Richtig müsste es so ausschauen, dass nach einer erfolgreichen Verbindung der Telnetteilnehmer folgenden String schickt: "Welcome to MG41... Enter User:"
 
okay...

warum dauert es 1-3 Minuten bei SPS <-> PC?

Wie läuft das ab? SPS sendet am PC, er antwortet und SPS empfängt? Vielleicht machst mal nen Screenshot von deinem Programm?

Grüße

Marcel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Marcel,
ich sende gar nichts. Als erstes müsste sich der Telnetteilnehmer nach erfolgreicher Kommunikationsaufbau bei der S7 mit einem Text melden. Aber eventuell brauchts noch was damit die Telnetverbindung aufgebaut wird. ich weiß nur nicht was.
Hier der link zu meinem FB300: https://dl.dropboxusercontent.com/u/77819625/FB300.pdf
Grüße
 
Okay du hast das Standardbeispiel von Siemens...

Du musst aber was senden, weil Verbinden heißt ja nicht das die Telnet-Verbindung aufgebaut ist. Dazu gehört mehr!
Bis jetzt baust du eine TCP Verbindung auf Port23 auf. Damit hast du noch kein Telnet, Telnet sind die Daten die du per TCP sendest.
Du kannst ja mal eine Telnet-Verbindung zwischen zwei PC aufbauen und auf einem Wireshark laufen lassen, dann weist du was für Daten da hin und her geschickt werden.

Ich habe mit T_CON schon eine HTTP-GET Funktion realisiert, dort ist es in etwa so:

Connect IP + Port 80

Sendedaten:

http-get/192.168.100.100?a=test&b=test2

Solange ich da nichts sende, habe ich "nur" eine TCP-Verbindung auf Port 80, das kann dann alles sein was TCP unterstützt, aber nen HTTP-get wird es erst durch meine Sendedaten!

Grüße

Marcel
 
Aha,
Problem erkannt:
Hier der Screenshot aus dem Networkmonitor von PC zu Telnetgerät (klappt prima):
PC to Telnet.jpg

Hier die Verbindung von der SPS zum Telnetteilnehmer (wirklich nur TCP bzw. ADP??):
SPS to Telnet.jpg

Irgendwelche Vorschläge welchen String ich für Telnet senden muss? Oder ist das schon ein härteres Thema bzw. Protokollaufbau?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja es wird jetzt härter!

Du musst jetzt folgendermaßen vorgehen:

Kommunikation PC -> Telnet-Teilnehmer loggen und analysieren
Kommunikation SPS -> Telnet (PC) genau so nachbauen

Ich habe für HTTP-GET etwa eine Woche gebraucht, und das ist nur EIN String… denke Telnet wird ne härtere Nuss!


Grüße

Marcel
 
Zurück
Oben