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 |
START bei lfd. Timer |
Ignoriert | Startet Timer neu |
| Adaptertyp | ATimeOut | ARTimeOut |
🛠️ Zugehörige Übungen¶
- Uebung_035
- Uebung_035a
- Uebung_035a1_AX
- Uebung_035a2
- Uebung_035a2_AX
- Uebung_035a3
- Uebung_035a3_AX
- Uebung_035c
- Uebung_036
- Uebung_037
- Uebung_038
- Uebung_038_AX
- Uebung_039
- Uebung_039a
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.