ADI_DEMUX_4¶
Einleitung¶
Der Funktionsblock ADI_DEMUX_4 ist ein generischer Demultiplexer, der einen eingehenden Datenwert über einen unidirektionalen Adapter (Socket) auf einen von vier Ausgangsadaptern (Plugs) verteilt. Die Auswahl des Zielausgangs erfolgt über einen Index-Eingang. Der Baustein wird typischerweise in der industriellen Automatisierung eingesetzt, um Signalwege dynamisch umzuschalten oder Daten an verschiedene Verbraucher zu routen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Name | Typ | Beschreibung |
|---|---|---|
| REQ | Event | Ereignis zur Ausführung der Demultiplex-Operation; löst die Verarbeitung des Index K aus |
Ereignis-Ausgänge¶
| Name | Typ | Beschreibung |
|---|---|---|
| CNF | Event | Bestätigung, dass der Demultiplex-Vorgang abgeschlossen ist |
Daten-Eingänge¶
| Name | Typ | Beschreibung |
|---|---|---|
| K | UINT | Index (1‑basiert) für die Auswahl des Zielausgangs (1→OUT1, 2→OUT2, 3→OUT3, 4→OUT4) |
Daten-Ausgänge¶
Keine
Adapter¶
| Richtung | Name | Typ | Beschreibung |
|---|---|---|---|
| Socket | IN | ADI (unidirektional) | Eingangsadapter, über den der zu verteilende Datenwert anliegt |
| Plug | OUT1 | ADI (unidirektional) | Erster Ausgangsadapter |
| Plug | OUT2 | ADI (unidirektional) | Zweiter Ausgangsadapter |
| Plug | OUT3 | ADI (unidirektional) | Dritter Ausgangsadapter |
| Plug | OUT4 | ADI (unidirektional) | Vierter Ausgangsadapter |
Funktionsweise¶
- Der Baustein wartet auf ein Ereignis am Eingang
REQ. - Nach Eintreffen von
REQwird der aktuelle Wert des IndexKausgelesen. - Der über den Socket
INbereitgestellte Datenwert (z. B. einINT,REALoder benutzerdefinierter Typ – abhängig von der konkreten Adapter-Instanziierung) wird an den durchKadressierten Ausgangsadapter (OUT1,OUT2,OUT3oderOUT4) weitergeleitet. - Anschließend wird das Ereignis
CNFausgegeben, um den erfolgreichen Abschluss zu signalisieren.
Hinweis: Der Index
Kwird als vorzeichenlose Ganzzahl interpretiert. Werte außerhalb des Bereichs 1…4 führen zu undefiniertem Verhalten – in einer robusten Implementierung sollte der aufrufende Baustein für gültige Indizes sorgen.
Technische Besonderheiten¶
- Generischer Typ: Der FB ist als generischer Baustein (
eclipse4diac::core::GenericClassName = 'GEN_ADI_DEMUX') ausgelegt. Er kann in Verbindung mit verschiedenen Datenadaptern (z. B. fürINT,REAL,BOOL) parametrisiert werden, ohne dass die Logik selbst angepasst werden muss. - Unidirektionale Adapter: Alle Adapter sind unidirektional ausgelegt – die Daten fließen nur vom Socket
INzu einem der Plugs. Dies ermöglicht lose Kopplung und einfache Austauschbarkeit der Datenquellen und -senken. - Ereignisgesteuerte Ausführung: Die Demultiplex-Operation wird nur durch das
REQ-Ereignis ausgelöst. Es existiert kein kontinuierlicher Datenstrom; der Baustein arbeitet streng nach dem ereignisgesteuerten Paradigma der IEC 61499.
Zustandsübersicht¶
Der Baustein besitzt keine expliziten Zustände. Das Verhalten kann als einfacher Ablauf beschrieben werden:
- Start: Warten auf
REQ. - REQ empfangen: Auslesen von
K, Weiterleitung desIN-Werts an den entsprechendenOUTn-Plug, Ausgabe vonCNF. - Rückkehr zum Wartezustand.
Anwendungsszenarien¶
- Signalverteilung: Ein Sensor liefert Messwerte über einen ADI-Adapter. Je nach Betriebsmodus (Index
K) werden die Werte an verschiedene Aktoren oder Steuerungslogiken weitergeleitet. - Prozessumschaltung: In einer Mehrprozessanlage kann derselbe Dateneingang wahlweise an unterschiedliche Verarbeitungsstationen geroutet werden.
- Diagnose & Test: Ein zentraler Datenstrom wird auf verschiedene Test- oder Überwachungsblöcke umgeschaltet, ohne dass die Verdrahtung geändert werden muss.
Vergleich mit ähnlichen Bausteinen¶
| Baustein | Beschreibung | Unterschied |
|---|---|---|
ADI_MUX_4 |
Multiplexer – sammelt Daten von vier Eingängen und leitet sie über einen Ausgang weiter | Richtung umgekehrt (mehrere Eingänge → ein Ausgang) |
DEMUX_2 / DEMUX_8 |
Demultiplexer mit anderer Kanalzahl | ADI_DEMUX_4 bietet genau vier Ausgänge; andere Varianten passt man durch eigene Adapter oder generische Parameter an |
SELECT (IEC‑Standard) |
Auswahl zwischen zwei Werten (boolesche Steuerung) | Arbeitet mit einfachen Datentypen, nicht mit Adaptern; weniger flexibel hinsichtlich unterschiedlicher Datenquellen |
Fazit¶
Der ADI_DEMUX_4 ist ein kompakter, generischer Demultiplexer für die ereignisgesteuerte Verteilung von Adapterdaten. Dank der unidirektionalen Adapter‑Schnittstelle und der generischen Auslegung eignet er sich hervorragend für modulare Automatisierungslösungen, bei denen Datenflüsse dynamisch umgeschaltet werden müssen. Die einfache Schnittstelle – ein Ereignis, ein Index und fünf Adapter – ermöglicht eine unkomplizierte Integration in größere Steuerungssysteme.