Uebung_004a11b_AX: Toggle Flip-Flop mit IE mit BUTTON_SINGLE_CLICK und STORE (NVS)¶
Einleitung¶
Diese Übung realisiert ein Toggle-Flip-Flop (T-FF) mit einem digitalen Eingang (logiBUS DI), der über das Ereignis BUTTON_SINGLE_CLICK ausgelöst wird. Der aktuelle Zustand des Flip-Flops wird zudem in einem nichtflüchtigen Speicher (NVS) abgelegt und beim Start wiederhergestellt. Dadurch bleibt der Ausgangszustand auch nach einem Neustart erhalten.
Die Übung demonstriert die Kombination von ereignisgesteuerter Logik (T-FF) mit persistenter Datenspeicherung.
Verwendete Funktionsbausteine (FBs)¶
Die Übung besteht aus insgesamt vier Funktionsbausteinen, die in einem Subapplikationsnetzwerk verbunden sind. Es gibt keine weiteren eingebetteten Sub-Bausteine.
-
DigitalInput_CLK_I1 (Typ:
logiBUS_IE)- Parameter:
QI= 1 (aktiv)Input=Input_I1(physikalischer DI)InputEvent=BUTTON_SINGLE_CLICK
- Funktion: Der Baustein erwartet einen Tastendruck auf dem digitalen Eingang. Bei jeder steigenden Flanke (Single Click) wird ein Ereignis am Ausgang
INDerzeugt.
- Parameter:
-
AX_T_FF (Typ:
AX_T_FF_SR_SYM_STORE)- Parameter: Keine
- Funktion: Ein T-Flip-Flop mit Set/Reset und Speicherfähigkeit.
Der EingangCLK(Event) toggelt den internen Zustand bei jedem Ereignis.
Die Adapterausgänge:Q– aktueller Ausgangszustand (an Digitalausgang weitergegeben)Q_INIT– dient zur Initialisierung des Flip-Flops mit einem gespeicherten Wert (über NVS)
-
INI_AX2 (Typ:
NVS_AX2)- Parameter:
QI= 1 (aktiv)KEY=U004a11a_AXDEFAULT_VALUE= 0 (FALSE)
- Funktion: Liest beim Start den unter dem Schlüssel
U004a11a_AXgespeicherten Wert aus dem NVS (nichtflüchtiger Speicher) aus.
Der gelesene Wert wird am AdapterausgangVALbereitgestellt. Falls noch kein Wert gespeichert ist, wirdDEFAULT_VALUE(FALSE) ausgegeben.
- Parameter:
-
DigitalOutput_Q1 (Typ:
logiBUS_QXA)- Parameter:
QI= 1 (aktiv)Output=Output_Q1(physikalischer DO)
- Funktion: Der Baustein gibt den am Adaptereingang
OUTanliegenden Wert direkt auf den digitalen AusgangQ1aus.
- Parameter:
Programmablauf und Verbindungen¶
Die Verbindungen zwischen den Bausteinen definieren den Ablauf:
-
Eingangsereignis
Bei einem Tastendruck am Eingang I1 erzeugtDigitalInput_CLK_I1ein Ereignis an seinem AusgangIND. -
Toggle-Flip-Flop
Dieses Ereignis wird über eine Event-Verbindung direkt an den EingangCLKdes T-FFAX_T_FFweitergeleitet. Jedes Ereignis toggelt den internen Zustand des Flip-Flops. -
Ausgang
Der aktuelle Ausgangszustand des T-FF (Q) wird über eine Adapterverbindung an den EingangOUTdes DigitalausgangsDigitalOutput_Q1übergeben. Somit wird der toggelte Zustand auf dem physikalischen Ausgang Q1 sichtbar. -
Speicherung und Initialisierung
Der BausteinINI_AX2liest beim Start den gespeicherten Wert aus dem NVS und stellt ihn an seinem AdapterausgangVALbereit.
Dieser Wert wird über eine Adapterverbindung an den InitialisierungseingangQ_INITdes T-FF geführt. Dadurch wird das Flip-Flop beim Start auf den zuletzt gespeicherten Zustand gesetzt (siehe Kommentar im Netzwerk: „am Anfang letzten Zustand laden!“).
Hinweis: Die Rückspeicherung des aktuellen Zustands in den NVS wird vermutlich intern durch den T-FF oder einen weiteren Baustein realisiert; in der vorliegenden Netzwerkgrafik ist die Speicherung nicht als separater FB sichtbar.
Zusammenfassung¶
Die Übung veranschaulicht:
- Die Erzeugung von Ereignissen durch einen digitalen Taster mit
BUTTON_SINGLE_CLICK. - Das Toggeln eines Z-Ustands mittels eines T-Flip-Flops.
- Die persistente Speicherung des Zustands in einem nichtflüchtigen Speicher (NVS) und dessen Wiederherstellung nach einem Neustart.
- Der Aufbau einer einfachen ereignisgesteuerten Logik mit kombinierten Ein-/Ausgängen (DI/DO).
Damit sind die Grundlagen für den Einsatz von T-Flip-Flops in Kombination mit NVS-Speicherung für typische Anwendungen wie das Ein- und Ausschalten von Ausgängen mit Zustandserhaltung gelegt.