AQ_DEMUX_5¶
Einleitung¶
Der Funktionsblock AQ_DEMUX_5 realisiert einen 1-zu-5 Demultiplexer für Adapter des Typs AQ (unidirektional). Er leitet eingehende Daten von einem zentralen Adaptereingang wahlweise an einen von fünf Ausgängen weiter. Die Auswahl des Zielausgangs erfolgt über den Index K. Der Baustein ist als generischer Typ (GEN_AQ_DEMUX) definiert und kann dadurch in verschiedenen Umgebungen wiederverwendet werden.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
| Ereignis | Kommentar |
|---|---|
REQ |
Startet die Weiterleitung des aktuellen Werts aus dem Eingangsadapter IN an den durch K bestimmten Ausgang. |
Ereignis-Ausgänge¶
| Ereignis | Kommentar |
|---|---|
CNF |
Quittiert die erfolgreiche Ausführung der Demultiplex-Operation. |
Daten-Eingänge¶
| Name | Typ | Kommentar |
|---|---|---|
K |
UINT |
Index des gewünschten Ausgangs (1..5). |
Daten-Ausgänge¶
– Keine eigenen Datenausgänge; die Ausgabe erfolgt über die Adapter-Plugs.
Adapter¶
| Richtung | Name | Typ | Kommentar |
|---|---|---|---|
| Socket (Eingang) | IN |
adapter::types::unidirectional::AQ |
Eingangsdaten, die demultiplext werden. |
| Plug (Ausgang) | OUT1 |
adapter::types::unidirectional::AQ |
Erster Ausgangskanal. |
| Plug (Ausgang) | OUT2 |
adapter::types::unidirectional::AQ |
Zweiter Ausgangskanal. |
| Plug (Ausgang) | OUT3 |
adapter::types::unidirectional::AQ |
Dritter Ausgangskanal. |
| Plug (Ausgang) | OUT4 |
adapter::types::unidirectional::AQ |
Vierter Ausgangskanal. |
| Plug (Ausgang) | OUT5 |
adapter::types::unidirectional::AQ |
Fünfter Ausgangskanal. |
Funktionsweise¶
- Eingangssignalbereitstellung: Der angeschlossene Socket
INliefert kontinuierlich Daten eines unidirektionalenAQ-Kanals. - Auslösung: Ein Ereignis am Eingang
REQstartet die Demultiplex-Operation. Dabei wird der aktuelle Wert des IndexKausgelesen. - Weiterleitung: Der FB verbindet intern den Eingang
INmit dem durchKreferenzierten Ausgangsadapter (OUT1…OUT5). Die Daten werden einmalig an den gewählten Ausgang propagiert. - Bestätigung: Nach erfolgreicher Übertragung wird ein Ereignis am Ausgang
CNFgesendet, um dem aufrufenden Baustein die Fertigstellung zu signalisieren.
Hinweis: Der Index
Kmuss im gültigen Bereich1 … 5liegen. Werte außerhalb dieses Bereichs werden ignoriert oder führen zu einem undefinierten Verhalten – je nach konkreter Implementierung.
Technische Besonderheiten¶
- Generischer Typ: Der FB trägt das Attribut
GenericClassNamemit dem Wert'GEN_AQ_DEMUX'und kann daher als Basis für ähnliche Demultiplexer mit anderer Kanalzahl dienen. - Typ-Hash: Ein eindeutiger Hash (
TypeHash) wird vom Entwicklungwerkzeug verwaltet und dient der Versionskontrolle und Identifikation des Bausteins. - Unidirektionale Adapter: Alle beteiligten Adapter sind vom Typ
adapter::types::unidirectional::AQ, d.h. Daten fließen nur in eine Richtung (vom Eingang zu den Ausgängen). Eine Rückmeldung von den Ausgängen ist nicht vorgesehen.
Zustandsübersicht¶
Der FB durchläuft intern zwei Hauptzustände:
| Zustand | Beschreibung |
|---|---|
| IDLE | Warten auf ein REQ-Ereignis. |
| BUSY | Aktuelle Demultiplex-Operation wird ausgeführt. |
| DONE | Operation abgeschlossen; CNF wird gesendet; Rücksprung zu IDLE. |
Der Übergang von IDLE zu BUSY erfolgt durch ein REQ-Ereignis. Nach erfolgreicher Weiterleitung wechselt der FB kurzzeitig in den Zustand DONE und sendet CNF, bevor er wieder in IDLE zurückkehrt.
Anwendungsszenarien¶
- Kanalumschaltung: Verteilen eines analogen Messwerts (z.B. Temperatur, Druck) an verschiedene übergeordnete Steuerungen, wobei der Zielkanal zur Laufzeit umgeschaltet wird.
- Datenrouting: Weiterleitung eines seriellen Datenstroms (z.B. Modbus-RTU über Adapter) an wechselnde Endgeräte in Abhängigkeit von einer Indexvorgabe.
- Test- und Simulationsumgebungen: Verfahren zum zyklischen Aktivieren verschiedener Ausgänge, indem der Index
Kschrittweise erhöht wird.
Vergleich mit ähnlichen Bausteinen¶
- AQ_DEMUX_N (andere Ausgangsanzahl): Bausteine wie
AQ_DEMUX_2,AQ_DEMUX_8unterscheiden sich nur durch die Anzahl der Ausgangsadapter. Der hier beschriebeneAQ_DEMUX_5bietet genau fünf Kanäle. - AQ_MUX_5 (Multiplexer): Ein Multiplexer kehrt die Richtung um – er liest aus mehreren Eingängen einen aus und gibt einen Wert aus. Der Demultiplexer verteilt dagegen einen Eingang auf mehrere Ausgänge.
- Unidirektionale vs. bidirektionale Demultiplexer: Bidirektionale Varianten (z.B.
AQ_BI_DEMUX) erlauben auch Datenfluss von einem Ausgang zurück zum Eingang, was hier nicht der Fall ist.
Fazit¶
Der AQ_DEMUX_5 ist ein spezialisierter Funktionsblock zur punktuellen Verteilung unidirektionaler AQ-Daten auf fünf Kanäle. Sein generischer Aufbau erleichtert die Wiederverwendung in unterschiedlichen Steuerungssystemen. Die klare Ereignissteuerung (REQ/CNF) und die einfache Indizierung machen ihn zu einem zuverlässigen Element für Anwendungen, die eine dynamische Kanalwahl erfordern.