Step 7 BSEND/BRCV 416 zu 317 keine S7-Verbindung

DaMeista

Level-2
Beiträge
75
Reaktionspunkte
2
Zuviel Werbung?
-> Hier kostenlos registrieren
Liebe Gemeinde,

folgende Problemstellung:
aus der „großen“ 416-3-PN/DP soll ein DB mit rund 18k in die 317-2-PN/DP übertragen werden. Der Größe wegen habe ich mich für die Variante BSEND/BRCV entschieden.

In der 400er läuft der SFC12 in Version 1.1, auf der 300er-Seite lauscht der FB13 aus der Familie CP300PBK in der Version 1.4.

Die Kommunikation soll sich über eine nicht spezifizierte S7-Verbindung abspielen, welche den Weg auf der einen Seite über den CP 443-1 an X2-P2 [Rack 0 / Slot 12] und auf der anderen Seite über den CP 343-1 Advanced X2-P1 [Rack 0 / Slot 7] nehmen soll.

Beide Teilnehmer sind [um verbogene Switch-Ports auszuschließen] direkt über ein CAT7-Kabel miteinander verbunden [PTP].
Alle Teilnehmer sind adressmäßig im gleichen Netz beheimatet.
400er CPU 172.26.172.26
CP443-1 172.26.172.27
300er CPU 172.26.172.36
CP343-1 Adv. 172.26.172.37

Problem:
Ich kann keine Verbindung aufbauen.

Wohl ist es möglich, eine „einseitige“ Verbindung aufzubauen [Verbindungsressource x03] aber bidirektional lässt sich keine Verbindung herstellen. Ich habe jetzt endlos lange mit den TSAP´s herum experimentiert und bin der Meinung alle in Frage kommenden Kombinationen ausprobiert zu haben.

Das Einzige was geht war wie gesagt eine einseitige Verbindung von beiden Partnern aus zu etablieren, dann werden im NCM7 auf der 400er-Seite auch zwei S7-Verbindungen angezeigt – auf der 300er Seite komischerweise nur eine. Beim Sendeversuch meckert der BSEND dann allerdings berechtigterweise mit Fehler 3 – er findet auf der etablierten Verbindung keinen Kommunikationspartner mit der anparametrierten R_ID. Macht insofern Sinn, da der BRCV ja auf seiner selbst aufgebauten Verbindung lauscht. Eine einzige Verbindung aufzubauen über welche sich die Bausteine anhand der R_ID identifizieren gelingt mir aber leider nicht.

Was beim Experimentieren aufgefallen ist, ist dass sich auf der 300er-Seite beim Ändern der Schnittstelle im Verbindungsweg der unspezifizierten S7-Verbindung der TSAP in den Adressdetails ändert. Wähle ich als Schnittstelle den Onboard-Adapter, springt der lokale TSAP in den Adressdetails erwartungsgemäß auf 10.02. Wähle ich dann als Schnittstelle den CP, springt der TSAP auf 10.07 – eben so wie es in der HW-Konfig projektiert ist.
Mache ich das auf der 400er-Seite bleibt der lokale TSAP immer auf 10.03 stehen – egal welches Interface ich wähle. Komischerweise ändert sich die S7-Subnet-ID auf das richtige Netz – der TSAP bleibt.
Ich bin hier mit meiner Kunst am Ende und freue mich auf Tipps und Hinweise was ich noch zu beachten habe.
Mich würde interessieren, welche IP´s / Schnittstellen / TSAP´s aus eurer Sicht hier die richtigen wären.
Dass beide R_ID´s den gleichen Wert haben brauche ich nicht weiter erwähnen, oder? ;)

Vielen Dank für eure Antworten.

Grüße
Michael

Eigenschaften.JPG CPU.JPG
 
Klicke mal auf den Hilfe-Button in den Adressendetails der S7-Verbindung
(Eigenschaften S7-Verbindung > Adressendetails > [Hilfe])
Da werden die Besonderheiten von Steckplatz und TSAP des Partners bei Verbindungen zu S7-300 über S7-300-CP erklärt --> beim Partner ist der Steckplatz des CP anzugeben

