TIA Siemens S7-1500 OUC/ TCON zu TCP/IP Router nicht möglich

Schruser

Level-1
Beiträge
13
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Ich verwende eine S7-1500 als Client und möchte eine Kommunikation zu einem externen TCP/IP Router aufnehmen. Die Kommunikation soll mittels dem TCON Baustein erfolgen, welcher nach Anleitung der Siemens Hilfe aufgebaut wurde. Leider kann keine Verbindung aufgebaut werden. Wäre super wenn Ihr mir weiterhelfen könntet bzw. mögliche Lösungsvorschläge habt. In weiterer Folge soll die S7 einen String empfangen (TRCV) können, der vom Server (Router) gesendet wird.

TCON Konfiguration:

1645780724681.png

1645780285845.png

TRCV:

1645780450808.png
1645780474551.png
 
Du hast bei den Verbindungsparametern eingestellt, daß der Partner (Server) die Verbindung aufbauen soll. Wenn Deine lokale SPS der Client ist, dann sollte sie selber die Verbindung zum Server aufbauen und nicht warten daß der Server das tut. Also "Active connection establishment" beim lokalen Teilnehmer aktivieren und nicht beim Partner.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Antwort! Habe es mal umgestellt, hat jedoch leider nichts gebraucht. Habe TCON nun mal etwas aufgebaut und bekomme nun folgendes Problem: Busy = TRUE / Status = 7002 . Eigentlich wurde TCON nicht großartig anders parametriert nur bekomme ich eben jetzt diese Fehler... Vlt. hast du dazu noch eine mögliche Lösung?

1645783192384.png

1645783206986.png
 
TCON Status 7002: Verbindung wird aufgebaut
Ist der Server im Netz erreichbar (PING)? Wartet er auf Port 2000 auf Verbindungsanfragen?

TCON.REQ sollte eigentlich nicht dauerhaft oder zyklisch aktiviert werden, sondern nur bis TCON.DONE kam. Dann ist die Verbindung registriert und eingerichtet und das muß (und sollte?) nicht immer wieder gemacht werden. (Vielleicht ignoriert TCON das aber auch? Ich habe keine Erfahrung mit S7-1500)


Wie ist eigentlich das Protokoll mit dem Server? Wenn die Verbindung irgendwann erfolgreich aufgebaut ist: sendet der Server von sich aus oder muß er erst aufgefordert werden (eine Anfrage senden)?

Harald
 
Hmm okay, werde das mit TCON REQ ändern. Jedoch liegt das Problem darin, dass TCON DONE nie auf TRUE wechselt und der Client im Baustein TRCV dementsprechend nichts empfangen kann.
Zur Info: an die USB Schnittstelle des Routers (dient als Server) ist ein RFID Reader angeschlossen. Dieser funktioniert als Keyboard Emulation.

Ablauf: Zuerst wird eine Verbindung vom Client zum Server aufgebaut. Wenn dann also ein RFID Tag ins Antennenfeld des Readers kommt wird die UID in weiterer Folge an den Router gesendet. Diese UID kann dann ein Client empfangen.

Folgendermaßen habe ich es schon getestet: Statt der Steuerung als Client, wurde ein C# Client programmiert, der mithilfe der IP und Ports des Routers die UID empfängt. Dies funktioniert problemlos... und die UID kann ausgelesen werden.
Bin leider etwas ratlos, da es mit dem C# Client funktioniert, aber mit den TCON / TRCV Bausteinen nicht funktioniert.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dann schaue mal im Router, ob der Informationen oder Logs zu den Verbindungsaufbau-Versuchen der SPS hat. Oder sniffer mal den Netzwerkverkehr zum versuchten Verbindungsaufbau. Kann der Server vielleicht nur eine Verbindung/einen Client am Port 2000 und der Port ist schon/noch durch einen anderen Client belegt?

Harald
 
Leider gibt es in den Logs keine Auskunft über einen Verbindungsaufbau oder ähnliches. Werde es mal mit sniffen probieren. Es ist so, dass der Server nur eine Client zulässt, was aber in diesem Fall kein Problem ist. Denn der Router wird nur für diese Anwendung benötigt. Kann es sein, dass die IP Einstellungen evtl. falsch sind bzw. geändert werden müssen?
 
Zuletzt bearbeitet:
Sind die Subnetzmasken bei allen 3 Geräten gleich eingestellt, z.B. 255.255.255.0 ?
Ein Gateway wird nicht benötigt, weil Steuerung und Router im selben Netz (IP-Range) sind.
Ich würde der Steuerung nicht die 192.168.0.1 geben, sondern eine höhere letzte Nummer, z.B. 192.168.0.100. Die 192.168.0.1 wird gerne ungewollt belästigt.

Harald
 
Vielen, vielen Dank Harald!! Mit der Umstellung der Steuerungs IP von 192.168.0.1 auf 192.168.0.100 hat der Verbindungsaufbau jetzt geklappt und im TRCV kann nun etwas empfangen.
Die UID wird vom Keyboard Emulator als Hex String gesendet: z.B "77CE65". Leider empfange ich jedoch etwas komische Daten... Hättest du eine Ahnung woran das liegt, bzw. was ich in meinem Programm ändern könnte?

1645788926948-png.59456


1645789061451.png

1645789079674.png
 
(Dein erster Bildanhang ist kaputt und kann nicht angezeigt werden)

Warum hast Du den Empfangspuffer so komisch strukturiert? Deklariere ihn doch mal als einfaches Zeichen-Array [0..xx] of CHAR oder BYTE. Dann kannst Du viel besser sehen was Du empfangen hast, und eine evtl. nötige Konvertierung in SPS-Datentypen kannst Du danach machen, wenn Du den Empfangspuffer auswertest und zerlegst.

INT 14134 = 16#3736
BOOL TRUE = ?
REAL 2915.316 = 16#4536350e

Das könnte folgende ASCII-Zeichenfolge sein: '76' + ? + 'E65' + ?

Wie lang ist die Zeichenfolge die der Partner sendet? Ist die immer gleich lang? Hängt da noch ein Ende-Zeichen dran?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Werde jetzt mal ein Zeichen Array als Eingangspuffer verwenden und es damit testen. Folgender Hex String wird vom Tag gesendet: 77CE65
Demnach also 8 Zeichen lang (es werden immer nur 8 Zeichen gesendet). Dieser soll dann auf der Steuerung ausgelesen werden. Ob jetzt noch ein Ende Zeichen dahinter hängt bin ich mir nicht ganz sicher...
 
Zurück
Oben