active bedeutet normalerweise Client. Ein Server ist passiv. Eventuell ist das ja das Problem.
Hallo,
ich benötige wieder mal die Hilfe dieses Forums.
Es gibt hier zwar schon Beiträge zum TCON usw., aber die haben mir leider auch nicht weiter geholfen.
Ich verwende eine CPU 319-3 PN/DP (Ver. 2.6) die über den PN-Anschluss mit einem Steuergerät eines Roboters verbunden ist.
Zur Hilfe habe ich mir das Beispiel "Sample_open_TCP" von Siemens angeschaut und an meine Anforderungen angepasst.
Hier der Link zum Bsp. und der Beschreibung:
http://support.automation.siemens.co...ard&viewreg=WW
D.h. ich verwende den Baustein "SET_TCP_ENDPOINTx", den ich mit folgenden Werten belege:
T_PARAM ist wiederum am Eingang CONNECT des TCON.Code:CALL "SET_TCP_ENDPOINTx" ID :=1 DEV_ID :=B#16#3 ACTIV :="TRUE" LOC_PORT:=2000 REM_PORT:=2003 IP_ADDR1:=192 IP_ADDR2:=168 IP_ADDR3:=0 IP_ADDR4:=1 CON_DB :=#T_PARAM
Wenn ich jetzt den FB65 T_CONN aufrufe, geht BUSY=TRUE und DONE bleibt immer FALSE.
- FB65 T_CONN: Status = 7002 = "Zwischenaufruf (REQ irrelevant), Verbindung wird aufgebaut.
Ist kein Fehler, bedeutet nur das das Signal am Eingang REQ noch TRUE ist.
- FB64 T_RECV: Status = 7000 = "Baustein nicht empfangsbereit"
- FB63 T_SEND: Status = 7000 = Keine Auftragsbearbeitung aktiv"
Ist verständlich, wenn die Verb. noch nicht steht
Ich habe hier auch schon gelesen, dass die Siemens-Doku "System- und Standardfunktionen für S7-300/400 Band 1/2" Kapitel 23 fehlerhaft ist.
Aber ich denke meine Einstellungen von oben sind korrekt, oder?
Ach ja, mein Roboter ist (im "Data-Link-Betrieb" und) als Client parametriert.
Hier bekomme ich beim Verbindungsaufbau gesagt, dass der Server nicht betriebsbereit ist.
Hat jemand ne Idee, was ich falsch mache, bzw. was ich noch ändern/Ausprobieren könnte?
Bin über jede Hilfe dankbar, denn mir geht nach 2 Tagen solangsam die Ideen aus.
Kennt bzw. hat jemand ein Testprog für den PC mit dem ich die TCP-Verbindung testen kann?
(...und das leicht verständlich ist bzw. erklärt ist?)
active bedeutet normalerweise Client. Ein Server ist passiv. Eventuell ist das ja das Problem.
Rainer Hönle
DELTA LOGIC GmbH
Die Kritik an anderen hat noch niemandem die eigene Leistung erspart (Noël Coward)
Ich hab den Robi-Controller jetzt als Server, was aber auch keine Besserung bewirkt hat.
Trotzdem Danke für den schnellen Tipp.
Da ich alle Bausteine aus dem Siemens Beispiel genommen habe, ist mir jetzt folgendes aufgefallen:
In meiner "Bausteinübersicht" im Simatic-Manager lauten die Bausteinbezeichnungen folgendermaßen:
FB63 TSEND
FB64 TRCV
FB65 TCON
Im FB300, in dem diese aufgerufen werden, steht aber:
CALL #T_CONN
CALL #T_RECV
CALL #T_SEND
Füge ich jetzt diese Bausteine neu ein, steht dann
CALL "TCON",
Allerdings muss ich jetzt den zugehörigen DB generieren.
Das hat mich jetzt wahrscheinlich als blutiger Anfänger entlarft, aber hauptsache ich komme mit meinem Projekt weiter.
Bitte prüfe ob die IP-Adresse + Port des Ziels OK sind.
Ist die CPU ist im gleichem IP-Bereich?
Kabel sind OK?
Zum Testen/Prüfen besorg Dir einen HUB oder managbaren Switch (mit Listen-Port)
und lad dir Wireshark runter zum "mithorchen".
IP-Adr und Port stimmen. Die habe ich schon mehrmals kontrolliert.
Daran liegt es nicht.
Wireshark werde ich morgen mal ausprobieren.
Danke
Versuche doch erst einmal das alle mit Hyperterminal zu prüfen.
Dort kannst Du eine TCP/IP Verbindung aufbauen , einmal zum Roboter und einmal zur SPS. Ich sitze zur Zeit auch an der Inbetriebnahme einiger TCP/IP Geräte wie z.B Kamera bevor ich den Fehler am meinem SPS Programm suche, teste ich erst einmal ob es auch mit Hyperterminal geht.
Hab dann heute direkt feststellen können der der Port an der kamera falsch angegeben war.
oder einfach nur mal anpingen
1.
Ein kleines Tool zum entgegennehmen einer Verbindung:
http://www.sps-forum.de/showthread.php?t=20474
2.
Wie sieht Dein Aufruf von TCon aus?
Hast Du schon mal versucht, die Verbindungsdaten über den "Open Communication Wizard" von Siemens zu projektieren, bzw. wie sieht Deine Struktur T_Param aus?
Hallo,
erstmal Danke für die zahlreiche Hilfe.
Ich habe jetzt mein Fehler gefunden. Es lag an einer Parametereinstellung des Roboter-Steuergeräts.
D.h. Verbindung ist aufgebaut
Danke
Bookmarks