TIA Verschaltung von globalen Variablen

thoni

Level-2
Beiträge
26
Reaktionspunkte
5
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

Ich hab mal eine Frage zu globalen Variablen.
Diese sollen ja ausschließlich im OB1 verschaltet werden.
Wenn ich FCs in FBs und dann diese wiederum im OB aufrufe, und z.B. einen Taktmerker im FC benötige, zieht ihr dann den Merker über alle Bausteinschnittstellen bis zum OB oder legt ihr den Merker direkt auf den Eingang in der FC? Dadurch geht ja dann die Bibliothrksfähigkeit verloren.
Dank und Gruß
Thomas
 
Ich hab mal eine Frage zu globalen Variablen.
Diese sollen ja ausschließlich im OB1 verschaltet werden.
Stirbt denn diese Ansicht nie aus 🤪
Das Durchreichen über zig Baustein-Schnittstellen macht ein Programm nicht unbedingt besser lesbar und nachvollziehbar.
Man muss sich halt einfach Gedanken über die Strukturierung von Bausteinen und zugehörigen Daten machen.
Es kann also durchaus sinnvoll sein z.B. Betriebsarten oder Daten einer Station global zu definieren und in Bausteinen zu verwenden.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Pauschal, ohne Hintergründe lässt sich da überhaupt nicht sagen, wie Du dass bei Dir jetzt am sinnvollsten aufbauen solltest.
Grundsätzlich, reden wir jetzt von Merkern oder Global-DBs?
Das alle FC/FB, die im OB1 aufgerufen werden, bibliotheksfähig sein müssen, hab ich noch nie gehört. Bei grösseren Anlagen könnte der OB1 dann auch ziemlich groß werden...
Und EINEN Monstermultiinstanz-FB für die gesamte SPS zu bauen, davor würd ich explizit warnen ;) zumindest wenn man abundzu mal etwas an der Software ändern will...
Brauchst Du überhaupt Bibliotheken für Deine SPS-Bausteine?

Wenn Du einzelne FC/FB in verschiedenen vielen Projekten wiederverwenden willst, ohne diese gross umzuschreiben, macht es manchmal Sinn, Globaldaten nicht zu häufig innerhalb dieser FC/FB zu verwenden, wenn die Globaldaten in den vielen verschiedenen Projekten an verschiedenen Stellen liegen. Aber bis in den OB1 würd ich das niemals hochschleifen...
Man könnte aber auch einfach Regeln aufstellen, Taktmerker IMMER MB0... oder in den "Bibliotheksbausteinen" eigene Taktvariablen bauen...
 
Zuletzt bearbeitet:
Hintergrund warum dieser Verzicht auf globale Variablen in Bausteinen propagiert wird, ist das Thema Wiederverwendung von Code.
Also kann mann sich schon mal die Frage beim Erstellen von Bausteinen stellen, ob dieser Baustein genauso in weiteren Projekten genutzt werden kann. Wenn nein, dann macht es kaum Sinn alles auf Parameter zuführen.
Der nächste Ansatzpunkt:
Genau wie @ducati es schreibt, macht es Sinn sich feste Bezeichnungen für wiederkehrende Variablen (Taktmerker, Betriebsarten, ...) zu schaffen.
Man kann auch Bausteine durch Copy-Paste und Suche-Ersetze wiederverwenden. Das geht oft schneller als wenn ich an zig Aufrufen etliche Parameter ändern muß.
Einfach vorher ein paar Gedanken machen und das nicht zu verkrampft angehen.
 
Zurück
Oben