FB_T_FF¶
[[Bild des Funktionsbausteins – in der 4diac-IDE als Symbol mit einem Ereigniseingang REQ, Ausgang CNF, Dateneingängen CLK (BOOL) und RST (BOOL) sowie Datenausgang Q (BOOL) dargestellt]]
Einleitung¶
Der FB_T_FF (Toggle Flip-Flop) realisiert einen flankengesteuerten, asynchron rücksetzbaren Frequenzteiler oder Umschalter. Bei jedem ansteigenden Taktflanke am Eingang CLK wird der Ausgang Q invertiert (getoggelt). Ein hoher Pegel am RST-Eingang setzt Q sofort zurück auf FALSE. Der Baustein eignet sich insbesondere für binäre Zustandswechsel in Steuerungsabläufen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Ereignis | assoziierte Daten | Beschreibung |
|---|---|---|
REQ |
CLK, RST |
Normaler Ausführungsauftrag; triggert den Algorithmus |
Ereignis-Ausgänge¶
| Ereignis | assoziierte Daten | Beschreibung |
|---|---|---|
CNF |
Q |
Bestätigt die Ausführung, liefert den aktuellen Wert von Q |
Daten-Eingänge¶
| Name | Typ | Beschreibung |
|---|---|---|
CLK |
BOOL | Taktsignal (Flankenauswertung) |
RST |
BOOL | Asynchroner Reset (aktiv High) |
Daten-Ausgänge¶
| Name | Typ | Beschreibung |
|---|---|---|
Q |
BOOL | Ausgang – toggelt bei steigender CLK-Flanke, es sei denn, Reset ist aktiv |
Adapter¶
Keine Adapter vorhanden.
Funktionsweise¶
Der Baustein wird mit dem REQ-Ereignis aufgerufen. Bei jedem Aufruf wird die interne Variable EDGE (Bool, initial TRUE) wie folgt aktualisiert:
- Reset-Vorrang: Ist
RST = TRUE, wirdQsofort aufFALSEgesetzt. - Flankendetektion: Falls
RSTnicht aktiv ist und die BedingungCLK AND NOT EDGEerfüllt ist, liegt eine steigende Flanke vonCLKvor. In diesem Fall wirdQinvertiert:Q := NOT Q. - Speicherung: Nach der Auswertung wird
EDGE := CLKgesetzt, damit bei nächsten Aufruf die Flanke erkannt werden kann.
Der Algorithmus wird im internen Zustand REQ ausgeführt; nach dem Algorithmus wird das CNF-Ereignis gesendet.
Technische Besonderheiten¶
- Flankenerkennung ohne Verzögerung: Die Erkennung einer steigenden Flanke erfolgt durch den Vergleich des aktuellen
CLK-Werts mit dem vorherigen (gespeichert inEDGE). Dies ist eine typische Software-Realisation eines flankengesteuerten Flipflops. - Asynchroner Reset: Der Reset wirkt sofort bei jedem Aufruf, unabhängig von der Taktflanke.
- Initialzustand:
Qist nach dem Starten des Bausteins nicht definiert; es wird erst durch den ersten REQ-Aufruf oder einen Reset gesetzt. Die interne EDGE ist initialTRUE, sodass die erste steigende Flanke (vonFALSEaufTRUE) korrekt erkannt wird.
Zustandsübersicht¶
Der Baustein ist als SimpleFB mit einem einzigen EC‑Zustand implementiert:
| Zustand | Eingehende Ereignisse | Ausgehende Aktion | Ausgehendes Ereignis |
|---|---|---|---|
REQ |
REQ |
Führe Algorithmus REQ aus (Toggle/Reset-Logik) |
CNF |
Der Zustand wird nach Abarbeitung sofort wieder scharf geschaltet; es gibt keine Warte- oder Folgezustände.
Anwendungsszenarien¶
- Frequenzteiler: Anlegen eines Rechtecksignals an
CLK; anQerscheint die halbe Frequenz. - Binärer Zustandswechsel: Umschalten einer Leuchte oder eines Ventils bei jedem Taktimpuls.
- Reset-gesicherter Toggle: Durch Ansteuern von
RSTkann der Ausgang in eine definierte Grundstellung gezwungen werden. - Pulszähler: Kombination mehrerer FB_T_FF hintereinander ergibt einen binären Zähler.
Vergleich mit ähnlichen Bausteinen¶
| Baustein | Eigenschaft |
|---|---|
| SR-Flipflop | Setzt und rückgesetzt durch separate Eingänge; kein Toggle-Verhalten. |
| D-Flipflop | Übernimmt den Wert von D bei Taktflanke; kein Toggle, kein Reset integriert. |
| FB_T_FF | Invertiert den Ausgang bei jeder steigenden Flanke, asynchroner Reset möglich. |
Der FB_T_FF ist damit ideal für einfache Umschaltaufgaben, bei denen kein Setz-/Rücksetz-Eingang benötigt wird.
Fazit¶
Der FB_T_FF realisiert ein robustes, flankengesteuertes Toggle-Flipflop mit asynchronem Reset. Durch die kompakte Implementierung eignet er sich für zeitkritische Steuerungen in der Automatisierungstechnik, bei denen zuverlässige Zustandswechsel erforderlich sind. Die Flankendetektion ist softwaremäßig sauber gelöst und benötigt keine zusätzliche Hardware.