Step 7 SFB 4 s7 Klassik

sps_klassik

Level-2
Beiträge
611
Reaktionspunkte
69
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie ist das gerell mit dem SFB 4.(TON).Bemerkung:IDB = Instanzdatenbaustein.

Ich habe einen FB indem ich den SFB als taktmerker benutze.(als Instanz 2X).
Nun rufe ich diesen FB auch wieder 2 mal auf.Aber nicht als Multiinstanz.Sondern FB1 mit IDB1(mit integriertem SFB)
FB1 mit IDB2(mit integriertem SFB)
Die FB werden in einem FC aufgerufen.Muss man diese SFB irgendwie initialisieren? Und wenn ja wie.
 
Nö, eigentlich (!) nicht.
Aber die können keine Zeit mit T#0ms.
Die stehen dann ewig mit false statt sofort true zu werden. Wenn das also passieren kann, das die Zeit 0ms vorgeben wird, musst du selber was daneben her programmieren...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Die können also quasi nicht hängen bleiben?
Das sie nicht synchronisiert sind ist klar.Bei Windows 7 mit meinem Uralt Rechner geht die Simulation nicht richtig.
32Bit.Das kann man vergessen.Jetzt habe ich 2 relativ neue Windows 11 Rechner da läuft Siemens nicht.
 
Definiere "hängenbleiben"!

Die Timer benötigen AFAIR eine positive Flanke am IN, um zu starten. Wenn der IN von Anfang an True ist, werden die Timer nicht starten und daher auch keinen Takt generieren. Ich nehme alles zurück und behaupte das Gegenteil!
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Das Problem ist meines Wissens nur bei TIA1200/1500.
Hier gibt es eine schöne Aufstellung:
 
Ich habe das jetzt noch nicht verstanden.Muss in dem übergeordneten Baustein in meinem Falle einem FC der den FB aufruft in welchem
die Instanzen sitzen eine Initialisierung erfolgen?

Ich habe in den 2 FB jeweils 2 Timer die sich gegenseitig "anschubsen".
 
??? Das S7classic-System braucht das nicht. Ob dein Programm das braucht.... ....musst du wissen.
Natürlich muss irgendeiner deiner Takte auf jeden Fall starten/"angeschubst" werden. Das ist aber Aufgabe deiner Programm-Logik.
Und klar: Die SFB4 Bausteine möglichst immer aufrufen, nicht bedingt.
 
Ich habe keine Bedingungen.Die Instanzen sitzen in einem FB als statische Variable.
Ich erzeuge einen Takt mit 2 Timern.
Den FB rufe ich allerdings 2 mal auf mit einem eigenen IDB.Ich habe Probleme mit PLCSim.
Ich werde allerdings zur Laufzeit nicht mehr die Zeit der Timer ändern.
 
Noch eine Frage.Ich mache das jetzt zwar nicht mehr.
Aber kann man die Timerzeit als Eingang in den FB zur Laufzeit beliebig ändern, in dem Baustein wo die FB's mit den Instanzen aufgerufen werden?
 
Ich habe keine Bedingungen.Die Instanzen sitzen in einem FB als statische Variable.
Ich erzeuge einen Takt mit 2 Timern.
Den FB rufe ich allerdings 2 mal auf mit einem eigenen IDB.Ich habe Probleme mit PLCSim.
Ich werde allerdings zur Laufzeit nicht mehr die Zeit der Timer ändern.
Es ist schön, wie detailliert du deinen Code beschreibst, aber ein Bild sagt mehr als tausend Worte, daher zeig doch bitte mal einen Screenshot :)
 
Zurück
Oben