TIA TIA Verbindung zu C# Programm mittels TCON, TSEND, TRECV und TDISCON

de9Jong

Level-1
Beiträge
10
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,
unzwar habe ich das Problem, dass ich eine Verbindung zwischen einem PC(C#) und einer Siemens CPU, in meinem Fall eine 1516 3PN/DP, ohne OPC Server realisieren soll. Eine Verbindung zwischen SPS und dem Hercules Tool funktioniert soweit, wenn ich Hercules als TCP Server laufen lasse und die SPS die Verbindung aktiv aufbaut. Wenn ich nun mein C# Programm(Server) mit dem Hercules als Client verbinden lasse funktioniert dies ebenfalls.
Jetzt meine Frage: Was muss ich gegebenenfalls im C# Programm gesondert einstellen damit ich eine Verbindung zur SPS aufbauen kann?

Software: TIA 15.1.4 & Visual Studio2019

Vielen Dank im Vorraus
 
Moin,
wenn dein Test mit dem Hercules Tool funktioniert spricht erstmal nix dagegen, dass es auch ohne Hercules direkt zwischen SPS und PC funktioniert. Vorausgesetzt in der SPS sind richtige IP und der richtige Port vom deinem Server eingetragen. Und SPS und PC müssen sich natürlich im selben Netz befinden oder über einen Router finden können. Bei einem Router zwischen beiden, muss dieser noch als Gateway in der SPS eingetragen werden.
 
Und trotzdem baut die SPS keine Verbindung auf? Hast du nach dem Test mit dem Hercules-Tool auf seiten der SPS wieder etwas umkonfigurieren müssen? Dann müsstest du auf jeden Fall die SPS einmal durchstarten. Änderungen an den Verbindungseinstellungen brauchen einmal einen Stop->Run.
 
Es gibt weiterhin keine Verbindung,
auf SPS Seite wurde auch schon ein Kompletter Neustart, Programm löschen und neu aufspielen gestestet. Hat denn eventuell jemand eine C# Server Anwendung geschrieben und könnte diese bereitstellten?

Im Anhang ist ein Programm das die Verbindung eigentlich mit einer SPS herstellen sollte.

Gruß
 

Anhänge

Zuviel Werbung?
-> Hier kostenlos registrieren
Beim C-Programm kann ich dir leider nicht helfen.
Was sagt denn der Status-Ausgang vom TCon? Und kommt der Error-Ausgang (Achtung - der ist nur einen Zyklus lang da)? Und zeig uns mal einen Screenshot von den Verbindungseinstellungen des TCon.
 
hm... und am Connect-Eingang des TCon ist auch der DB "SPS_Client_Connection_DB" angegeben? (aber wenn die SPS schon mit dem Hercules-Tool auf deinem Server-PC verbunden war, dann erübrigt sich die Frage eigentlich).
Ich finde in ehrlich gesagt keinen Status-Code 80C6. 80C4 ist in meiner Doku der letzte :confused:
Hast du auf deinem PC mal temporär die Firewall deaktiviert?
 
Hat auch keine Besserung gebracht. Den Code findest du, wenn du in der TIA Hilfe den 2. TCON auswählst, der sowohl für 1200er als auch für 1500er zuständig ist.
MfG
 
Du könntest auf der CPU mal den Web-Server aktivieren und schauen ob deine Verbindung dort überhaupt vorhanden ist.
Doku zum Web-Server ist hier: https://support.industry.siemens.co...r-et-200sp-et-200pro-webserver?dti=0&lc=de-DE
Unter dem Punkt Kommunikation:
Webserver.JPG
dann den Reiter Verbindungen öffnen:
Verbindungen.JPG
Hier sollte deine projektierte Verbindung auftauchen - sonst ist beim erstellen der Verbindung was schief gelaufen.

(Zur Erklärung: Ich hatte vor kurzem das selbe Problem - Verbindung kam nicht zu Stande. Fehler war: Der Kollege hatte die Verbindungsbausteine und zugehörige System-DBs aus einem anderen Projekt kopiert. Software ließ sich übersetzen und laden, ohne Probleme. Allerdings gab es keinen Verbindungsaufbau und eben im Web-Server auch keine Verbindungen zu sehen.
Das neue erzeugen (also Call + Konfiguration von TCon und automatisches erzeugen des System-DBs für die Verbindung) der Verbindungen und erstellen der System-DBs hat das Problem dann gelöst.
Gerade auch zu beachten im Zusammenhang mit dem Multiuser - weil sich bspw. die System-DBs aus der lokalen Session nicht markieren und einchecken lassen)
 
Die Hercules Software kann auch als TCP Client arbeiten. Probiere am mal ob du damit eine Verbindung zu deiner Anwendung bekommst, am Besten auch von einem anderen Rechner aus. Dann weißt du zumindest sicher, dass das Problem nicht in der SPS zu suchen ist (was ich vermute wenn es mit Hercules als TCP-Server funktioniert).
 
Ich nutze für die Verbindung von C#-Programmen zu SPS eine frei verfügbare Bibliothek namens S7.Net+.
Einfach mal googlen...gibts bei Github.

War/ist für mich als Anfänger absolut genial und einfach umzusetzen.
Lässt sich auch sehr schnell und einfach einbinden.
In der S7 ist kein weiterer Code notwendig. Lediglich 2 Einstellungen sind zu machen.

Vielleicht ist das ja etwas für Dich.
 
Ja klar natürlich
Hier der Link

Wenn es fragen gibt, helfe ich auch gerne im Rahmen meiner Möglichkeiten.

Ich nutze es hier im Werk und lese >300 Maschinenparamter von 8 Anlagen aus und speichere die in einer Datenbank. So eine Art MDE.
 
Zuletzt bearbeitet:
Vielen Dank erstmal an alle!
Bei mir war das Problem, dass ich in meiner Firewall wie Howard beschrieben hat jedwede kommunikation abgefangen hat. Daher musste ich in meiner Endpoint Security Software den Port mit entsprechender IP freischalten lassen. Also das weiter oben beschriebene C# Programm funktioniert einwandfrei zum Verbindungsaufbau.

Auf SPS Seite habe ich mit dem Baustein TCON gearbeitet.

Falls noch Fragen dazu sind stehe ich gerne bereit.

Die Bibliothek habe ich nicht mehr getestet da ja jetzt alles läuft.
MfG
 
Zurück
Oben