TIA S7 Verbindung 1500 mit 400

Jonny_McGregor

Level-1
Beiträge
3
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Guten Tag,

im Rahmen meiner Arbeit als Werkstudent soll ich eine Kommunikation, bwz einen Datenaustausch von zwei Controllern realisieren. Der eine Controller ist eine S7 1500(TIA Portal) und der andere eine S7 400(Simatic Manager) in Verbindung mit einem CP443-1 mit einer Profinet-Schnittstelle.

Die PC-Stationen mit der die beiden SPS programmiert werden sind Virtuelle Maschinen, welche auf einem Server laufen. Über einem Switch sind der Server und die beiden SPS verbunden. Beide also im selben Netzwerk aber unterschiedliche Projekte.
Nach reichlich recherschieren habe ich mich für die einfachste Variante entschiede. Eine S7 verbindung bei der die 400 als "Server" dient und ich mit PUT/GET Bausteinen von der 1500 aus auf die 400 lese oder schreibe.

Ich habe die beim Simatic Manager in Netpro eine s7 Verbindung angelegt und der Verbindungsstatus ist erfolgreich aufgebaut. Im folgenden die Verbindungseinstellungen
3.jpg
4.PNG

Mit dem TIA Portal habe ich ebenfalls eine nicht spezifizierte S7 Verbindung erstellt
1.jpg
2.jpg

Dann habe ich den" PUT" Baustein Parametriert. Das gute ist, dass nun keine Error am Ausgang des Bausteins mehr kommt, allerdings bekomme ich einen Fehler bei der Netzsicht
"Fehlerhaft: Statisch konfigurierte ISO-on-TCP-Verbindung. Verbindung ist getrennt (entweder weil kein Verbindungsversuch unternommen wurde oder weil die Verbindung getrennt wurde"

7.jpg

In der Hardwarekonfiguration der 1500 habe ich ein Häkchen bei "Zugriff über PUT/GET-Kommunikation durch entfernte Partner erlauben" gesetzt. Ausserdem ist die Option "Optimierter Bausteinzugriff" deaktiviert.

Ich habe nun so gut wie jeden Foren Beitrag dazu gelesen aber weiss einfach nicht mehr weiter.
Ich habe die Vermutung, dass es an den Subnetz- Eigenschaften für die 400'er im TIA Portal liegen könnte. Wird hier nach einem Eintrag verlangt ?
Vielleicht hat ja jemand von euch eine Idee wo der fehler liegen kann.

Gruß

Jonny
 
Korrigiert mich bitte wenn ich falsch liege, aber funktioniert das mit der S7 Verbindung denn überhaupt über Projektgrenzen (und Softwaregrenzen) hinweg?
Meines Wissens nach müssen beide S7 Steuerungen dabei im selben Projekt sein, um mittels einer S7 Verbindung arbeiten zu können.

Wenn du das über Projektgrenzen hinweg machen möchtest, müsstest du eine Verbindung über TCP herstellen.
Dabei nimmt die Steuerung dann Daten von egal wem an, Put und Get setzt ja vorraus, dass die eine Steuerung weiß was sie im Speicher der anderen CPU wo findet, kann sie ja aber nicht, wenn das eine TIA und das andere Classic ist.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Korrigiert mich bitte wenn ich falsch liege, aber funktioniert das mit der S7 Verbindung denn überhaupt über Projektgrenzen (und Softwaregrenzen) hinweg?
Meines Wissens nach müssen beide S7 Steuerungen dabei im selben Projekt sein, um mittels einer S7 Verbindung arbeiten zu können.

Wenn du das über Projektgrenzen hinweg machen möchtest, müsstest du eine Verbindung über TCP herstellen.
Dabei nimmt die Steuerung dann Daten von egal wem an, Put und Get setzt ja vorraus, dass die eine Steuerung weiß was sie im Speicher der anderen CPU wo findet, kann sie ja aber nicht, wenn das eine TIA und das andere Classic ist.

doch, das funktioniert auch zwischen TIA und Classic ;)

@Jonny

für Put/Get brauchst Du die Verbindung nur in der CPU anlegen, von welcher aus Du liest/schreibst... (also bei Dir nur im TIA nicht im Classic)

