AIS_SPLIT_2¶
Einleitung¶
Der Funktionsblock AIS_SPLIT_2 ist ein generischer Adapter-Baustein, der einen eingehenden unidirektionalen AIS‑Adapter (Application Interface Socket) auf zwei identische, ausgehende AIS‑Adapter aufteilt. Er dient als passiver Splitter ohne eigene Logik oder Ereignisverarbeitung.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
Nicht vorhanden.
Ereignis-Ausgänge¶
Nicht vorhanden.
Daten-Eingänge¶
Nicht vorhanden.
Daten-Ausgänge¶
Nicht vorhanden.
Adapter¶
- IN (Socket): Typ
adapter::types::unidirectional::AIS– Eingangsschnittstelle für den zu verteilenden Adapter. - OUT1 (Plug): Typ
adapter::types::unidirectional::AIS– erster Ausgang, erhält alle Daten/Ereignisse von IN. - OUT2 (Plug): Typ
adapter::types::unidirectional::AIS– zweiter Ausgang, erhält identische Daten/Ereignisse wie OUT1.
Funktionsweise¶
Der Baustein leitet den am Socket IN anliegenden Adapter unverändert und ohne Verzögerung an beide Plugs OUT1 und OUT2 weiter. Jegliche über den AIS‑Adapter definierten Ereignisse und Daten werden parallel auf beide Ausgänge kopiert. Der FB selbst besitzt keine eigene Verarbeitungslogik, Zustände oder Zeitverhalten.
Technische Besonderheiten¶
- Generische Parametrierung: Der konkrete AIS‑Adapter-Typ wird erst zur Projektierungszeit über das Attribut
eclipse4diac::core::GenericClassNamefestgelegt (Standardwert:'GEN_AIS_SPLIT'). Dadurch kann der Baustein für verschiedene AIS‑Varianten wiederverwendet werden. - Keine Eigenzustände: Da keine ECC‑Zustandsmaschine oder Data‑/Event‑Ein-/Ausgänge vorhanden sind, ist der FB rein passiv und verhält sich wie eine „Verdrahtungshilfe“.
- Unidirektional: Die Adapter sind als unidirektional deklariert – eine Datenflussrichtung von IN zu OUT1/OUT2 ist implizit.
Zustandsübersicht¶
Der AIS_SPLIT_2 besitzt keine eigene Zustandsmaschine. Der Betriebszustand wird ausschließlich durch die jeweils angeschlossenen AIS‑Adapter bestimmt.
Anwendungsszenarien¶
- Parallelverarbeitung: Ein AIS‑Signal soll gleichzeitig von zwei nachfolgenden Funktionsblöcken verarbeitet werden (z. B. Visualisierung und Steuerung).
- Monitoring: Abzweigen eines AIS‑Signals zu einer Überwachungsinstanz, ohne das Originalsignal zu beeinflussen.
- Generische Aufteilung: Einsatz in Bibliotheken, wo die genaue AIS‑Struktur erst zur Laufzeit oder Konfigurationszeit festgelegt wird.
Vergleich mit ähnlichen Bausteinen¶
- AIS_SPLIT_4: Bietet vier Ausgänge statt zwei; ansonsten gleiche Funktionsweise.
- Ereignis‑/Datensplitter: Andere Splitter arbeiten mit einfachen Events oder Daten (z. B. F_SPLIT), während AIS_SPLIT_2 komplette Adapter‑Schnittstellen aufteilt.
- AIS_MERGE: Das Gegenstück, das zwei AIS‑Eingänge zu einem Ausgang zusammenführt.
Fazit¶
Der AIS_SPLIT_2 ist ein minimalistischer, generisch einsetzbarer Adapter‑Splitter, der die flexible Verzweigung von AIS‑Schnittstellen in 4diac‑Projekten ermöglicht. Durch die Parametrierung über das GenericClassName‑Attribut kann er ohne Anpassung des Quellcodes für verschiedene AIS‑Typen verwendet werden.