E_TimeOut

E_TimeOut


Einleitung

Der E_TimeOut ist ein standardkonformer Funktionsbaustein (IEC 61499-1) zur Implementierung von Timeout-Services. Version 1.0 bietet eine einfache, aber effektive Timeout-Funktionalität durch interne Nutzung eines E_DELAY-Bausteins. Der E_TimeOut ist ein zusammengesetzter Funktionsblock. Innerhalb des Netzwerks eines zusammengesetzten Funktionsblocks wird jeder Adapter, der zu seiner Schnittstelle hinzugefügt wird, durch einen Adapterblock repräsentiert, der wie ein Funktionsblock aussieht. Die Schnittstellenelemente dieses Adapterblocks sind wie ein Funktionsblock verbunden.

E_TimeOut

Schnittstellenstruktur

Adapter-Schnittstelle (Socket-Perspektive)

Der Baustein verwendet einen Socket (Buchse) vom Typ ATimeOut. Da es sich um einen Socket handelt, sind die Signalrichtungen gegenüber der Adapter-Definition (Plug) invertiert:

  • Eingänge (vom Socket empfangen):

    • START: Startet den internen Timer.

    • STOP: Stoppt den internen Timer.

    • DT (TIME): Die zu verwendende Verzögerungszeit.

  • Ausgang (an den Socket gesendet):

    • TimeOut: Wird nach Ablauf der Zeit an den verbundenen Plug signalisiert.

Interne Komponenten

  • DLY (E_DELAY): Kernkomponente für die Zeitsteuerung

Funktionsweise

  1. Timeout-Initialisierung:

    • Bei START-Ereignis am Socket beginnt der Timer mit dem konfigurierten DT-Wert.

    • Ein weiteres START-Ereignis während der Timer läuft, wird ignoriert.

  2. Timeout-Abbruch:

    • Ein STOP-Ereignis bricht den aktiven Timer sofort ab. Es wird kein TimeOut-Ereignis generiert.

  3. Timeout-Auslösung:

    • Nach Ablauf von DT wird das TimeOut-Ereignis einmalig generiert.

Technische Besonderheiten

Adapter-basierte Schnittstelle (ATimeOut). ✔ Einfache, nicht-nachtriggerbare Timeout-Logik. ✔ Deterministisches Zeitverhalten.

Anwendungsszenarien

  • Netzwerkkommunikation: Überwachung auf eine Antwort innerhalb einer festen Frist. Wenn die Antwort kommt, wird der Timer per STOP abgebrochen.

  • Gerätesteuerung: Einfache Watchdog-Funktionen, die nicht zurückgesetzt werden müssen.

  • Prozessüberwachung: Sicherstellen, dass ein Prozessschritt eine maximale Dauer nicht überschreitet.

⚖️ Vergleich mit E_RTimeOut

Feature

E_TimeOut (dieser)

E_RTimeOut

Interner Baustein

E_DELAY

E_RDELAY

START bei lfd. Timer

Ignoriert

Startet Timer neu

Adaptertyp

ATimeOut

ARTimeOut

🛠️ Zugehörige Übungen

Fazit

Der E_TimeOut-Baustein bietet eine robuste Grundimplementierung für nicht-nachtriggerbare Timeout-Anforderungen. Er ist ideal für Fälle, in denen ein Zeitablauf gestartet und entweder bis zum Ende durchlaufen oder explizit abgebrochen werden soll. Für Szenarien, die ein „Nachtriggern“ oder Zurücksetzen des Timers erfordern (wie bei einem Watchdog, der periodisch „getreten“ wird), ist der E_RTimeOut-Baustein die bessere Wahl.