allerdings ist Schreiben mit PUT in eine andere CPU verpönt bzw. in vielen Unternehmen auch verboten. Besser wäre, jeweils nur zu lesen, also die 400 liest Daten aus der 1500 und die 1500 liest Daten aus der 400... noch besser wäre, Kommunikationsbausteine zu verwenden, welche auf beiden Seiten gegenprogrammiert werden z.B. BSEND/BRCV...

Gruß.

PS: wegen PCS7 in der 400er würde ich aufpassen, welche DBs Du verwendest, da CFC die DB Nummern auch automatisch neu vergibt. Also NUR DBs verwenden, die ausserhalb vom CFC-Bereich liegen...
 
Zuletzt bearbeitet:
zu deinen Verbindungseinstellungen bei der 1500er: ich würde den Haken "aktiver Verbindungsaufbau" setzen sowie als Steckplatznummer für die 400er Steckplatz 5 versuchen

Gruß.
 
@Ducati

Dass die Verbindung im Classic steht ist ja nicht von Nachteil. Vor allem, weil ich ja, sobald ein Datenaustausch mit PUT/GET funktioniert hat, sowieso mit BSEND/BRCV arbeiten möchte.
Aber erst einmal wäre ich froh, wenn ich es schaffen würde auch nur ein einziges BIT zu senden.

Steckplatz 5 kann ich nicht nehmen, da es im Classic bei S7-Verbindung Eigenschaften voreingestellt ist. ( siehe Screenshot)
8.jpg

Gruß

Jonny
 
Zuviel Werbung?
-> Hier kostenlos registrieren
probiers einfach mal so wie ich geschrieben habe...

- Verbindung in Classic löschen
- Verbindung im TIA umändern
- in der 400 nen hochzählendes DINT im DB anlegen
- mit GET dieses DINT mit der 1500er aus der 400er lesen

für später, im Netpro der 400er musst Du den CP auswählen und nicht die CPU...
 
Nach reichlich recherschieren habe ich mich für die einfachste Variante entschiede. Eine S7 verbindung bei der die 400 als "Server" dient und ich mit PUT/GET Bausteinen von der 1500 aus auf die 400 lese oder schreibe.
Wie immer: Faulheit siegt über Sicherheit. Nicht ohne Grund wurde bei den neueren S7-Familien eingeführt daß PUT/GET-Kommunikation erst freigeschaltet werden muß.

So ziemlich das selbe Thema gestern

S7-Verbindungen für PUT/GET-Kommunikation sind "einseitig" projektierte Verbindungen, die nur im Client projektiert werden (also in Deiner S7-1500), Partner-TSAP muß 03.xx sein, wobei xx der Steckplatz der CPU ist und nicht des CP. Im Server (Deine S7-400) werden diese Verbindungen nicht projektiert.
S7-Verbindungen für BSEND/BRCV können keine einseitigen Verbindungen sein. Sie müssen in beiden CPUs projektiert werden. Die TSAPs müssen >= 10.xx sein


Korrigiert mich bitte wenn ich falsch liege
Ja, alle Deine Vorstellungen sind leider falsch.

S7-Verbindung/Kommunikation geht zwischen beliebigen S7-CPUs (wenn sie erlaubt ist). Unabhängig davon ob sie im selben Projekt sind oder in verschiedenen Projekten, und unabhängig ob sie im selben Subnetz liegen. Wo eine CPU per PUT/GET im Datenspeicher einer anderen CPU rumstochert und als was die Daten interpretiert werden, liegt voll in der Verantwortung und Phantasie der Client-CPU (bzw. des "faulen" Programmierers). Die Server-CPU kann das nicht kontrollieren und deren Anwenderprogramm bekommt es auch nicht mit, wenn da andere Client-CPUs beliebig den Datenspeicher auslesen und drin rumschreiben (sie kann höchstens feststellen, daß sich Werte ohne eigenes Zutun geändert haben).


allerdings bekomme ich einen Fehler bei der Netzsicht
"Fehlerhaft: Statisch konfigurierte ISO-on-TCP-Verbindung. Verbindung ist getrennt (entweder weil kein Verbindungsversuch unternommen wurde oder weil die Verbindung getrennt wurde"
Kannst Du mal zeigen, wo genau Du diese Meldung bekommst? Die Meldung hat entweder nichts mit Deiner S7-Verbindung zu tun oder ist von TIA falsch formuliert.