Bei Dir müsste also projektiert werden
- in der S7-400: Lokal TSAP 10.03 + Partner TSAP 11.07
- in der S7-300: Lokal TSAP 11.07 + Partner TSAP 10.03

Bei einem der Teilnehmer muß noch "Aktiver Verbindungsaufbau" aktiviert sein.

Die Verbindungsprojektierung muß von NetPro in beide Stationen geladen werden. Das geht auch ohne Stop der CPU via "Zielsystem > Laden im aktuellen Projekt > Verbindungen und Netzübergänge"

Siehe auch dieses Anwendungsbeispiel: S7-Kommunikation mit BSEND/BRECEIVE
Da ist die CP-Verbindung zwar über Profibus, doch über IE-CP funktioniert es genauso.
(die überflüssigerweise projektierten zweiten Verbindungen ignoriere einfach, weil BSEND und BRECV kann man auf der selben Verbindung betreiben)


Anmerkung: nur für die Verbindung der beiden SPS zwei extra IE-CPs einzubauen halte ich für oversized (besonders den "CP343-1 Adv"), außerdem müssen die Kommunikationsdaten (18kB) dann jeweils über den Rückwandbus.

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Harald,

als ich Deine Antwort las, ahnte ich schon wo das Problem schlummert und es juckte bereits in den Fingern. Heute bin ich wieder auf Baustelle und der Kollege der "Partner-Station" ist auch anwesend, so dass wir die von Dir vorgeschlagenen Parameter versuchen konnten.

Ich will es nicht weiter spannend machen: Es geeeeeeeeehhhhhht!!!! :rolleyes: *freu*

Wir sind einen Schritt weiter - aber leider noch nicht am Ziel - dazu aber später mehr.
Der ausschlaggebende Punkt war ein Haken - als ich folgendes las: "Bei einem der Teilnehmer muß noch "Aktiver Verbindungsaufbau" aktiviert sein." war der Groschen gefallen. Während der Experimente hatten wir beide den Haken gesetzt und ihn in der Folge uns so auf die TSAP´s versteift, dass keiner mehr an den Haken dachte. So haben beide Steuerungen wohl eine eigene Verbindung aufgebaut.

Auch nach dem Studium des von Dir angeführten Anwendungsbeispiels bleibt [auch wenn die Verbindung jetzt hergestellt ist] eine Frage offen:
Du schreibst "....beim Partner ist der Steckplatz des CP anzugeben" und die von Dir angeführte Konfiguration:

- in der S7-400: Lokal TSAP 10.03 + Partner TSAP 11.07
- in der S7-300: Lokal TSAP 11.07 + Partner TSAP 10.03

tut das auf der 400er-Seite auch ==> Partner an 11.07

Die 300er-Seite gibt aber an, dass sie selbst nicht mit der CPU an Rack 0 Slot 2 sondern mit dem CP an Slot 7 die Verbindung aufbaut und eben nicht wie Du schreibst beim Partner den ".....Steckplatz des CP ..." sondern mit Rack 0 Slot 3 [nämlich der 400er-CPU] kommunizieren will. An dieser Stelle hätte ich noch ein Verständnisproblem.

Dass dieser Effekt nur auf der 400er beheimatet ist, hatten wir schon letzte Woche entdeckt, wie ich in meinem ersten Beitrag schrieb: .... Was beim Experimentieren aufgefallen ist, ist dass sich auf der 300er-Seite beim Ändern der Schnittstelle im Verbindungsweg der unspezifizierten S7-Verbindung der TSAP in den Adressdetails ändert. Wähle ich als Schnittstelle den Onboard-Adapter, springt der lokale TSAP in den Adressdetails erwartungsgemäß auf 10.02. Wähle ich dann als Schnittstelle den CP, springt der TSAP auf 10.07 – eben so wie es in der HW-Konfig projektiert ist.
Mache ich das auf der 400er-Seite bleibt der lokale TSAP immer auf 10.03 stehen – egal welches Interface ich wähle. Komischerweise ändert sich die S7-Subnet-ID auf das richtige Netz – der TSAP bleibt."

An der Stelle gibt es sicherlich einen Hintergrund den ich [noch] nicht kenne. Vielleicht hast Du hier noch eine Erklärung parat oder einen Link zu einem Dokument, welches mich weiter bringt.


