AI_DEMUX_5¶
Einleitung¶
Der Funktionsblock AI_DEMUX_5 ist ein generischer Analog-Eingangs-Demultiplexer für die 4diac-IDE. Er verteilt einen über einen Adapter eingehenden AI-Wert (Analog Input) auf einen von fünf Ausgangsadaptern, gesteuert durch einen ganzzahligen Index K. Der FB ist als unidirektionaler Adapter-Baustein realisiert und ermöglicht die flexible Weiterleitung von analogen Signalen in Steuerungsanwendungen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
| REQ | Event | Set Index K |
Der Ereigniseingang REQ löst die Demultiplex-Funktion aus. Mit diesem Ereignis wird der Index K übernommen und die Weiterleitung des aktuellen Eingangswerts an den entsprechenden Ausgang angestoßen.
Ereignis-Ausgänge¶
| Name | Typ | Kommentar |
|---|---|---|
| CNF | Event | Confirmation of Set Index K |
Das Ereignis CNF wird nach erfolgreicher Verteilung des Wertes ausgegeben und bestätigt die Ausführung des REQ-Ereignisses.
Daten-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
| K | UINT | index |
Der Daten-Eingang K bestimmt den Zielausgang (1..5), an den der vom IN-Adapter stammende Wert weitergeleitet wird. Werte außerhalb dieses Bereichs werden typischerweise ignoriert oder führen zu einer Fehlerbehandlung (nicht näher spezifiziert).
Daten-Ausgänge¶
Es sind keine direkten Datenausgänge vorhanden. Die Ausgabe erfolgt ausschließlich über die Adapter-Schnittstellen.
Adapter¶
| Rolle | Name | Typ | Kommentar |
|---|---|---|---|
| Socket | IN | adapter::types::unidirectional::AI | Input Value to demultiplex |
| Plug | OUT1 | adapter::types::unidirectional::AI | – |
| Plug | OUT2 | adapter::types::unidirectional::AI | – |
| Plug | OUT3 | adapter::types::unidirectional::AI | – |
| Plug | OUT4 | adapter::types::unidirectional::AI | – |
| Plug | OUT5 | adapter::types::unidirectional::AI | – |
Der IN-Socket nimmt den zu verteilenden Analogwert entgegen. Die fünf Plugs OUT1 bis OUT5 stellen die möglichen Zielausgänge dar, über die der Wert ausgegeben wird.
Funktionsweise¶
Bei jedem REQ-Ereignis wird der aktuelle Wert des Index K ausgelesen. Der am IN-Adapter anliegende AI-Wert wird dann unverändert an den durch K bezeichneten OUT-Plug weitergegeben (z. B. K=1 → OUT1, K=2 → OUT2, usw.). Die übrigen vier Ausgänge bleiben unverändert oder werden auf einen definierten Grundzustand (z. B. Nullwert) gesetzt – dies ist abhängig von der konkreten Implementierung des generischen FB. Nach Abschluss der Weiterleitung wird das CNF-Ereignis ausgelöst. Die Funktion ist rein kombinatorisch; es gibt keine internen Speicher oder Zustände.
Technische Besonderheiten¶
- Generischer Baustein: Der FB ist als generischer Typ (
eclipse4diac::core::GenericClassName = 'GEN_AI_DEMUX') deklariert, was eine einfache Parametrierung oder Wiederverwendung in verschiedenen Projekten ermöglicht. - Unidirektionale Adapter: Die Schnittstellen IN und OUT1..OUT5 sind als unidirektionale AI-Adapter ausgeführt, d. h. sie erlauben Datenfluss nur in eine Richtung (vom Socket zum Plug). Dies vereinfacht die Verdrahtung in hierarchischen Strukturen.
- Keine Datenausgänge: Der FB verzichtet auf klassische Datenausgänge und nutzt ausschließlich Adapter für die Wertübergabe, was eine modulare Kapselung der analogen Signale fördert.
Zustandsübersicht¶
Der Funktionsblock besitzt keinen internen Zustandsautomaten. Die Demultiplex-Funktion wird bei jedem REQ-Ereignis direkt ausgeführt. Es gibt keine Abhängigkeiten von vorherigen Aufrufen, außer dass der Index K zum Zeitpunkt des REQ gültig sein muss.
Anwendungsszenarien¶
- Signalrouting in der Automatisierung: Ein analoger Sensorwert (z. B. Temperatur, Druck) soll abhängig von einer Auswahl (z. B. Produkttyp) an verschiedene weitere Funktionsblöcke zur Verarbeitung oder Protokollierung weitergeleitet werden.
- Mehrkanal-Messsysteme: Verteilung eines einkommenden AI-Werts auf unterschiedliche Pfade (z. B. Regelung, Überwachung, Archivierung) ohne mehrfache Verkabelung.
- Test- und Simulationsumgebungen: Umschalten zwischen verschiedenen Simulationsdatenquellen durch Ändern des Index K.
Vergleich mit ähnlichen Bausteinen¶
Ein MUX (Multiplexer) führt die umgekehrte Funktion aus – mehrere Eingänge werden auf einen Ausgang geschaltet. Der AI_DEMUX_5 ist ein Demultiplexer mit fest fünf Ausgängen. Im Gegensatz zu einem generischen, parametrierbaren DEMUX (z. B. mit variabler Anzahl an Ausgängen) ist die Anzahl hier auf fünf festgelegt, was eine klare Schnittstelle für typische Anwendungen mit bis zu fünf Zielen bietet. Gegenüber einem manuellen, kaskadierten Aufbau mit mehreren 1-zu-2-Demultiplexern reduziert dieser FB die Komplexität und erhöht die Übersichtlichkeit.
Fazit¶
Der AI_DEMUX_5 ist ein kompakter, generischer Demultiplexer für analoge Eingangssignale in der 4diac-IDE. Mit seiner einfachen Ereignissteuerung, dem Index-K-Eingang und der Adapter-basierten Schnittstelle eignet er sich ideal für das Routing von AI-Werten in modularen Steuerungsanwendungen. Die feste Anzahl von fünf Ausgängen deckt viele praktische Anforderungen ab, während die generische Implementierung eine flexible Wiederverwendung ermöglicht.