Aufbau einer TCP/IP-Verbindung mit TCON wieder abbrechen

Smiththeonlyone

Level-1
Beiträge
24
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Morgen,

Folgende Situation:

Ich soll eine modulare Anbindung von Modulen an eine Fertigungszelle realisieren. Die Module haben jeweils festgelegte IP-Adressen und kommunizieren
über Ethernet mit meiner Steuerung. Die Kommunikation erfolgt per TCON, TSEND und TRCV ... TDISCON ist auch programmiert, wird aber vorerst nicht verwendet.

Nach einigem Gebastel habe ich gestern erfolgreich die Verbindung zwischen dem Leitrechner IPC277D (meiner Steuerung) und einer Modul-CPU (1515er) testen können. Nun stehe ich allerdings vor folgendem Problem:

Wenn für den Verbindungsaufbau noch die "falsche" IP-Adresse (z.B. 0.0.0.0. nach Neustart Leitrechner) hinterlegt ist und der Verbindungsaufbau automatisch gestartet wird (Leitrechner ist Passiv), dann erscheint bei TCON als Status richtigerweise "7002", da ja die Verbindung noch falsch konfiguriert ist. und die Adresse (z.B. 0.0.0.0 ) nicht an der Anlage existiert.

Wenn ich jetzt allerdings den Programmdatensatz lade, mit der richtigen IP-Adresse und diese auch als Connect-Parameter am TCON-Baustein anliegt, bleibt dieser im Status "7002" ... Die jetzt richtige Verbindung kann also nicht aufgebaut werden. Erst ein Neustart der CPU schafft Abhilfe. Das allerdings kommt für die Anlage nicht in Frage.

Gibt es also irgendeine (zur Not extrem viel Gebastel) Möglichkeit dem TCON-Baustein zu sagen, dass er den Verbindungsaufbau abbrechen soll, also eine Art Reset des Bausteins???? TDISCON davon oder danach habe ich schon probiert.

Hier mal ein Auszug aus meinem FB, der für die Ethernet-Kommunikation zuständig ist:

U #Takt_Verb_Aufbau
UN #TCON_Busy
UN #Verbindung_aufgebaut
= #TCON_REQ

CALL #TCON_Instance
REQ :=#TCON_REQ
ID :=#Conn_ID
DONE :=#TCON_Done
BUSY :=#TCON_Busy
ERROR :=
STATUS :=#Status_temp
CONNECT :=#CONNECT

U #TCON_Done
S #Verbindung_aufgebaut

Lieber Gruß

Stephan
 
Auch wenn ich Dein Konstrukt bzw. Deiner Wortwahl nicht ganz folgen kann ;) vielleicht hilfts, nach SPS Neustart den TCON-Aufruf um 30s oder mehr zu Verzögern...
Und bitte was ist eine Modul-CPU?
Gruss.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn deine CPU aktiv aufbaut, warum kontrollierst du nicht vor dem Verbindungsaufbau ob eine logische Partner-IP vorhanden ist.
Den REQ brauchst du nur einmal anstoßen, ein Takt ist hier nicht nötig.
 
Der Aufruf des TCON wird mittlerweile erst nach einer Programmanwahl durchgeführt. Wenn allerdings versehentlich das falsche Programm angewählt wird, besteht wieder das gleiche Problem.
Mit Modul-CPU (1515er) meine ich den Verbindungspartner unseres Leitrechners, also dem IPC277D.

Gruß Stephan
 
Wenn deine CPU aktiv aufbaut, warum kontrollierst du nicht vor dem Verbindungsaufbau ob eine logische Partner-IP vorhanden ist.
Den REQ brauchst du nur einmal anstoßen, ein Takt ist hier nicht nötig.

Das wäre eine Variante. Nur ist die Frage, ob die Möglichkeit besteht, vor einem Verbindungsaufbau festzustellen, welche IP-Adressen (Module) gerade am Leitrechner angeschlossen sind.
Also eine Art Netzwerkscan. Geht sowas mit einer SPS??

Zur Info: Ich habe mittlerweile mit dem Siemens-Support telefoniert und es kam die Aussage, dass es bei den neueren Steuerungen durchaus ein T_Reset-Baustein gibt, mit dem man den Aufbauversuch abbrechen kann.
Da der ICP 277D eine 400er Steuerung enthält ist dieses hier noch nicht möglich. Ich habe deswegen jetzt den Verbindungsaufbau so umgeändert, dass der Leitrechner aktiv die Verbindung startet und die Modul-CPUs nur noch passiv sind.
Damit funktioniert es jetzt, denn bei dem aktiven Teilnehmer bricht ein Aufruf des TDISCON-Bausteins durchaus auch einen "hängenden" Verbindungsversuch des TCON-Bausteins ab.
 
Zurück
Oben