Empfang von "Telegrammen"

Lilapauser

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich möchte gerne, daß meine S7-313C über ihren CP343-1 über TCP Daten aus einem DB an einen Windoof-PC überträgt. Kein Pollen der Daten, sondern die S7 soll senden, weil nur dann die Verbindung funktioniert.

Aber wie stelle ich das an??? Gibt es ein Programm, daß z.B. AG-SEND Telegramme am PC annimmt und am besten in eine Tabelle (.csv o.ä.) schreibt?

Gruß! - Jan
 
Auf der Windoof Seite kannst du die ankommenden Telegramme mit HyperTerminal empfangen.

Unter Übertragung->Text aufzeichnen kannst du die Telegramme in eine Textdatei umleiten.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für den Tip. Nur klappt es bei mir nicht. AG_SEND sendet zwar (meldet "DONE"), nur empfängt Hyperterminal nix.

"Datei empfangen" kann man nicht anwählen (nur XYZ Modem-Treiber in der Liste) und mit "Text aufzeichnen" erhalte ich nur eine leere Datei.. Unten links steht die ganze Zeit "Offline". Wie geht es richtig??
 
- Hyperterminal starten und einen Namen für die Verbindung geben.
- Verbindung herstellen über TCP/IP (Winsock) wählen.
- Verbindungsdaten (IP-Nummer und Portnummer) der CP eintragen.
-----------
- Auf SPS-Seite eine Verbindung erstellen (NetPro) (wie ich verstanden habe hast du sie schon)
- Kommunikationspartner = Windows-Rechner auf dem Hyperterminal läuft


Jetzt, wo ich das nicht vor mir habe, fällt mir nicht viel ein, was du noch machen könntest. Morgen mache ich im Büro mal ein Test. Falls du mit der bisherigen Beschreibung nicht weiter kommst melde dich nochmal.
 
Hallo und Danke SinusQuadrat.

Habe alles so gemacht. Unter NetPro habe ich eine "Andere Station" eingetragen und TCP (je Port2000) und ISOoverTCP projektiert. Aber da fängt der Spaß an: was geb ich als Port bei ISOoverTCP an (da trägt man nur TSAP's ein)? Sage ich Hyperterminal "Port2000", so kommt weder unter TCP noch ISOoverTCP etwas an..

Ein Testprogramm von LUCA (RFC1006-Server) konnte über ISOoverTCP Daten annehmen. AG_SEND funktioniert also.

Was mache ich verkehrt??

-Jan
 
Ob es mit ISO on TCP funktioniert weiß ich nicht (habe ich nicht probiert)
Wenn ich ehrlich bin, weiß ich gar nicht was du testen willst.
Du hast geschrieben, daß dein Telegramm vom Kommunikationspartner empfangen wird.
Dann ist doch die Welt in Ordnug oder ?

Ich habe dir letztens was falsches geschrieben (Komm.Partner=Hyperterminal) :oops:
Also hier noch mal eine genau Beschreibung wie es auf jedenfall funktioniert.

Für das zu testende Telegramm machst du eine neue Verbindung mit folgenden Eigenschaften:
unspezifiziert (Der Partner ist erst bekannt, nach dem er die Verbindung aufgebaut hat = "HyperTerminal ruft die SPS an")
Typ : TCP
aktiver Verbindungsaufbau : Nein
Lokale IP = IP der CP (z.B. 192.168.0.123)
Lokaler Port = Port für die Verbindung auf der CP-Seite (z.B. 2000)
Die neue Verbindung hat natürlich eine andere ID (ID=x) als die "Originale"

Auf Hyperterminal Seite:
IP = was du unter lokale IP (192.168.0.123) eingetragen hast
Port = Was du unter lokaler Port (2000) eingetragen hast
dann "Anrufen" klicken
Jedesmal wenn du von S7 aus ein Telegramm mit der ID=x über AG_Send sendest, wird es auch auf Hyperterminal angezeigt.
Das habe ich vor gestern getestet(CPU 416, CP 443-1, WinXP+SP2, S7 V5.3+SP2)

ISO on TCP habe ich nicht getestet. Wenn ich mal langeweile habe, werde ich es testen. Kann auch sein, dass Hyperterminal das Telegramm nicht versteht.

Mit einem Sniffer (z.B. www.ethereal.com ,ist kostenlos) kann man auch die Telegramme an den eigenen Rechner sehen.
Die Analyse ist aber etwas umfangreicher und setzt gute Kentnisse der Protokolle voraus.
Hyperterminal hat noch den Vorteil, daß man ohne Aufwand ein Telegramm an die SPS senden kann (-> Textdatei senden) und somit den "Empfangs & Auswerte-Algorithmus" in der S7 testen kann.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Viiielen Dank SinusQuadrat!
Mit der Einstellung "Unspezifiziert" und "Passiv" hat es bei mir auch geklappt. Bin jedoch vorher auf AG_LSEND umgestiegen, da AG_SEND bei meinem HW-Stand wohl einen Bug haben soll..!

ISOoverTCP funktionierte auf die gleiche Weise bei mir nicht, obwohl er verbindet. Kann Hyperterminal wohl nix mit RFC1006 anfangen.. Egal!

Nur eine Sache stört noch: das Hyperterminal erst "anrufen" muß, bevor die SPS sendet. Mit "auf Anruf warten" im Terminal und "aktive Verbindung" in der SPS hat es nicht funktioniert..
Daten sniffen nützt auch nix, weil die SPS erst sendet, wenn eine Verbindung steht.

Weisst du da noch eine Lösung?

Gruß! - JAn
 
Falls noch jemand das Problem hat:
Aktiver Verbindungsaufbau von Seiten der SPS nach Hyperterminal geht doch!! Hatte nur vergessen den Verbindungspartner von unspezifiziert auf die IP umzustellen. Aktiv muß die Verbindung natürlich auch sein :wink:
Jetzt bin ich happy.

Schönen Gruß an alle SPS'ler!!
 
Zurück
Oben