AE_DELAY

AE_DELAY

AE_DELAY


Einleitung

Der Funktionsbaustein AE_DELAY ist ein Wrapper für den Standard-IEC-61499-Baustein E_DELAY, der speziell für die Verwendung mit Event-Adaptern (AE) konzipiert wurde. Er ermöglicht die verzögerte Weiterleitung von Ereignissen innerhalb einer adapterbasierten Architektur. Anstatt herkömmlicher Ereignis-Pins verwendet dieser Baustein Adapter-Sockets und -Plugs, um Start- und Stopp-Signale zu empfangen und das verzögerte Ereignis auszugeben.

Schnittstellenstruktur

Der Baustein kapselt die Funktionalität eines Einschaltverzögerungs-Timers (On-Delay Timer) in Adapter-Schnittstellen.

Ereignis-Eingänge

Name

Kommentar

REQ

Dient zur Aktualisierung des Zeitwerts am Dateneingang DT.

Ereignis-Ausgänge

Dieser Baustein verfügt über keine direkten Ereignis-Ausgänge auf der Hauptebene. Alle Ausgangsereignisse werden über den Adapter EO geleitet.

Daten-Eingänge

Name

Datentyp

Kommentar

DT

TIME

Delay Time: Die Zeitdauer, um die das Eingangsereignis verzögert werden soll.

Daten-Ausgänge

Dieser Baustein verfügt über keine Daten-Ausgänge.

Adapter

Name

Typ

Art

Kommentar

START

adapter::types::unidirectional::AE

Socket (Eingang)

Startet die Zeitverzögerung (löst intern START aus).

STOP

adapter::types::unidirectional::AE

Socket (Eingang)

Stoppt/bricht die Zeitverzögerung ab (löst intern STOP aus).

EO

adapter::types::unidirectional::AE

Plug (Ausgang)

Event Output: Gibt das Ereignis nach Ablauf der Zeit DT aus.

Funktionsweise

Der AE_DELAY Baustein agiert als Brücke zwischen der Adapter-Welt und dem klassischen E_DELAY Timer:

  1. Initialisierung: Über den Dateneingang DT wird die gewünschte Verzögerungszeit festgelegt. Dies kann über das Ereignis REQ aktualisiert werden.

  2. Starten des Timers: Trifft ein Ereignis (üblicherweise E1) am Adapter-Socket START ein, wird dieses intern an den START-Eingang des eingebetteten E_DELAY Bausteins weitergeleitet. Der Timer beginnt zu laufen.

  3. Ablauf der Zeit: Sobald die Zeit DT verstrichen ist, generiert der interne Timer ein Ereignis. Dieses wird an den Adapter-Plug EO (Ereignis E1) weitergeleitet.

  4. Abbrechen: Trifft ein Ereignis am Adapter-Socket STOP ein, wird der laufende Timer sofort unterbrochen und zurückgesetzt. Es wird kein Ereignis am Ausgang EO generiert.

Technische Besonderheiten

  • Paket-Zugehörigkeit: Der Baustein ist Teil des Pakets adapter::events::unidirectional::timers.

  • Kapselung: Er enthält eine Instanz von iec61499::events::E_DELAY.

  • Adapter-Typ: Verwendet den unidirektionalen Ereignis-Adapter AE (adapter::types::unidirectional::AE), der typischerweise ein einzelnes Ereignis (E1) transportiert.

Zustandsübersicht

Der Baustein selbst besitzt keine explizite Zustandsmaschine (ECC), da es sich um ein zusammengesetztes Netzwerk (Composite FB) handelt. Das Verhalten wird vollständig durch den internen E_DELAY bestimmt:

  • Idle: Warten auf ein Ereignis am START-Adapter.

  • Timing: Nach Empfang eines Signals an START läuft die Zeit DT.

  • Triggered: Nach Ablauf von DT wird das Signal an EO gesendet und der Baustein kehrt in den Idle-Zustand zurück.

  • Reset: Ein Signal an STOP während der Phase Timing setzt den Baustein sofort in den Idle-Zustand zurück.

Anwendungsszenarien

  • Adapter-basierte Steuerungen: Ideal für Systeme, die stark auf Adapter-Verbindungen setzen, um den „Spaghetti-Code“ von Einzelverbindungen zu reduzieren.

  • Verzögerte Signalketten: Einfügen von Wartezeiten in einer Ereigniskette, die logisch durch Adapter gruppiert ist.

  • Prozesssteuerung: Verzögertes Starten von Aggregaten oder Prozessen, die über standardisierte AE-Schnittstellen angesteuert werden.

⚖️ Vergleich mit ähnlichen Bausteinen

Baustein

Unterschied

E_DELAY

Der Standard-Baustein mit direkten Event-Pins (START, STOP, EO). AE_DELAY ist der Wrapper hierfür.

E_CYCLE

Erzeugt periodische Ereignisse, während AE_DELAY ein Ereignis nur einmalig verzögert weiterleitet.

AE_SPLIT

Dient zum Aufteilen von Adapter-Ereignissen, bietet aber keine Zeitverzögerung.

Fazit

Der AE_DELAY ist ein unverzichtbarer Hilfsbaustein für Entwickler, die die Vorteile von 4diac-Adaptern (reduzierte Verbindungskomplexität, klare Schnittstellendefinitionen) nutzen möchten, ohne auf grundlegende Zeitfunktionen wie Verzögerungen verzichten zu müssen. Er integriert den bewährten E_DELAY nahtlos in moderne, adapterbasierte Applikationsdesigns.