Step 7 FB parametrieren

Klaus123

Level-1
Beiträge
18
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
warum benutzt man wenn man Bausteine parametrieren möchte FB's und keine FC's ?
Ich weiß das ein FB statische Variablen benutzen kann da er ja ein DB hat. Spart man damit speicherplatz ? und kann ich die Statischen Variablen im SPS Programm verwenden ?






MfG
 
Hallo Klaus,

wenn du Werte speichern willst brauchst du statische Variablen.Die hat ein FC nicht.
Du kannst zwar INOut Variablen nehmen, die hast du aber alle an der Schnittstelle hängen.Dein FC bläht sich beim Aufruf entsprechend auf.
Du musst dann auch die ganzen Variablen immer anlegen.Beim FB ist das ja intern über die Instanz geregelt.
 
Wenn du eine Multiinstanz haben möchtest und dort drin "Merker" brauchst, geht es nur mit statischen Variablen.
Ich benutze das auch gern, wenn ich ein und denselben Baustein auf mehreren Maschinentypen nutzen möchte da mir dann die Merker, die jeder selber vergibt völlig egal sind. Einfach die Quelle rüber und gut ist.
Besonderen Charme hat ein FB auch dann, wenn ich viele Flankenmerker in einer mehrmals verwendeten Funktion brauche. Dann müsste ich nämlich an einen FC viele INOUT hängen.
Schön ist auch, dass ich die Variablen einfach so reinnehmen kann ohne darauf achten zu müssen dass diese nicht irgendwo anders im Programm direkt oder indirekt adressiert werden (was ja bei Merkern der Fall ist).

Es ist so eine Frage- ist es bequemer, den DB zu erstellen oder die vielen Merker zu benutzen? ;) Wenn ich weiß, dass meine aufrufende Quelle ein FB ist, dann ist der DB allerdings egal- der geht ja in den Instanz-DB des aufrufenden FB's ein.
Man kann nicht einfach so sagen "FB sind gut, FC sind böse"- für simple Berechnungen oder ähnliches nehme ich gerne FC's da man sich da den DB spart.

Man sollte allerdings nicht in den Instanz- DB des FB fassen. Das geht zwar, ist aber böse und gibt Probleme, wenn einer die Schnittstelle des FB ändert (dann verschiebt sich nämlich alles!).
 
Zurück
Oben