Uebung_004a6a: Toggle Flip-Flop mit IE und RT_E_REND (Real-Time Rendezvous)¶
Einleitung¶
Diese Übung implementiert einen Toggle-Flip-Flop, der durch Echtzeit-Ereignisse gesteuert wird. Sie dient dem Kennenlernen des Zusammenwirkens von digitalen Eingängen (IE), einem Real-Time Rendezvous-Baustein (RT_E_REND) und einem Toggle-Flip-Flop (E_T_FF). Die Ausgabe erfolgt auf einen digitalen Ausgang (QX). Ziel ist es, das Verständnis für zeitgesteuerte Ereignisketten in 4diac zu vertiefen.
Verwendete Funktionsbausteine (FBs)¶
logiBUS_IE (DigitalInput_CLK_I1, DigitalInput_CLK_I2, DigitalInput_CLK_I3)¶
- Typ: logiBUS::io::DI::logiBUS_IE
- Parameter:
QI=TRUEInput= jeweiliger physischer Eingang (Input_I1,Input_I2,Input_I3)InputEvent=BUTTON_SINGLE_CLICK- Funktionsweise:
Erfasst einen Tastendruck (Single Click) an einem digitalen Eingang und erzeugt ein Ereignis am AusgangsereignisIND. Dient als Startquelle für die Ereigniskette.
RT_E_REND¶
- Typ: eclipse4diac::rtevents::RT_E_REND
- Parameter:
QI=TRUETmin=T#100ms(Minimale Zeit zwischen zwei Auslösungen)Deadline=T#20ms(Maximal zulässige Reaktionszeit)WCET=T#1ms(Worst-Case Execution Time)- Ereigniseingänge:
EI1– Erster Starteingang (verbunden mit DigitalInput_CLK_I1.IND)EI2– Zweiter Starteingang (verbunden mit DigitalInput_CLK_I2.IND)R– Rücksetzeingang (verbunden mit DigitalInput_CLK_I3.IND)- Ereignisausgang:
EO– Ausgangsereignis (verbunden mit E_T_FF.CLK)- Funktionsweise:
Realisiert ein Real-Time Rendezvous. Es wartet auf Ereignisse anEI1undEI2. Erst wenn beide innerhalb der Deadline (20 ms) eingetroffen sind, wird ein Ereignis am AusgangEOerzeugt. Der EingangRsetzt den internen Zustand zurück. Damit wird sichergestellt, dass die nachfolgende Logik nur bei synchronen Ereignissen ausgelöst wird.
E_T_FF¶
- Typ: iec61499::events::E_T_FF
- Keine Parameter
- Ereigniseingang:
CLK– Takt-Eingang (verbunden mit RT_E_REND.EO)- Datenausgang:
Q– Ausgangswert (Bool, verbunden mit DigitalOutput_Q1.OUT)- Funktionsweise:
Toggle-Flip-Flop. Bei jedem Ereignis am Takt-Eingang (CLK) wird der interne Zustand umgeschaltet. Der AusgangQgibt den aktuellen Zustand aus (TRUE/FALSE).
logiBUS_QX (DigitalOutput_Q1)¶
- Typ: logiBUS::io::DQ::logiBUS_QX
- Parameter:
QI=TRUEOutput=Output_Q1(physischer Ausgang)- Ereigniseingang:
REQ– Anforderungsereignis (verbunden mit E_T_FF.EO)- Dateneingang:
OUT– Ausgangswert (verbunden mit E_T_FF.Q)- Funktionsweise:
Setzt den physischen digitalen AusgangOutput_Q1auf den Wert, der am DateneingangOUTanliegt, sobald ein Ereignis amREQ-Eingang eintrifft.
Programmablauf und Verbindungen¶
Die Übung verwendet drei digitale Eingänge (I1, I2, I3) und einen digitalen Ausgang (Q1).
- Ereignisverkettung:
- Wird an
I1ein Tastendruck erkannt, sendetDigitalInput_CLK_I1ein Ereignis überINDan den EreigniseingangEI1vonRT_E_REND. - Wird an
I2ein Tastendruck erkannt, sendetDigitalInput_CLK_I2ein Ereignis überINDan den EreigniseingangEI2vonRT_E_REND. - Der Rücksetzeingang
RvonRT_E_RENDwird überDigitalInput_CLK_I3(Tastendruck anI3) aktiviert. -
Wenn beide Ereignisse an
EI1undEI2innerhalb der Deadline (20 ms) eintreffen, erzeugtRT_E_RENDein Ereignis an seinemEO-Ausgang. Dieses Ereignis gelangt an denCLK-Eingang des Flip-FlopsE_T_FF. -
Datenverkettung:
-
Der Ausgang
Qdes Flip-FlopsE_T_FFwird über eine Datenverbindung an den DateneingangOUTdes AusgangsbausteinsDigitalOutput_Q1übergeben. -
Zustandsänderung:
- Jedes erfolgreiche Rendezvous (gleichzeitiges Drücken von
I1undI2innerhalb von 20 ms) toggelt den AusgangQ1. - Ein Tastendruck an
I3setzt den Rendezvous-Zustand zurück (ohne den Ausgang direkt zu ändern). - Der Ausgang
Q1wechselt mit jedem Rendezvous-Ereignis seinen Wert.
Lernziele:
- Verständnis für Real-Time Rendezvous-Mechanismen in 4diac.
- Anwendung von Toggle-Flip-Flop und Ausgangsansteuerung.
- Erstellen von Ereignis- und Datenverbindungen über SubApp-Netzwerke.
Schwierigkeitsgrad: Fortgeschritten
Vorkenntnisse: Grundlagen der Ereignissteuerung in 4diac, Umgang mit digitalen Ein-/Ausgängen.
Hinweise zur Ausführung:
Die Übung wird auf einer Zielplattform mit logiBUS-Hardware ausgeführt. Die drei Taster müssen angeschlossen sein (Input_I1, Input_I2, Input_I3). Der Ausgang Output_Q1 kann z. B. eine LED ansteuern. Nach dem Start der Applikation ist das Flip-Flop zurückgesetzt (Q = FALSE).
Zusammenfassung¶
Die Übung zeigt, wie mit dem Baustein RT_E_REND ein echtzeitkritischer Rendezvous-Mechanismus realisiert wird. Durch die Kombination von digitalen Eingängen, einem Toggle-Flip-Flop und einem Ausgangsbaustein entsteht eine einfache aber praxisnahe Steuerung, bei der ein Ausgang nur dann umschaltet, wenn zwei Taster innerhalb einer kurzen Zeitspanne gleichzeitig gedrückt werden. Ein dritter Taster dient dem Zurücksetzen des Synchronisationszustands. Die Übung vertieft das Verständnis für zeitgesteuerte Ereignisverkettungen in IEC 61499.