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.
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
Timeout-Initialisierung:
Bei
START-Ereignis am Socket beginnt der Timer mit dem konfiguriertenDT-Wert.Ein weiteres
START-Ereignis während der Timer läuft, wird ignoriert.
Timeout-Abbruch:
Ein
STOP-Ereignis bricht den aktiven Timer sofort ab. Es wird keinTimeOut-Ereignis generiert.
Timeout-Auslösung:
Nach Ablauf von
DTwird dasTimeOut-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
STOPabgebrochen.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 |
|
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.