Step 7 BSEND/BRCV erweitern ohne Stopp

Kurt24

Level-2
Beiträge
10
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich muss eine SPS zu SPS Kommunikation unterbrechnungsfrei erweitern.
Bei einem Kunden laufen zwei S7-416 welche über BSEND / BRCV Daten austauschen. Nun reicht die größe der DB's nicht mehr aus. Es werden Freigaben und Automatikanforderungen übertragen welche nicht ausfallen dürfen.
Kann ich irgendwie die Datenbausteine erweitern ohne das diese reinitialisiert werden müssen? Und auch den Bereich am BSend/RCV vergrößern?

Oder ist es besser neue BSEND/BRCV Aufträge mit einer neuen Rid anzulegen und die gleiche Verbindung zu nutzen? Muss ich dann die Reihenfolge der Aufträge handeln oder macht das der CP?

Beste Grüße
 
Da Du ja 2 Steuerungen anpassen musst, wird das stoßfrei schwierig zu erweitern sein. Du brauchst ja mind 5min für die erste und 5min für die zweite SPS. Also wenn alles glatt läuft, 10min keine (ordentliche) Kommunikation.
Ich würd für die zusätzlichen Signale vermutlich nen zusätzlichen Kommunikationsweg aufmachen.
Wie das aber mit 2 separaten BSEND BRCV zw. den gleichen Steuerungen läuft, müsstest Du vorher mal im Büro testen.
Bei S7-400 könnten neue Verbindungen in Netpro in RUN geladen werden. Vorausgesetzt das Netpro ist aktuell, also der letzte Programmierer hats auch übersetzt/geladen und danach nicht rumgeändert...

Also, wenn das ne wichtige Anlage ist, würd ich auf den nächsten Stillstand warten oder den ürsprünglichen Programmierer ins Boot holen.

Die Aufgabe ist schon die hohe Schule der Programmierkunst mit vielen Fallstricken ;)

Wie man DBs stoßfrei ohne Datenverlust in 300/400er erweitert, kannst Du ja im Büro mal ausprobieren. Stichwort, am Ende vom OB1 die Daten in nen Rettungs-DB kopieren und am Anfang vom OB1 wieder zurück in den verlängerten... Geht aber u.U. schief, wenn der DB auch in Weckalarmen benutzt wird oder azyklisch vom BSEND BRCV beschrieben wird...
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Für eine 1500er kann ich definitiv sagen, dass man mehrere BSEND/BRCV mit unterschielichen IDs über die gleiche Verbindung schicken kann. Und zwar, ohne sich große Gedanken über das Handling zu machen. (Bei mir 6 BSEND und 3 BRCV) Das erscheint mir als plausibler Weg.
Mit der 400 habe ich aber null Erfahrung.
 
Für eine 1500er kann ich definitiv sagen, dass man mehrere BSEND/BRCV mit unterschielichen IDs über die gleiche Verbindung schicken kann. Und zwar, ohne sich große Gedanken über das Handling zu machen. (Bei mir 6 BSEND und 3 BRCV) Das erscheint mir als plausibler Weg.
Mit der 400 habe ich aber null Erfahrung.
Sollte ja irgendwo im Handbuch zur 400er bzw. CP bzw. bzw. Step7 classic stehen...
 
Die 400 kann auch mehrere bsend/brcs über eine Verbindung. Die Frage ist nur, ob ich das stoßfrei hinbekomme. Ich würde auf beiden Steuerung neue Db's anlegen, dann auf beide den Empfangsbaustein laden und dann den Sendebaustein.

Für die Zeit des ladens in die beiden Steuerung würde aber zumindestens ein bsend einen Fehler liefern und eventuelle meine funktionierende Verbindung unterbrechen? Da bin ich mir nicht sicher.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Für die Zeit des ladens in die beiden Steuerung würde aber zumindestens ein bsend einen Fehler liefern und eventuelle meine funktionierende Verbindung unterbrechen? Da bin ich mir nicht sicher.
Das kannst du ja "recht simpel" umgehen in dem Du wie folgt vorgehst:

Erst die DBs laden in beide Steuerungen laden.
Dann die Logik für das Empfangen auf beide Steuerungen laden.
Anschließend die Logik für das Senden auf beide Steuerungen laden (oder erstmal über nen AND FALSE deaktivieren, dass gesendet wird..)
Wenn alles an seinem Platz ist das Senden aktivieren (ggf. erstmal auf einer Seite, musst Dir nur Gedanken machen ob es ggf. Watchdogs oder Timeouts gibt die ihr programmiert habt).

Grüße

Marcel
 
Du kannst doch die Bausteine bedingt aufrufen und die Bedingung erst nach beidseitigem Laden freigeben?
"Freigabe.neueVerbindung",Bool
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich hab es so rausgehört das es eine neue BSEND-Kommunikation wird, die über die gleiche Verbindung läuft.
Wenn man nur die bestehende erweitert wird das natürlich nix. Da hilft nur mit viel Gefummel DB erweitern ohne Aktualdatenverlust,
und dann den Sendebereich größer ziehen beim BSEND...

Grüße

Marcel
 
Das ist genauso untauglich, wenn es keine Unterbrechung geben darf.
Ich habe es noch nie testen müssen ... aber von der Logik her hätte ich angenommen, dass das funktioniert - wenn :
- beide Sende-Empfangsbereiche in beiden SPS'en geladen sind
- beide Empfangsbausteine programmiert, korrekt parametriert und geladen sind
- die Sendebausteine programmiert, korrekt parametriert und geladen - aber inaktiv sind
- dann erst das Senden freigeben

Warum sollte das dann trotzdem zu einer Unterbrechung führen ?
 
Ich glaube, wir sind uns einig, dass das "unterbrechungsfrei" nur geht über einen zusätzlichen neuen BSEND-Bereich.
DBs unterbrechungsfrei erweitern ohne Aktualdatenverlust ist mit Step7 classic machbar (siehe Beitrag #2).
Es sei denn, der Fragesteller @Kurt24 würde uns noch überraschend verraten, dass die Anlagen mit TIA programmiert sind.... da geht das nicht.
 
Ich glaube, wir sind uns einig, dass das "unterbrechungsfrei" nur geht über einen zusätzlichen neuen BSEND-Bereich.
DBs unterbrechungsfrei erweitern ohne Aktualdatenverlust ist mit Step7 classic machbar (siehe Beitrag #2).
Es sei denn, der Fragesteller @Kurt24 würde uns noch überraschend verraten, dass die Anlagen mit TIA programmiert sind.... da geht das nicht.
Ist klassisches Step7 und kein TIA Portal. Ich bin heut beim Kunden und versuche die Erweiterung der Kommunikation auf einen Stillstand zu schieben.

Wenn ich mehrere bsends habe, muss ich für die Reihenfolge der Abarbeitung sorgen oder? Also wenn bsend1fertig ist, bsend2 anstoßen und dann wieder bsend1?
 
1500 + TIA:
Wie oben bereits angedeutet, laufen da meine Aufträge als Multiinstanzen innerhalb eines FBs ohne Verriegelung parallel. (29 iddentische Anlagen seit 7 Jahren)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Zum Glück hat er kein TIA.
Kommunikationsaufträge in Multiinstanzen sind allerdings auch keine besonders gute Voraussetzung, wenn man Kommunikation ändern oder hinzufügen will ohne Unterbrechung und ohne Reinitialisierung.
 
@ #15
1. Unterbechungsfrei war bei mir nicht gefordert.
2. Es war der Aufgabe angemessen, übersichtlich und funzt perfekt.
 
Zurück
Oben