Step 7 Frage zur verwendung von SFB4, SFB5

S_Liner

Level-2
Beiträge
427
Reaktionspunkte
16
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen, ich habe mal eine kurze Frage.

Ich möchte in einem FB mehrere Einschalt- und Ausschaltverzögerung realisieren.
Dazu wollte ich eigentlich dann SFB4 & SFB5 mit zugehörigen Instanzen nutzen. Aber nun habe ich dazu mal eine Frage. Diesen FB in dem ich das alles schreibe, möchte ich im Programm mehrmals aufrufen.
Da die SFB's ja auch eigene Instanzen haben, bekomme ich ja dann Probleme oder? Ich rufe zwar den Fb mit ständig unterschiedlichen Instanzen auf, aber die der SFB's bleiben immer die gleichen.

Muss ich dann doch immer von außen die Timer an den Fb- Eingang schreiben um direkt mit den Timern zu arbeiten? Oder wie macht ihr das?

Der Sinn soll sein, das ich diesen FB immer reinladen kann, ohne darauf zu achten welche Timer im Programm verwendet werden. Oder wird das so nicht funktionieren?

Software: Simatic Manager V5.6 HF5
CPU: S7-315-2DP

Vielen Dank im Voraus
 
Du musst die SFBs als Multiinstanz im FB aufrufen, dh Du definierst die Instanzen im Stat-Bereich des FB mit dem Typ SFBx und rufst die dann im FB auf. Dann klappt das auch mit dem Mehrfach-Aufruf des FB.
Gruß
Erich
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich möchte in einem FB mehrere Einschalt- und Ausschaltverzögerung realisieren.
Dazu wollte ich eigentlich dann SFB4 & SFB5 mit zugehörigen Instanzen nutzen. Aber nun habe ich dazu mal eine Frage. Diesen FB in dem ich das alles schreibe, möchte ich im Programm mehrmals aufrufen.
Da die SFB's ja auch eigene Instanzen haben, bekomme ich ja dann Probleme oder? Ich rufe zwar den Fb mit ständig unterschiedlichen Instanzen auf, aber die der SFB's bleiben immer die gleichen.

DAzu hängst du die Instanzen der SFB4 und 5 (und jede andere Instanz die du in diesem FB verwendest) in die Instanz des aufrufenden FBs.
du deklarierst also im STAT bereich deines FBS eine Variable z.B. Timer1 vom Typ TON oder SFBxx und rufst dann den Timer mit dieser variable auf. Der SFB bekommt also keinen eigenen DB sondern ist teil des übergeordneten DBs.

Das ganze nennt sich Multiinstanz und wird im Forum recht ausgiebig behandelt, such mal danach.

mfG René
 
Zurück
Oben