Nun aber zu meinem Problem was ich mittlerweile noch weniger Verstehe als die nicht zustande kommende Verbindung:
Nun da eine einzige Verbindung vorhanden ist, beide CP mit einem Kabel direkt verbunden sind, dachte ich der Rest wird ein Spaziergang - weit gefehlt. Der BSEND hat im Ruhezustand nun am Statusparameter eine Null - Error ist auch null - also False.
Wird ein Auftrag gestartet dauert es ca. eine Sekunde, dann wird der Error-Out kurz True und der Status wird auf 3 geschrieben.
In der Hilfe steht nun zum Wert 3: "R_ID ist auf der durch ID vorgegebenen Kommunikationsverbindung nicht bekannt, oder der Empfangsbaustein wurde noch nie aufgerufen." Das hat mich völlig geplättet.

Dass R_ID auf beiden Seiten - also Sende- und Empfangsbaustein - den gleichen Wert haben muss - dieser auch eindeutig sein muss liest man an jeder Ecke in den Dokumenten vom Siemens und auch hier im Forum. Daher habe ich hier eigentlich überhaupt keine Probleme erwartet.
Wir haben zig verschiedene Varianten ausprobiert von der klassische "DW#16#1" über drei, vier und achtstellige "DW#16#24101971" Werte kamen wir immer zum gleichen Ergebnis - Fehler 3.

Selten hat sich eine Inbetriebnahme als derart zäh erwiesen.
Falls Du [oder jemand anderes] dazu noch eine brauchbare Idee hat, wäre ich echt dankbar!

Vielen Dank im Voraus!


Grüße
Michael



Nachtrag:
Die Anlagenkomponenten kommunizieren ihre Betriebsdaten üblicherweise über einen Switch mit dem Kundennetzwerk - daher sind die CP-Baugruppen nicht eigens für die o.g. Aufgabe angeschafft sondern eher zweckentfremdet worden. Und weil die Ports am Kundenswitch durch die Administratur mit [uns unbekannten] Regeln belegt wurden, haben wir kurzerhand zum Testen beide CP mit einem Patch-Kabel verbunden [um auszuschließen, dass der Traffic am Switch-Port gedroped wird].
 
Zuletzt bearbeitet:
Es gibt 2 verschiedene BSEND/BRCV für die S7-300.
Einmal in der Simatic NET Bibliothek und einmal in der StandardLibrary.
Probier mal den "anderen", also den aus der Standardbibliothek.
;-)
 
Die 300er-Seite gibt aber an, dass sie selbst nicht mit der CPU an Rack 0 Slot 2 sondern mit dem CP an Slot 7 die Verbindung aufbaut und eben nicht wie Du schreibst beim Partner den ".....Steckplatz des CP ..." sondern mit Rack 0 Slot 3 [nämlich der 400er-CPU] kommunizieren will. An dieser Stelle hätte ich noch ein Verständnisproblem.
bei Verbindungen zu S7-300 über S7-300-CP erklärt --> beim Partner ist der Steckplatz des CP anzugeben
Nochmal eindeutig formuliert:
- ist der Partner eine S7-300 mit CP, dann ist beim Partner-TSAP der Steckplatz des CP anzugeben
- ist der Partner eine S7-300 mit CPU-integrierter Schnittstelle oder eine S7-400 (egal ob CP oder CPU), dann ist beim Partner-TSAP der Steckplatz der CPU anzugeben

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Es gibt 2 verschiedene BSEND/BRCV für die S7-300.
Einmal in der Simatic NET Bibliothek und einmal in der StandardLibrary.
Probier mal den "anderen", also den aus der Standardbibliothek.
Das "Kompendium" zur SIMATIC-Kommunikation schreibt auf Seite 197, daß die Kommunikationsbausteine für S7-Kommunikation bei S7-300 über CP aus der Bibliothek "SIMATIC_NET_CP / CP300" zu nehmen sind.

Harald
 
Was mir noch einfällt ist, dass wenn ihr da herumprobiert ihr (vermutlich) einen Neustart der CPU braucht oder zumindest den InstanzDB neu runterladen müsst.
Wenn ihr da R_ID im laufenden Programm ändert glaube ich mich zu erinnern, dass das nicht übernommen wird.
 
