Step 7 Variable im FB geändert

Gexle

Level-2
Beiträge
352
Reaktionspunkte
11
Hallo

Ich habe in einem FB für Sensorabreinigung eine weiter Multinstanz hinzugefügt für zusätzlich Abreinigung und somit die Variablen im jeweiligen FB ergänzt..

BIn mir nicht sicher deshalb frage ich nach.
Habe alles wie gewollt erstellt usw.
Klick dann auf speichern dann kommt die Meldung das die Variablen aktualisiert werden müssen bzw. Cpu kann auf Stop gehen usw.

Wollen sie weitermachen auf ja geklickt...

Kann ich jetzt den FB ohne Probleme auf die Cpu schreiben während die Anlage läuft??

Danke
 
Wenn es vom Programmaufbau möglich ist, würde ich den neuen FB nicht als Multiinstanz aufrufen sondern ihm beim Aufruf einen eigenen DB verpassen, dann bleibt die Größe und Struktur des Instanzbausteins des aufrufnden FB unverändert.
 
Es gibt keinen neue FB der ist Bestand

Hier wurde nur eine weiterer Multiinstanz Baustein (Abblasen_2) hinzugefügt...um nochmals eine zusätzlich Abreinigung zu machen das man eben Zeiten usw. unabhängig einstellen kann.
 
Durch das Anlegen der Multiinstanz änderst Du die Struktur des IDB des aufrufenden FB. Egal ob der aufgerufene FB neu ist oder nicht.
 
Also wenn es ein Problem ist, wenn deine CPU in Stop geht und die Anlage stehenbleibt, würde ich die Änderungen nicht einspielen.
Dann solltest du dir lieber ein Zeitfenster ohne Produktion schaffen um deine Änderungen zu testen
 
Unabhängig davon, ob die FB-Instanzen als Multiinstanz oder eigene IDB sind: wenn man in dem FB Variablen hinzufügt, dann müssen alle Instanzen neu geladen werden, was bei TIA meistens nicht ohne komplette Initialisierung aller Aktualwerte geht! Deshalb will/soll die CPU dabei in STOP gehen. In Step7 classic kann man sich mit gekonntem Vorgehen den CPU-STOP ersparen, wenn es unbedingt sein muss und man weiß, was man tut.
Mit welcher Step7 Version arbeitest du da?
 
Die CPU muss ja nicht wirklich in Stop gehen, also dass ist nicht mal das Hauptproblem. Wichtiger ist, dass Du bei Änderungen an nem DB die Aktualdaten, also die Werte aller Variablen verlierst, d.h. nach nem CPU-Neustart läuft die Anlage u.U. nicht (nie) mehr (ordentlich) an...

Wenn Du da nicht weisst, was Du tust, würde ich da nen erfahrenen Kollegen zu Rate ziehen...
 
Das mit dem aktual Daten ist klar daher spiele ich nur DBs wenn ich ganz sicher bin..

Aber bei der Variante wo ich jetzt bin stehe muss der IDB zwingent gespielt werden...
 
Wenn es vom Programmaufbau möglich ist, würde ich den neuen FB nicht als Multiinstanz aufrufen sondern ihm beim Aufruf einen eigenen DB verpassen, dann bleibt die Größe und Struktur des Instanzbausteins des aufrufnden FB unverändert.
Genau.

Wenn du verhindern willst, dass der IDB geändert wird. Dann belasse es bei dem originalem FB und füge dein Ablasen_2 mit einem eigenem IDB hinzu und nicht als Multiinstanz.
Und dann erst den neuen IDB laden (Abblasen_2) und danach den geänderten FB, wo er aufgerufen wird sonst kann dir die CPU auch in Stop gehen, wenn die Fehler-OB's z.B. fehlen.
 
Wird bloß problematisch, wenn der Parent-FB ebenfalls mehrfach instanziiert wurde. Dann könnte ein zusätzlicher FB-Call mit eigener Instanz zu Problemen führen.
 
Wird bloß problematisch, wenn der Parent-FB ebenfalls mehrfach instanziiert wurde. Dann könnte ein zusätzlicher FB-Call mit eigener Instanz zu Problemen führen.
Sprich, der FB soll auch komplett Multiinstanzfähig sein.

Wenn du das principe erst Variablen beschreiben und dann Lesen macht muss da für das Laden kein Problem sein.
Ich nehme an das die neue Instanz am Ende des Statischen Bereich des FB gemacht worden ist.

In principe; Wie ist die Schreib und Lesestruktur des FB?
Das macht aus ob du laden kannst oder nicht
 
... Aber bei der Variante wo ich jetzt bin stehe muss der IDB zwingent gespielt werden...

Ja, zwingend! Da Du eine Multiinstanz und eventuell weitere statische Lokaldaten hinzu gefügt hast, musst Du den IDB zunächst neu generieren und als erstes neu laden, anschließend den geänderten FB, dann geht die CPU schon einmal nicht auf Stop. Durch die Initialisierung des IDB werden Zeitfunktionen, Schaltzustände, Fahrmerker etc. zurückgesetzt, der Ablauf wird an der Maschine also irgend wie gestört werden. Daher sollten die Änderungen besser im Stillstand geladen werden.

Unter Umständen sind im IDB auch Parameter abgelegt, welche z.Bsp. über ein HMI geändert werden können. Diese sind nach dem Laden zurückgesetzt. Aber das wüsstest du bestimmt?
 
Ja ich werde zuerst den Fb anpassen was ich eben benötige.

Dann werde ich den ganzen FB abspeichern dann kommt eh schon die Meldung wie oben usw.

Dann werde ich den IDB auswählen laden -> dann den FB laden und dann suche ich noch den Baustein in meinen Fall FC1 wo der FB aufgerufen wird diesen dort dann aktualisieren und dann sollte es klappen.

Natürlich alles im Stillstand!
 
Zurück
Oben