AE_CYCLE

Einleitung
Der Funktionsbaustein AE_CYCLE (Adapter Event Cycle) dient als periodischer Ereignisgenerator. Er erzeugt in regelmäßigen Abständen, definiert durch eine Zeitvorgabe, ein Ausgangsereignis. Im Gegensatz zum Standard-E_CYCLE-Baustein nutzt dieser FB einen Adapter für die Signalausgabe, was ihn besonders für architektonische Muster geeignet macht, die auf Event-Adaptern basieren.
Schnittstellenstruktur
Ereignis-Eingänge
START: Startet die periodische Erzeugung von Ereignissen. Beim Auslösen dieses Ereignisses wird der Zeitgeber aktiviert.
STOP: Stoppt die Erzeugung von Ereignissen und unterbricht den laufenden Zyklus.
Ereignis-Ausgänge
Keine direkten Ereignis-Ausgänge vorhanden (siehe Adapter).
Daten-Eingänge
DT (TIME): Die Zykluszeit (Cycle Time). Dieser Wert bestimmt das Intervall zwischen zwei aufeinanderfolgenden Ereignissen.
Daten-Ausgänge
Keine Daten-Ausgänge vorhanden.
Adapter
EO (Plug): Ein Adapter vom Typ
adapter::types::unidirectional::AE. Über diesen Adapter wird das periodisch erzeugte Ereignis ausgegeben (konkret über das Adapter-EventE1).
Funktionsweise
Der AE_CYCLE ist als Composite Function Block (zusammengesetzter Funktionsbaustein) realisiert. Intern basiert seine Logik auf dem Standardbaustein E_DELAY.
Starten: Wenn das
START-Ereignis eintrifft, wird der interneE_DELAY-Baustein mit der ZeitdauerDTgestartet.Verzögerung & Auslösen: Nach Ablauf der Zeit
DTerzeugt der interne Baustein ein Ausgangsereignis.Rückkopplung (Loop): Dieses interne Ereignis erfüllt zwei Aufgaben:
Es wird an den Adapter EO weitergeleitet, um das Signal nach außen zu geben.
Es wird direkt auf den
START-Eingang des internenE_DELAYzurückgeführt.
Zyklus: Durch diese Rückkopplung startet der Timer sofort neu, wodurch eine kontinuierliche Schleife entsteht.
Stoppen: Das
STOP-Ereignis unterbricht den internenE_DELAY-Baustein sofort und beendet die Schleife.
Technische Besonderheiten
Kapselung: Der Baustein kapselt die Logik einer Oszillatorschaltung (Feedback-Loop) und stellt sie über eine vereinfachte Schnittstelle bereit.
Adapter-Nutzung: Die Verwendung des
AE-Adapters (Adapter Event) ermöglicht eine saubere Trennung und Gruppierung von Ereignisflüssen, passend zumadapter::events::unidirectionalPaket.
Zustandsübersicht
Da es sich um einen Composite Function Block handelt, besitzt er keine eigene Zustandsmaschine (ECC). Der implizite Zustand wird durch den internen E_DELAY bestimmt:
Inaktiv: Nach Initialisierung oder
STOP.Laufend: Nach
START, während der Timer läuft oder neu getriggert wird.
Anwendungsszenarien
Heartbeat-Signale: Erzeugung eines Lebenszeichens für übergeordnete Systeme oder Watchdogs.
Polling: Periodisches Abfragen von Sensordaten (Trigger für
READ-Operationen).Blinken: Ansteuerung von Signalleuchten (in Kombination mit Toggle-Logik).
Zeitgesteuerte Abläufe: Takterzeugung für Schrittketten oder periodische Berechnungen.
⚖️ Vergleich mit ähnlichen Bausteinen
E_CYCLE: Dies ist das direkte Standard-Pendant aus der IEC 61499 Bibliothek.
E_CYCLEbietet die gleiche Funktionalität, nutzt jedoch einen direktenEO-Event-Ausgang statt eines Adapters.E_DELAY:
AE_CYCLEbasiert aufE_DELAY. WährendE_DELAYein Ereignis nur einmalig verzögert weiterleitet, sorgtAE_CYCLEdurch die interne Verschaltung für eine endlose Wiederholung.E_TRAIN: Erzeugt eine begrenzte Anzahl von Impulsen (Pulse Train), während
AE_CYCLEunendlich läuft, bis er gestoppt wird.
Fazit
Der AE_CYCLE ist ein nützlicher Utility-Baustein für Entwickler, die innerhalb der 4diac-Umgebung mit Event-Adaptern arbeiten. Er abstrahiert die notwendige Rückkopplungslogik zur Erzeugung periodischer Signale und integriert sich nahtlos in Adapter-basierte Softwarearchitekturen.