Nochmal eindeutig formuliert:
- ist der Partner eine S7-300 mit CP, dann ist beim Partner-TSAP der Steckplatz des CP anzugeben
- ist der Partner eine S7-300 mit CPU-integrierter Schnittstelle oder eine S7-400 (egal ob CP oder CPU), dann ist beim Partner-TSAP der Steckplatz der CPU anzugeben

Harald



Danke Harald,

genau diesen Satz in eben dieser Formulierung wünschte ich mir in einem der gefühlt zwanzig Siemens-Dokumente, die ich mir inzwischen zu Gemüte geführt habe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Was mir noch einfällt ist, dass wenn ihr da herumprobiert ihr (vermutlich) einen Neustart der CPU braucht oder zumindest den InstanzDB neu runterladen müsst.
Wenn ihr da R_ID im laufenden Programm ändert glaube ich mich zu erinnern, dass das nicht übernommen wird.




Danke für den Tipp!

Genau das ist der Fall - steht auch irgendwo vom SIEMENS niedergeschrieben.
Der bzw. die für die Verbindung erforderlichen Parameter müssen bei CPU-Start oder erstem Aufruf der Bausteine fest stehen - ein nachträgliches Ändern bringt nicht den gewünschten Effekt.
 
Zuletzt bearbeitet:
Gelöst!

Es gibt 2 verschiedene BSEND/BRCV für die S7-300.
Einmal in der Simatic NET Bibliothek und einmal in der StandardLibrary.
Probier mal den "anderen", also den aus der Standardbibliothek.
;-)

Das "Kompendium" zur SIMATIC-Kommunikation schreibt auf Seite 197, daß die Kommunikationsbausteine für S7-Kommunikation bei S7-300 über CP aus der Bibliothek "SIMATIC_NET_CP / CP300" zu nehmen sind.

Harald


Liebe Gemeinde,

das von Harald angeführte Dokument habe ich während der Vorbereitungen durchgearbeitet und daher wusste ich, dass für diese Art der Kommunikation zwei Versionen des FB13 "BRCV" in Frage kommen und bei der Variante über CP die Bausteine der Simatic-Net-Bibliothek zur Anwendung kommen müssen.

Aber in Ermangelung an Möglichkeiten erschien mir keine Idee zu abwegig um sie nicht einfach zu probieren.
So verrückt sich das auch anhören mag - aber der Beitrag von borromeus ist die bislang hilfreichste Antwort! :icon_surprised:

Wir haben für die Kommunikation über den CP nun den Baustein aus der Standard-Bibliothek genommen und es hat aus dem Stand heraus funktioniert.
Im Anhang nochmal [für alle die es genauso wenig glauben können wie ich] ein paar Screenshots der 400er-Seite wo nach wie vor der SFB12 werkelt.


Verbindungseigenschaften.JPG Adressdetails.JPG


In der 300er tut jetzt der FB13 in Version 1.2 der Familie CPU_300 sein Werk - das Interface steht unverändert auf Slot 7 - der CP-Baugruppe.

FB13.JPG


Der SR bei der Hotline ist noch offen - bin gespannt was die Kollegen von SIEMENS auf die Frage antworten werden.
Bibliothek.JPG

Ich melde mich dann wieder....


Erst mal vielen Dank an borromeus für die etwas außergewöhnliche Idee!!!
 

Anhänge

  • Eigenschaften.JPG
    Eigenschaften.JPG
    85,6 KB · Aufrufe: 19
Vielleicht liegt es aber auch nur daran, dass der InstanzDB neu geladen wurde.

Es gibt einen alten Beitrag...
http://www.sps-forum.de/simatic/118...eber-s7-verbindung-endergebnis.html#post69954

Da steht:

Für die Kommunikation über S7-Verbindung mit der PROFINET-Schnittstelle in der S7-315 PN/DP dürfen nur die Bausteine aus der Standard Library verwendet werden. Nur diese funktionieren. Die anderen dar man nur für CP's verwenden z.B. CP343-1.

Die Bausteine aus der Standard Bibliothek funktionieren aber auch bei CP's.

Fein, dass es läuft!
 
Zurück
Oben