TIA UDP-Broadcast - TCON - 1511-1PN

Hannibal112

Level-1
Beiträge
17
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich versuche mit einer 1511 Telegramme per UDP als Broadcast zu versenden. Sie sollen einfach ins Netz gehen, sodass ich sie bspw. am PC oder jeden beliebigen anderem Netzwerkteilnehmer lesen kann.

Nach der Hilfefunktion in TIA-Portal muss ich erst die Verbindung mit TCON einrichten und wenn DONE auf true ist, kann man mit TUSEND die Telegramme versenden. Allerdings will TCON gar nicht erst arbeiten. Ich bekomme aber auch kein Error, sondern nur den Status 7000 (="Keine Auftragsbearbeitung aktiv"). An die Flanke bei REQ hab ich gedacht, den DB für CONNECT hab ich automatisch erstellen lassen. Die PN/IE-Schnittstelle hab ich vernetzt als auch unvernetzt probiert, kein Unterschied.

Ich weiß einfach nicht weiter und hoffe auf euere Hilfe.

Gruß H.
 
Hi

Siemens beschreibt in http://cache.automation.siemens.com/dnl/TE/TEwMjYzAAAA_58875807_FAQ/58875807_NET_TCON_S7-1500_de.pdf ziemlich genau, was du alles machen musst um eine Verbindung zu einer anderen PLC herzustellen. Das muss gar keine PLC sein, das muss nur jemand sein, der das Protokoll versteht.

Aber genau in der Formulierung "eine Verbindung" wird dein Problem liegen. Beim Rundruf gibt es keine Verbindung, denn es ist ja nicht klar wer antworten wird. Zu allen die vielleicht antworten könnten kann TCON keine Verbindung aufbauen.

Versuch mal folgendes: lege eine PLC an, gibt der die IP-Adresse für den Broadcast (War sowas wie 192.168.0.255 ) -- eigentlich erwarte ich, dass TIA darüber mault und dich das schon gar nicht einstellen lässt -- wähle diese als Verbindungspartner in der Konfiguration des TCON.

Ich bin allerdings sehr skeptisch darüber ob das klappt. Denn selbst wenn sich die Konfiguration austricksen lässt. Wenn jetzt zwei Antworten, mit wem soll dann eine Verbindung aufgebaut werden? Und selbst wenn nur einer antwortet, dann kommt der doch mit seiner richtigen Adresse zurück, die der TCON dann ja wiederum gar nicht akzeptieren darf.

Nei, nei, nei, dat kann ja gor nich angehn

HB
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Bei UDP wird ja überhaupt keine Verbindung aufgebaut. Wenn man sowas auf einem PC mit Sockets programmiert, kann man bei UDP direkt senden ohne Verbindungsauf- oder abbau.
Ich habe UDP in einer SPS noch nicht verwendet, aber mir würde nichts einfallen was bei einem Connect-Aufruf bei UDP sinnvolles zurückkommen soll, denn intern dürfte da nichts passieren außer evtl. irgendwelche Ressourcen zu reservieren.
 
Hi Thomas

wir sind aber nicht auf einem PC. Ich bin mir einfach nicht darüber im klaren, ob TCON im Zusammenhang mit einem Rundruf überhaupt klappen kann. Ich habe das noch nie gebraucht. Bei mir war es immer eine 1:1 Verbindung.

Wenn Hannibal Glück hat, dann liefert TCON einfach eine 0 und gut ist. Dann kann er mit TSEND weiter machen. Und selbst wenn TCON keine 0 zurückgibt, könnte es nach deiner Meinung nach mit einem TSEND klappen. Ich bin da skeptisch, sehr skeptisch. Haben wir mal wieder was zum probieren.

'n schön' Tach auch
HB
 
Versuch mal folgendes:
Die CPU hast Du ja wohl schon konfiguriert.
Gehe in die Netzsicht und lege dort and der CPU die senden soll eine UDP-Verbindung an.
Ändere in der Spalte Partner auf Broadcast. In den Eigenschaften der Verbindung kannst Du ggf. Einstellungen ändern, vermutlich passt aber schon alles.
Programmiere einen TUSEND. Nimm als ID die lokale ID der oben angelegten UDP-Verbindung.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke für die Antworten. Es läuft inzwischen.
Zur Lösung: Problem war, dass ich bei dem Verbindungspartner Broadcast gewählt habe und dass das nach Aussage vom Support die CPU nicht kann. Nach Auswahl von Unspezfiziert, Verwendung von *.*.*.255 (also Broadcast :cool:) als Zieladresse von TUSEND, Auswertung und Behebung einer Fehlermeldung von TCON kann ich jetzt wunderbar Broadcast-UDP-Telegramme senden.
 
Verwendung von *.*.*.255 (also Broadcast :cool:)
Wobei man anmerken muß, daß die Broadcast-Adresse nicht immer die Adresse <gleiche.IP.adresse>.255 ist, sondern immer die höchste Adresse, welche in dem IP-Netzwerk möglich ist, was sich wiederum nach der Netzwerkmaske richtet.
http://www.heise.de/netze/tools/netzwerkrechner/
Vielleicht ist die Berechnung der Broadcast-Adresse noch nicht in der 1500-Firmware implementiert und Siemens sagt deshalb, daß die kein Broadcast könne?

Harald
 
Zurück
Oben