Uebung_080e3: Beispiel für E_CTU mit Eventbremse durch E_D_FF_ANY¶
Einleitung¶
Diese Übung demonstriert den Einsatz des Funktionsbausteins E_CTU (Aufwärtszähler mit Ereignis-Steuerung) in Kombination mit einer Eventbremse, die durch einen E_D_FF_ANY (Flipflop mit Hysterese) realisiert wird. Durch das Zusammenspiel von zyklischen Zählimpulsen, manuellem Reset und einer Hysterese am Zählerwert wird ein Ausgangssignal nur dann geschaltet, wenn ein bestimmter Zählerstand erreicht und die Hysterese überschritten wird. Die Übung veranschaulicht die Verwendung von Ereignisverknüpfungen (E_SPLIT, E_MERGE) und die Ansteuerung einer digitalen Ausgabe sowie die Übergabe eines numerischen Werts an eine Ausgangsnummer.
Verwendete Funktionsbausteine (FBs)¶
Die Übung enthält keine weiteren Subapplikationen, sondern verwendet ausschließlich Basis‑Funktionsbausteine aus den Bibliotheken logiBUS, iec61499 und isobus. Nachfolgend werden die wichtigsten FBs beschrieben.
DigitalInput_CLK_I1 & DigitalInput_CLK_I2¶
- Typ:
logiBUS::io::DI::logiBUS_IE - Parameter:
QI=TRUEInput=Input_I1bzw.Input_I2InputEvent=BUTTON_SINGLE_CLICK- Funktion: Erfasst einen Tastendruck (Einfachklick) an den physischen Eingängen I1/I2 und gibt bei jeder positiven Flanke ein Ereignis
INDaus.
DigitalOutput_Q1¶
- Typ:
logiBUS::io::DQ::logiBUS_QX - Parameter:
QI=TRUEOutput=Output_Q1- Funktion: Schaltet den digitalen Ausgang Q1 entsprechend dem anliegenden Datensignal
OUT.
E_CYCLE¶
- Typ:
iec61499::events::E_CYCLE - Parameter:
DT=T#1ms(Periodendauer 1 ms)- Funktion: Erzeugt nach dem Start (Ereigniseingang
START) in regelmäßigen Abständen von 1 ms ein Ereignis am AusgangEO. Kann durch das EreignisSTOPangehalten werden.
E_CTU¶
- Typ:
iec61499::events::E_CTU - Parameter:
PV=UINT#5(Vergleichswert 5)- Funktion: Aufwärtszähler. Bei jedem Ereignis am Eingang
CUwird der interne Zählerstand inkrementiert. BeiR(Reset) wird der Zähler auf 0 gesetzt. Am EreignisausgangCUOwird nach jedem Zählimpuls ein Ereignis ausgegeben, am AusgangRObei Erreichen des VergleichswertsPV(Zähler ≥ PV). Der aktuelle Zählerwert liegt am DatenausgangCVan, der boolesche Vergleichsstatus am AusgangQ.
E_SPLIT_4¶
- Typ:
iec61499::events::E_SPLIT_4 - Funktion: Verteilt ein eingehendes Ereignis (Eingang
EI) auf vier parallele Ausgänge (EO1…EO4).
E_MERGE_4¶
- Typ:
iec61499::events::E_MERGE_4 - Funktion: Führt bis zu vier eingehende Ereignisse (
EI1…EI4) zu einem gemeinsamen EreignisausgangEOzusammen (oder‑Verknüpfung).
E_D_FF_ANY¶
- Typ:
logiBUS::signalprocessing::hysteresis::E_D_FF_ANY_HYS - Parameter:
HYSTERESIS=UINT#25(Hysteresebreite 25)- Funktion: Ein Flipflop mit Hysterese. Bei einem Ereignis am Takteingang
CLKwird der aktuelle DatenwertD(unsigned integer) übernommen. Der AusgangswertQwird nur dann aktualisiert, wenn die Differenz zum vorherigen Wert die Hysterese überschreitet. Dies verhindert ein ungewolltes Flackern bei geringen Änderungen. Der EreignisausgangEOsignalisiert eine Wertänderung.
E_D_FF¶
- Typ:
iec61499::events::E_D_FF - Funktion: Standard‑D‑Flipflop. Bei jedem Ereignis am Takteingang
CLKwird der DateneingangD(boolesch) übernommen und am AusgangQausgegeben. Ein Ereignis am AusgangEOzeigt die Übernahme an.
Q_NumericValue¶
- Typ:
isobus::UT::Q::Q_NumericValue - Parameter:
u16ObjId=OutputNumber_N1- Funktion: Nimmt einen unsigned‑integer‑Wert am Dateneingang
u32NewValueentgegen und gibt diesen bei einem Ereignis am EingangREQan die systemweit definierte AusgangsnummerN1weiter (z. B. zur Anzeige auf einem Panel).
Programmablauf und Verbindungen¶
Die Übung verfolgt folgenden Ablauf:
-
Initialisierung: Ein Tastendruck an I1 erzeugt ein Ereignis
INDvom BausteinDigitalInput_CLK_I1. Dieses startet den E_CYCLE, der nun kontinuierlich alle 1 ms ein Ereignis an seinem AusgangEOerzeugt. -
Zählen: Das periodische Ereignis von E_CYCLE wird an den Zähleingang
CUdes E_CTU geleitet. Der Zähler zählt bei jedem Impuls hoch. Bei jedem Zählschritt wird über den AusgangCUOein Ereignis ausgegeben, ebenso sobald der Zählerstand den VergleichswertPV(5) erreicht oder überschreitet (AusgangRO). -
Ereignisvervielfachung und -zusammenführung: Beide Ereignisausgänge des Zählers (
CUOundRO) werden über einen E_SPLIT_4 auf vier parallele Kanäle aufgeteilt. Diese vier Kanäle werden anschließend über einen E_MERGE_4 wieder zu einem einzigen Ereignisstrom zusammengeführt. Somit erzeugt jeder Zählimpuls und jeder PV‑Überschreitungsimpuls genau ein Ereignis am Ausgang des MERGE. -
Hysterese‑gesteuertes Flipflop: Dieses zusammengeführte Ereignis wird einerseits an den Takteingang
CLKdes E_D_FF_ANY gelegt. Der DateneingangDerhält den aktuellen ZählerwertCVdes E_CTU. Der E_D_FF_ANY übernimmt diesen Wert nur dann, wenn sich der Wert um mindestensHYSTERESIS(25) geändert hat. Bei einer solchen signifikanten Änderung gibt er ein Ereignis am AusgangEOaus und legt den geglätteten Wert anQan. -
Wertausgabe: Das Ereignis des E_D_FF_ANY wird an den Eingang
REQdes Q_NumericValue weitergeleitet. Dieser übernimmt den geglätteten Zählerwert (u32NewValue) vonE_D_FF_ANY.Qund stellt ihn an der AusgangsnummerN1bereit (z. B. für eine numerische Anzeige). -
Digitalausgang parallel: Das zusammengeführte Ereignis vom E_MERGE_4 wird ebenfalls an den Takteingang
CLKeines normalen E_D_FF gelegt. Der DateneingangDerhält den booleschen StatusQdes E_CTU („Zähler ≥ PV“). Somit wird bei jedem Zählimpuls der aktuelle Vergleichsstatus im Flipflop gespeichert und am AusgangQausgegeben. Ein Ereignis am AusgangEOdes Flipflops steuert den DigitalOutput_Q1 an, der den booleschen Wert auf den physischen Ausgang Q1 legt. -
Reset‑Funktion: Ein Tastendruck an I2 (zweiter Eingang) erzeugt ein Ereignis
INDdes DigitalInput_CLK_I2. Dieses Ereignis wird einerseits an den Reset‑EingangRdes E_CTU gelegt (Zähler wird auf 0 gesetzt) und andererseits an denSTOP‑Eingang des E_CYCLE, wodurch die zyklische Erzeugung von Taktimpulsen angehalten wird. Somit wird der gesamte Zählvorgang zurückgesetzt und gestoppt.
Zusammenfassung¶
Die Übung Uebung_080e3 zeigt eine praxisnahe Kombination aus einem Ereignis‑gesteuerten Zähler (E_CTU), einer Hysterese‑basierten Wertglättung (E_D_FF_ANY) und einem booleschen Flipflop (E_D_FF). Durch das Zusammenspiel von E_CYCLE, E_SPLIT_4 und E_MERGE_4 wird ein robustes Ereignissystem aufgebaut, das den Zählerwert mit einer einstellbaren Hysterese überwacht und sowohl einen digitalen Ausgang als auch einen numerischen Wert ausgibt. Der Reset über einen zweiten Taster ermöglicht das Zurücksetzen und Stoppen der Zählung. Die Übung vermittelt grundlegende Konzepte der ereignisgesteuerten Steuerungstechnik, insbesondere die Verwendung von Ereignisverzweigungen, Zusammenführungen und die Bedeutung von Hysteresen bei der Signalverarbeitung.