Uebung_004b5: Toggle Flip-Flop mit IX / E_SWITCH + E_T_FF¶
Einleitung¶
Diese Übung demonstriert die Realisierung eines Toggle-Flipflops (T-FF) mithilfe der Funktionsbausteine E_R_TRIG (Flankenerkennung steigend) und E_T_FF (Toggle-Flipflop). Ein digitaler Eingang (IX) wird als Taster verwendet – jede steigende Flanke am Eingang schaltet den digitalen Ausgang (QX) um (toggle). Der Aufbau eignet sich z. B. zum Ein- und Ausschalten einer Leuchte mit einem einzelnen Taster.
Verwendete Funktionsbausteine (FBs)¶
Die Subapplikation besteht aus vier Funktionsbausteinen:
- DigitalInput_I1: Typ
logiBUS::io::DI::logiBUS_IX - Beschreibung: Liest einen digitalen Eingang vom Feldbus (z. B. einen Taster).
- Parameter:
QI = TRUE(Qualität des Eingangs aktiv),Input = Input_I1(physikalischer Kanal). - Ereignisausgänge:
IND(wird ausgelöst, wenn sich der Eingangszustand ändert). -
Datenausgang:
IN(aktueller digitaler Wert). -
E_R_TRIG: Typ
iec61499::events::E_R_TRIG - Beschreibung: Erkennt eine steigende Flanke des Eingangssignals.
- Eingänge:
- Ereignis:
EI(Start der Verarbeitung). - Daten:
QI(Qualität des Eingangswerts, hier mitDigitalInput_I1.INverbunden).
- Ereignis:
-
Ausgänge:
- Ereignis:
EO(wird genau bei einer steigenden Flanke vonQIausgelöst).
- Ereignis:
-
E_T_FF: Typ
iec61499::events::E_T_FF - Beschreibung: Toggle-Flipflop – bei jedem Ereignis am Eingang
CLKwird der interne Zustand invertiert. - Eingänge:
- Ereignis:
CLK(Takt, hier vonE_R_TRIG.EOgespeist).
- Ereignis:
-
Ausgänge:
- Ereignis:
EO(wird nach Zustandswechsel einmal ausgelöst). - Daten:
Q(aktueller Zustand des Flipflops, TRUE/FALSE).
- Ereignis:
-
DigitalOutput_Q1: Typ
logiBUS::io::DQ::logiBUS_QX - Beschreibung: Setzt einen digitalen Ausgang am Feldbus (z. B. eine Leuchte).
- Parameter:
QI = TRUE(Ausgang freigegeben),Output = Output_Q1(physikalischer Kanal). - Ereigniseingänge:
REQ(Anforderung zum Beschreiben des Ausgangs). - Dateneingang:
OUT(gewünschter digitaler Wert).
Programmablauf und Verbindungen¶
Die Subapplikation ist als ereignisgesteuerte Kette realisiert:
- Eingangsänderung: Der Baustein
DigitalInput_I1überwacht den physikalischen Eingang. Sobald sich der Zustand ändert, wird das EreignisINDausgelöst. - Flankenerkennung: Das Ereignis
INDwird an den EreigniseingangEIvonE_R_TRIGweitergeleitet (Event-Verbindung:DigitalInput_I1.IND → E_R_TRIG.EI). Parallel dazu wird der aktuelle digitale Wert (DigitalInput_I1.IN) an den DateneingangQIvonE_R_TRIGübergeben (Data-Verbindung:DigitalInput_I1.IN → E_R_TRIG.QI).
E_R_TRIGprüft, ob der Wert vonQIeine steigende Flanke (Wechsel von FALSE auf TRUE) aufweist. Ist dies der Fall, wird am AusgangEOein Ereignis erzeugt. - Toggle-Flipflop: Das Ereignis
EOvonE_R_TRIGtriggert den TakteingangCLKvonE_T_FF(Event-Verbindung:E_R_TRIG.EO → E_T_FF.CLK). Bei jedem Takt wechselt der Zustand des Flipflops. Das Ergebnis steht am DatenausgangQzur Verfügung. Gleichzeitig wird das AusgangsereignisEOvonE_T_FFausgelöst. - Ausgang setzen: Das Ereignis
EOvonE_T_FFwird an denREQ-Eingang vonDigitalOutput_Q1weitergeleitet (Event-Verbindung:E_T_FF.EO → DigitalOutput_Q1.REQ). Der Flipflop-Zustand (E_T_FF.Q) wird als Sollwert an den DateneingangOUTvonDigitalOutput_Q1übergeben (Data-Verbindung:E_T_FF.Q → DigitalOutput_Q1.OUT). Dadurch wird der physikalische Ausgang entsprechend gesetzt.
Lernziele:
- Verständnis ereignisgesteuerter Abläufe in 4diac.
- Einsatz eines Flankenerkennungsbausteins (E_R_TRIG).
- Realisierung eines Toggle-Flipflops mit E_T_FF.
- Kopplung von digitalen Ein-/Ausgängen über logiBUS.
Schwierigkeitsgrad: Einsteiger (nach Kenntnis grundlegender FB-Typen).
Vorkenntnisse: Grundlegender Umgang mit 4diac‑IDE, Kenntnis von Event- und Datenverbindungen.
Zusammenfassung¶
Mit dieser Übung wurde eine typische Taster‑Schalter‑Funktion (Toggle) umgesetzt. Durch die Kombination von E_R_TRIG und E_T_FF wird jede steigende Flanke am Eingang erkannt und der Ausgangszustand umgeschaltet. Die Bausteine sind lose gekoppelt – ein Vorteil der ereignisgesteuerten Programmierung. Die Subapplikation kann direkt in ein 4diac-Projekt eingebunden und auf einem entsprechenden Zielsystem (mit logiBUS‑Anbindung) ausgeführt werden.