E_DEMUX_2
Einleitung
Der E_DEMUX_2 (Event Demultiplexer) ist ein Funktionsbaustein nach IEC 61499, der ein einzelnes Eingangereignis (EI) an einen von zwei Ausgängen weiterleitet. Die Auswahl des Ausgangs wird durch den Wert der Eingangsvariable K bestimmt.
Schnittstellenstruktur
Ereignis-Eingänge
EI (Event Input): Das Eingangereignis, das verteilt werden soll.
Verbundene Daten:
K
Ereignis-Ausgänge
EO1: Wird ausgelöst, wenn
EIankommt und der AuswahlindexK = 0ist.EO2: Wird ausgelöst, wenn
EIankommt und der AuswahlindexK = 1ist.
Daten-Eingänge
K: Der 0-basierte Auswahlindex, der bestimmt, welcher Ausgang ausgelöst wird (Datentyp:
UINT).
Funktionsweise
Ereignisempfang: Der Baustein wartet auf ein Ereignis am Eingang
EI.Auswahl: Wenn das
EI-Ereignis eintrifft, wird der Wert der DatenvariableKausgewertet.Weiterleitung:
Ist
K= 0, wird das Ereignis anEO1weitergeleitet.Ist
K= 1, wird das Ereignis anEO2weitergeleitet.
Ungültiger Index: Wenn der Wert von
Kaußerhalb des gültigen Bereichs [0, 1] liegt, wird kein Ausgangsereignis ausgelöst.
Das Eingangsereignis wird somit immer exklusiv an genau einen Ausgang weitergeleitet, sofern der Index K gültig ist.
Technische Besonderheiten
1-zu-2 Verteilung: Dieser Baustein verteilt ein Ereignis auf zwei mögliche Ausgänge.
Index-gesteuert: Die Logik basiert auf einem numerischen Index (
K).Verwirrende Namensgebung: Man beachte, dass die Ausgänge 1-basiert (
EO1,EO2) benannt sind, der AuswahlindexKaber 0-basiert ist (K=0fürEO1,K=1forEO2).Generischer Baustein: Die Funktionalität wird durch die generische Klasse
GEN_E_DEMUXzur Verfügung gestellt.
Anwendungsszenarien
Bedingte Verzweigung: Aufteilen eines Ereignisflusses basierend auf einer einfachen Bedingung, die zu einem Ergebnis von 0 oder 1 führt.
Zustandsmaschinen: Auswahl zwischen zwei möglichen nächsten Zuständen.
Aktivierung/Deaktivierung: Weiterleiten eines Ereignisses an einen „Ein“- oder „Aus“-Pfad.
Fazit
Der E_DEMUX_2 ist eine spezialisierte Version des Demultiplexers für Fälle, in denen ein Ereignis auf genau zwei Pfade aufgeteilt werden muss. Er ist nützlich für einfache binäre Entscheidungen im Ereignisfluss. Die inkonsistente Benennung der Ausgänge im Verhältnis zum Indexwert erfordert besondere Aufmerksamkeit bei der Implementierung.