AE_DEMUX_3¶
Einleitung¶
Der Funktionsblock AE_DEMUX_3 ist ein generischer AE-Demultiplexer.
Er leitet einen über den Adapter-Eingang IN anliegenden AE-Wert wahlweise auf einen von drei Adapter-Ausgängen (OUT1 bis OUT3) weiter. Die Auswahl des Ausgangs erfolgt über den Index K, der bei einem Ereignis am Eingang REQ ausgewertet wird.
Der Baustein ist als generischer FB (GenericClassName GEN_AE_DEMUX) realisiert und wird erst zur Übersetzungszeit oder bei der Instanziierung auf die konkrete Anzahl von Ausgängen spezialisiert.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Ereignis | Beschreibung |
|---|---|
REQ |
Übernahme des Index K und Weiterleitung des Adapter-Eingangs auf einen der drei Ausgänge |
Ereignis-Ausgänge¶
| Ereignis | Beschreibung |
|---|---|
CNF |
Bestätigung der abgeschlossenen Weiterleitung |
Daten-Eingänge¶
| Name | Typ | Beschreibung |
|---|---|---|
K |
UINT | Index des ausgewählten Ausgangs (gültige Werte: 1, 2 oder 3) |
Daten-Ausgänge¶
Keine direkten Datenausgänge vorhanden. Die Ausgangsdaten werden über die Adapter-Ausgänge bereitgestellt.
Adapter¶
| Adapter | Richtung | Typ | Beschreibung |
|---|---|---|---|
IN |
Socket | adapter::types::unidirectional::AE |
Eingangs-AE-Signal |
OUT1 |
Plug | adapter::types::unidirectional::AE |
Erster Ausgang |
OUT2 |
Plug | adapter::types::unidirectional::AE |
Zweiter Ausgang |
OUT3 |
Plug | adapter::types::unidirectional::AE |
Dritter Ausgang |
Funktionsweise¶
- Der Baustein wartet auf ein Ereignis am Eingang
REQ. - Mit dem Ereignis wird der ganzzahlige Wert des Daten-Eingangs
Kausgelesen. - Abhängig vom Wert
Kwird der am Adapter-SocketINanliegende AE-Wert auf einen der drei Adapter-Plugs weitergeleitet: K = 1→ Weiterleitung anOUT1K = 2→ Weiterleitung anOUT2K = 3→ Weiterleitung anOUT3- Nach erfolgreicher Weiterleitung wird das Ereignis
CNFausgegeben.
Sollte K außerhalb des gültigen Bereichs liegen, bleibt die Weiterleitung aus (CNF wird dennoch gesendet – je nach Implementierung).
Technische Besonderheiten¶
- Generischer Baustein: Der FB ist als generisch deklariert (
GenericClassName = 'GEN_AE_DEMUX') und kann in der 4diac-IDE auf andere Ausgangsanzahlen erweitert werden. - Adapterbasierte Schnittstelle: Ein- und Ausgänge sind als Adapter vom Typ
adapter::types::unidirectional::AEdefiniert, was eine flexible Kopplung mit anderen AE-kompatiblen Bausteinen ermöglicht. - Lizenz und Herkunft: Der Baustein wird unter der Eclipse Public License 2.0 bereitgestellt (Copyright 2026 HR Agrartechnik GmbH). Die Versionsinformationen zeigen den Autor Franz Höpfinger und das Datum 2026-05-28.
Zustandsübersicht¶
Eine explizite Zustandsmaschine (ECC) ist in der vorliegenden XML nicht definiert. Daher wird das Verhalten als rein funktional ohne interne Zustände angenommen:
- Bei jedem REQ-Ereignis erfolgt unverzüglich die Indexauswertung und Weiterleitung.
- Nach der Aktion wird sofort CNF gesendet.
Anwendungsszenarien¶
- Signalverteilung in Automatisierungssystemen: Ein eingehendes AE-Signal kann wahlweise an eine von drei nachgelagerten Stationen oder Subsysteme weitergeleitet werden.
- Kanalauswahl: In einer Kommunikationskette wird der Datenpfad über
Kdynamisch umgeschaltet. - Test- und Debugging-Umgebungen: Ein Testsignal kann auf verschiedene Analysegeräte geroutet werden.
Vergleich mit ähnlichen Bausteinen¶
- AE_DEMUX_2: Ein Demultiplexer mit zwei Ausgängen – gleiche Funktionsweise, aber geringere Anzahl an Auswahlmöglichkeiten.
- AE_MUX_3 (Multiplexer): Der umgekehrte Baustein, der mehrere AE-Eingänge auf einen Ausgang zusammenführt.
- Nicht-generische Demultiplexer: Diese Bausteine haben fest verdrahtete Ausgangsanzahlen und können nicht auf andere Konfigurationen angepasst werden. Der AE_DEMUX_3 bietet durch seinen generischen Ansatz mehr Flexibilität.
Fazit¶
Der AE_DEMUX_3 ist ein kompakter, generischer Demultiplexer für AE-Signale, der mit minimalem Aufwand eine gezielte Signalweiterleitung auf drei Ausgänge erlaubt. Durch die Verwendung von Adaptern und die generische Architektur eignet er sich gut für modulare und wiederverwendbare Automatisierungslösungen. Die klare Ereignisschnittstelle (REQ/CNF) erleichtert die Integration in ereignisgesteuerte Steuerungsabläufe.