AQ_DEMUX_2¶
Einleitung¶
Der AQ_DEMUX_2 ist ein generischer Funktionsbaustein, der als Demultiplexer für analoge Werte (AQ – Analog Quantity) fungiert. Er verteilt einen eingehenden AQ-Wert auf einen von zwei möglichen Ausgangsadaptern, gesteuert durch einen Index. Der Baustein ist als generischer FB (Generic FB) ausgelegt und ermöglicht eine flexible Wiederverwendung in verschiedenen Anwendungskontexten.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
| REQ | Event | Auslöser zum Setzen des Index K und Weiterleitung des Werts. Verbunden mit dem Daten-Eingang K. |
Ereignis-Ausgänge¶
| Name | Typ | Kommentar |
|---|---|---|
| CNF | Event | Bestätigung, dass der Index K gesetzt und der Wert weitergeleitet wurde. |
Daten-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
| K | UINT | Index zur Auswahl des Ausgangs (1 → OUT1, 2 → OUT2). |
Daten-Ausgänge¶
Der Baustein besitzt keine direkten Daten-Ausgänge. Die Ausgaben erfolgen über die Adapter-Schnittstellen.
Adapter¶
| Typ | Richtung | Name | Kommentar |
|---|---|---|---|
| adapter::types::unidirectional::AQ | Eingang (Socket) | IN | Eingangswert, der demultiplext werden soll. |
| adapter::types::unidirectional::AQ | Ausgang (Plug) | OUT1 | Erster Ausgangskanal (Index 1). |
| adapter::types::unidirectional::AQ | Ausgang (Plug) | OUT2 | Zweiter Ausgangskanal (Index 2). |
Funktionsweise¶
Beim Eintreffen eines REQ-Ereignisses wird der Wert des Daten-Eingangs K ausgewertet: - Ist K = 1, so wird der aktuelle Wert des Adapter-Sockets IN auf den Adapter-Plug OUT1 weitergeleitet. - Ist K = 2, erfolgt die Weiterleitung auf OUT2. - Für andere Werte von K bleibt der Baustein inaktiv oder der Wert wird ignoriert (je nach Implementierung). Anschließend wird das CNF-Ereignis ausgegeben, um den erfolgreichen Abschluss zu signalisieren.
Die Weiterleitung erfolgt ereignisgesteuert und ohne interne Zwischenspeicherung – der Wert wird direkt vom Eingangsadapter auf den ausgewählten Ausgangsadapter kopiert.
Technische Besonderheiten¶
- Generischer Baustein: Der FB ist als Generic FB definiert (
GEN_AQ_DEMUX), sodass er für unterschiedliche analoge Datentypen instanziiert werden kann, solange die Adapter-Schnittstelle das Protokollunidirectional::AQunterstützt. - Adapterbasierte Kommunikation: Anstelle klassischer Datenports werden Adapter verwendet. Dies ermöglicht eine lose Kopplung und den Austausch komplexer Datenstrukturen zwischen Bausteinen.
- Einfache Indexsteuerung: Der Index K ist vom Typ
UINTund legt fest, welcher Ausgang aktiv wird. Die Beschränkung auf zwei Ausgänge ist fest verdrahtet („_2“ im Namen). - Keine Datenkopplung am CNF-Ereignis: Das Bestätigungsereignis CNF hat keine verbundenen Daten – es dient lediglich zur Synchronisation.
Zustandsübersicht¶
Der Baustein besitzt keinen expliziten Zustandsautomaten. Die interne Logik lässt sich als einfache Folge beschreiben: 1. Warten auf REQ (Idle-Zustand) 2. Auswerten von K und Weiterleiten des IN-Werts an den entsprechenden Plug 3. Senden von CNF und Rückkehr in den Idle-Zustand
Ein wiederholtes REQ-Ereignis führt jedes Mal eine neue Weiterleitung durch, unabhängig vom vorherigen Index.
Anwendungsszenarien¶
- Verteilen eines analogen Sollwerts auf verschiedene Aktoren (z. B. Ventile, Antriebe) in einer Fertigungsanlage.
- Steuerung von zwei parallelen Prozesszweigen mit einem gemeinsamen Messwert, der je nach Index an unterschiedliche Regelkreise weitergegeben wird.
- Umschaltung zwischen zwei Betriebsarten in einer adaptiven Steuerung, bei der ein analoger Eingang auf zwei verschiedene Ausgänge geschaltet wird.
Vergleich mit ähnlichen Bausteinen¶
- AQ_MUX: Der Multiplexer-Gegenstück – er wählt einen von mehreren analogen Eingängen aus und gibt ihn an einen einzigen Ausgang weiter.
- DATA_DEMUX: Ein allgemeiner Daten-Demultiplexer, der jedoch oft mit primitiven Datentypen (z. B. INT, REAL) arbeitet und keine Adapter verwendet.
- AQ_DEMUX_N: Eine erweiterte Version mit mehr als zwei Ausgängen. Der AQ_DEMUX_2 stellt die einfachste Realisierung dar.
Gegenüber einem reinen Daten-Demultiplexer bietet der AQ_DEMUX_2 Vorteile durch die Adapter-Schnittstelle, die eine standardisierte Übertragung analoger Werte mit optionalen Zusatzinformationen (z. B. Einheit, Status) ermöglicht.
Fazit¶
Der AQ_DEMUX_2 ist ein spezialisierter, aber flexibler Funktionsbaustein zur Verteilung analoger Werte auf zwei Ausgänge. Sein generischer Charakter und die Adapter-basierte Kommunikation machen ihn zu einem wertvollen Element in der Automatisierungstechnik, insbesondere in Szenarien mit ereignisgesteuerter Kanalauswahl. Die einfache Schnittstelle und die klare Trennung von Ereignis- und Datenlogik erleichtern die Integration in komplexe Steuerungsprojekte.