Step 7 Put/Get-Kommunikation zwischen zwei S7-400H-Systemen

BoGe-Ro

Level-1
Beiträge
8
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Forum,

ich möchte eine Put/Get-Kommunikation zwischen zwei S7-400H-Systemen herstellen.
Orientiert habe ich mich nach folgender Anleitung

SIOS: Beitragstyp: FAQ Beitrags-ID: 43033406, Beitragsdatum: 04.01.2016

Es gibt zwei getrennte Steuerungsprojekte, welche über ihre CPs miteinander Daten austauschen sollen.

Hardwarekonfig Steuerungsprojekte.jpg

Die Verbindung soll über die CPs erfolgen, welche am selben Switch hängen.

Properties - fault-tolerant S7 connection.jpg

der aktive Verbindungsaufbau soll über die reale Steuerung aus dem B-Projekt erfolgen.
Auf beiden Seiten wurde die Verbindung angelegt - sie wird aber nicht aufgebaut.

Connection status.jpg

Was kann ich noch versuchen?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ist die Verbindung als Hoch Verfügbar angelegt?

Sind die Parameter der Verbindungsrecourcen gegenseiting gleich eingestellt?

Ja, auf beiden Seiten ist die Verbindung als hochverfügbar (S7 connection fault-tolerant) angelegt.
die IP-Adressen der beteiligten CPs wurden gegenseitig gleich eingestellt und die Subnetz-Namen wurden jeweils im Projekt auf identische Namen gesetzt
 
Und im Adrssendetails stehen die verbindungsrecourcen auch gleich?
und Rack, Steckplatz?
und TSAP?

Dein Lokaleinstellung und Partnereinstellung musst du abgleichen.

In projekt B ist B lokal und C Partner
in Projekt C is C lokal und B Partner
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo de vliegende hollander,

ich denke die Zuordnungen lokal und Partner habe ich in den Projekten korrekt vorgenommen


im B-Projekt
Proj B Verbindungseigenschaften .png

im C-Projekt
Proj C Verbindungseigenschaften .png

und auch die Rack, Steckplatz und TSAP-Einstellungen wurden richtig übernommen

Proj BC Adressendetails.png

Was möglicherweise falsch ist, ist die Verbindungs-ID. Diese ist in beiden Projekten 1.
Kann dies der Fehler sein, dass von Local ID=1 zu Partner ID=1 verbunden werden soll?

Connection status.jpg
 
Die Verbindungs-ID dient nur der Referenzierung im eigenen SPS-Programm, übers Netzwerk wird sie nicht übertragen.

Hast du denn mal versucht, wenn du dich mit dem PG an das Kabel von einem CP ansteckst, ob du die andere Steuerung überhaupt anpingen kannst?
 
Bist du in ein Kraftwerk?
WA : Wasseraufbereitung
Bertsch : Kessel

Netpro ist auch übersezt und geladen?

Im Grunde muss der Gegenstelle, C in dein fall nicht zwangslaufig Konfiguriert sein bei PUT und GET Kommunikation.
Da gibt es auch dem Möglichkeit mit unspezifierte partnet zu kommunizieren. Und die Einstellungen die mann in B machen muss dann weiß ich nicht auswendig. hab imm kein S7-Classic griffbereit.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Verbindungsressouce 03 wäre unspezifiziert. So wie bei ihm müssen beide Partner mit der Verbindungsinformation geladen werden.

Ich weiß aber nicht was Siemens da intern bei einer "hochverfügbaren Verbindung" noch treibt, ob das bei einer unspezifizierten Verbindung überhaupt funktioniert.
 
Hallo de vliegende hollander,

ich denke die Zuordnungen lokal und Partner habe ich in den Projekten korrekt vorgenommen


im B-Projekt
Anhang anzeigen 58146

im C-Projekt
Anhang anzeigen 58148

und auch die Rack, Steckplatz und TSAP-Einstellungen wurden richtig übernommen

Anhang anzeigen 58147

Was möglicherweise falsch ist, ist die Verbindungs-ID. Diese ist in beiden Projekten 1.
Kann dies der Fehler sein, dass von Local ID=1 zu Partner ID=1 verbunden werden soll?

Anhang anzeigen 58149
Steckplatz 2 ist bei einer 400(H)er eher falsch. die CPU kann erst ab Steckplatz 3 gesteckt werden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, auf beiden Seiten ist die Verbindung als hochverfügbar (S7 connection fault-tolerant) angelegt.
die IP-Adressen der beteiligten CPs wurden gegenseitig gleich eingestellt und die Subnetz-Namen wurden jeweils im Projekt auf identische Namen gesetzt
Hochverfügbare unspezifizierte Verbindungen gehen eigentlich nicht. Hochverfügbare Verbindungen gehen eigentlich nur zwischen CPUs im gleichen Projekt.

Es kann natürlich mit deinem Dummy funktionieren, eine Garantie wird es aber nicht geben und dem einzigen dem man bei einem spontanen Versagen dann Schuld geben kann, wärst dann du. Ich würde dir dringend davon Abraten.

Wenn du die Projekte getrennt belassen willst, schlage ich dir vor den Datenaustausch über zwei parallel laufende S7 Verbindungen zu machen und explizit auszuwählen welche Verbindung grad aktiv ist. Ist dann zwar nicht hochverfügbar, aber ggf. kannst du mit paar Sekunden langen Verbindungsunterbruch bis zur Umschaltung leben.
 
Bist du in ein Kraftwerk?
WA : Wasseraufbereitung
Bertsch : Kessel

Netpro ist auch übersezt und geladen?

Im Grunde muss der Gegenstelle, C in dein fall nicht zwangslaufig Konfiguriert sein bei PUT und GET Kommunikation.
Da gibt es auch dem Möglichkeit mit unspezifierte partnet zu kommunizieren. Und die Einstellungen die mann in B machen muss dann weiß ich nicht auswendig. hab imm kein S7-Classic griffbereit.

hallo de vliegende hollander,

Kraftwerk ist richtig und auch die Deutung von WAB und Bertsch.
Netpro wurde übersetzt und geladen - auf der einen CPU über Netpro selbst, auf der anderen im Zuge von Hardwareladen.
Eine hochverfügabre S7-Verbindung lässt sicht nicht als unspezifizierte Verbindung anlegen.

Netpro unspezifiziert.png
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich wünsche Allen ein Frohes Neues Jahr und bedanke mich nochmals für die Unterstützung.
Letztenendes habe ich den Versuch mit der fehlertoleranten Verbindung aufgegeben und den Beitrag #12 von vollmi umgesetzt .

Angelegt habe ich vier unspezifizierte S7-Verbindungen im Projekt B.
CPU 1 zu Projekt C CPU 1 Local ID 1
CPU 1 zu Projekt C CPU 2 Local ID 2
CPU 2 zu Projekt C CPU 1 Local ID 3
CPU 2 zu Projekt C CPU 2 Local ID 4

Ich frage langsam zyklisch vom aktuellen Master der Projekt-B-CPU die H-State-Instanz auf beiden Projekt-C-CPUs ab.
Idealerweise antworten beide das gleiche und ich kenne anschließend den Master-Partner im Projekt C und nutze die dazugehörige Verbindungs-ID für die eigentliche Datenübertragung
 
Zurück
Oben