Uebung_004a: Toggle Flip-Flop mit IE mit BUTTON_SINGLE_CLICK
Dieser Artikel beschreibt die logiBUS®-Übung Uebung_004a. In dieser Übung verlassen wir die reine Datenweiterleitung und nutzen Ereignisse (Events), um eine Speicherfunktion zu realisieren: Einen klassischen Stromstoßschalter.

Ziel der Übung
Das Ziel ist es, den Unterschied zwischen zustandsorientierter (Pegel) und ereignisorientierter (Flanke) Programmierung zu verstehen. Während ein einfacher Taster nur solange „Ein“ ist, wie er gedrückt wird, soll hier jeder Tastendruck den Zustand des Ausgangs wechseln (Umschalten: Aus ➡️ Ein ➡️ Aus ➡️ …).
Beschreibung und Komponenten
[cite_start]Die Subapplikation Uebung_004a.SUB verwendet einen speziellen Eingangsbaustein, der Klick-Ereignisse generiert, und ein Toggle-Flip-Flop[cite: 1].
Funktionsbausteine (FBs)
DigitalInput_CLK_I1: TyplogiBUS_IE(Input Event). [cite_start]Im Gegensatz zum Standard-Eingang liefert dieser Baustein kein kontinuierliches Signal, sondern feuert ein einzelnes Ereignis (IND), wenn eine bestimmte Bedingung erfüllt ist. Hier ist er aufBUTTON_SINGLE_CLICKkonfiguriert[cite: 1].E_T_FF: TypE_T_FF(Standard-IEC-Event-Baustein). [cite_start]Dieser Baustein hat einen Takteingang (CLK). Bei jedem empfangenen Ereignis wechselt er seinen internen Zustand und gibt diesen über den Daten-AusgangQsowie ein Bestätigungs-EventEOaus[cite: 1].DigitalOutput_Q1: TyplogiBUS_QX. [cite_start]Schaltet den physischen AusgangQ1basierend auf dem Zustand des Flip-Flops[cite: 1].
Funktionsweise
Die Logik basiert auf der Umwandlung eines flüchtigen Tastendrucks in einen dauerhaften Speicherzustand:
<EventConnections>
<Connection Source="DigitalInput_CLK_I1.IND" Destination="E_T_FF.CLK"/>
<Connection Source="E_T_FF.EO" Destination="DigitalOutput_Q1.REQ"/>
</EventConnections>
<DataConnections>
<Connection Source="E_T_FF.Q" Destination="DigitalOutput_Q1.OUT"/>
</DataConnections>
[cite_start][cite: 1]
Der Benutzer drückt den Taster an
I1kurz („Klick“).Der
DigitalInput_CLK_I1erkennt das Muster „Einzelklick“ und sendet einIND-Ereignis.Das Ereignis erreicht den
CLK-Eingang desE_T_FF.Das Flip-Flop kippt seinen Zustand (z.B. von FALSE auf TRUE).
Das neue Signal steht am Daten-Ausgang
Qbereit und das Flip-Flop sendet ein Ereignis anEO.DigitalOutput_Q1empfängt dieses Ereignis, liest den Wert vonQund schaltet die Lampe ein.Beim nächsten Klick wiederholt sich der Vorgang, das Flip-Flop kippt zurück auf FALSE, die Lampe geht aus.
Anwendungsbeispiel
Die klassische Flurbeleuchtung: Ein Tasterdruck schaltet das Licht ein, der nächste schaltet es wieder aus. Dies ist mit einem rein elektrischen Taster (der zurückfedert) nicht ohne Speicherelement (Software-Flip-Flop) möglich.