Harald
 
S7-Verbindungen für PUT/GET-Kommunikation sind "einseitig" projektierte Verbindungen, die nur im Client projektiert werden (also in Deiner S7-1500), Partner-TSAP muß 03.xx sein, wobei xx der Steckplatz der CPU ist und nicht des CP. Im Server (Deine S7-400) werden diese Verbindungen nicht projektiert.

Also mit dem Steckplatz wär ich mir nicht sicher, denke zumindest manchmal ist es der Steckplatz des CP... aber das soll der TE ausprobieren... auf jeden Fall muss der Haken für aktiven Verbindungsaufbau gesetzt sein...

Gruß.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie immer: Faulheit siegt über Sicherheit. Nicht ohne Grund wurde bei den neueren S7-Familien eingeführt daß PUT/GET-Kommunikation erst freigeschaltet werden muß.

Ich würde das mit der Sicherheit und dem Verteufeln von Put/Get vielleicht mal 1-2 Etagen tiefer positionieren.
Bei einer 1200/1500 kann ich dir auch ohne aktiviertes Put/Get alle Variablen in der SPS lesen und schreiben ohne dass du es irgendwo sehen würdest.
Und was die Nachvollziehbarkeit angeht, woher wusstest du denn bei der 300/400 auf welche Variablen eine Visualisierung zugreift, wenn diese über S7-Kommunikation mit der Steuerung kommuniziert?

Wenn sich ein Projekt noch in der Abstimmungs-/Projektierungsphase befindet, kann man sicherlich andere Möglichkeiten in Betracht ziehen. Aber so schlimm ist das mit Put/Get jetzt auch nicht.
 
artner-TSAP muß 03.xx sein, wobei xx der Steckplatz der CPU ist und nicht des CP. Im Server (Deine S7-400) werden diese Verbindungen nicht projektiert.

Werde es direkt mal ausprobieren.

Kannst Du mal zeigen, wo genau Du diese Meldung bekommst? Die Meldung hat entweder nichts mit Deiner S7-Verbindung zu tun oder ist von TIA falsch formuliert.

9.jpg

Gruß

Jonny
 
Also mit dem Steckplatz wär ich mir nicht sicher, denke zumindest manchmal ist es der Steckplatz des CP
Einseitig projektierte S7-Verbindungen (zur Verbindungsressource 03) zu egal welcher S7-CPU gehen immer zum TSAP/Steckplatz der CPU.

Zu einer S7-400 ist bei Partner-TSAP immer der Steckplatz der CPU anzugeben, egal ob beidseitig oder einseitig projektierte S7-Verbindung.

Zu einer S7-300 über einen CP in der S7-300 ist bei beidseitig projektierten S7-Verbindungen (zu Verbindungsressourcen >= 10 hex) beim Partner-TSAP der Steckplatz des CP anzugeben.

Wie projektieren Sie einseitige und beidseitige S7-Verbindungen zwischen S7-300 und/oder S7-400 über IE-CPs?

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen,
ich habe ein ähnliches Problem.
Habe auf meiner "Master" SPS (S7-317) die S7-Verbindung zu einer S7-400 angelegt.
Die Verbindung ist ordentlich aufgebaut und der Status zeigt "Aufgebaut" an. Haken für aktiven Aufbau ist gesetzt.

Leider passt kein Datenaustausch. Die Put/Get stehen wie eingefroren da und geben den Status 1 aus.

ID und die Datenbausteine passen (Mehrmals kontrolliert).

Jemand eine spontane Idee?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast Du die richtigen PUT/GET-Bausteine aus der richtigen Bibliothek verwendet?
Wenn die S7-Verbindung über die PN-Schnittstelle der CPU 317 laufen soll, dann muß Du die FB14/FB15 aus der "Standard Library / Communication Blocks" verwenden. (alternativ direkt SFB14/SFB15 aus "Standard Library / System Function Blocks" aufrufen)
Die FB14/FB15 für CP_300 funktionieren nicht mit der PN-Schnittstelle.

Harald
 
Hallo Harald,
Die Kommunikation ist über einen CP realisiert.
SFB 14/15 sind bereits im Einsatz.

Mit freundlichen Grüßen
 
Zurück
Oben