AI_SPLIT_3¶
Einleitung¶
Der Funktionsblock AI_SPLIT_3 ist ein generischer Baustein zur Vervielfältigung eines analogen Eingangssignals (AI). Er teilt ein eingehendes AI-Signal auf drei separate, identische Ausgangssignale auf. Der Baustein ist vollständig über Adapter vom Typ AI definiert und arbeitet rein datenflussorientiert ohne eigene Ereignis- oder Datenpunkt‑Schnittstellen.
Schnittstellenstruktur¶
Der Baustein bietet keine direkten Ereignis‑ oder Daten‑Ein‑/Ausgänge. Die gesamte Kommunikation erfolgt über Adapter.
Ereignis-Eingänge¶
Keine vorhanden.
Ereignis-Ausgänge¶
Keine vorhanden.
Daten-Eingänge¶
Keine direkten Daten‑Eingänge – das AI‑Signal wird über den Socket‑Adapter IN aufgenommen.
Daten-Ausgänge¶
Keine direkten Daten‑Ausgänge – die drei identischen AI‑Signale werden über die Plug‑Adapter OUT1, OUT2 und OUT3 bereitgestellt.
Adapter¶
| Richtung | Bezeichnung | Typ | Beschreibung |
|---|---|---|---|
| Socket | IN |
ADAPTER_AI |
Eingehendes analoges Signal (Quelle) |
| Plug | OUT1 |
ADAPTER_AI |
Erster Ausgang – identisch zum Eingangssignal |
| Plug | OUT2 |
ADAPTER_AI |
Zweiter Ausgang – identisch zum Eingangssignal |
| Plug | OUT3 |
ADAPTER_AI |
Dritter Ausgang – identisch zum Eingangssignal |
Die Adapter sind vom Typ adapter::types::unidirectional::AI. Der Baustein ist generisch, d. h. die konkrete Datenstruktur des AI‑Signals (z. B. Wert, Einheit, Status) wird erst bei der Instanziierung durch die angebundenen Adapter festgelegt.
Funktionsweise¶
Der Funktionsblock leitet das über den Socket IN empfangene analoge Signal unverändert und gleichzeitig an alle drei Plug‑Adapter OUT1, OUT2 und OUT3 weiter. Es findet keine Signalumformung, Verstärkung oder Verzögerung statt. Der Baustein fungiert als reiner 1‑zu‑3‑Splitter.
Da keine Ereignisse oder Zustandsautomaten vorhanden sind, erfolgt die Weitergabe rein über den Datenfluss. Sobald ein neues AI‑Signal am IN anliegt, steht es an allen drei Ausgängen zur Verfügung.
Technische Besonderheiten¶
- Generischer Baustein: Der FB ist mithilfe von
eclipse4diac::core::GenericClassNameals'GEN_AI_SPLIT'gekennzeichnet. Dadurch kann er in verschiedenen Anwendungen für unterschiedliche AI‑Datentypen verwendet werden, ohne dass der Funktionsblock selbst angepasst werden muss. - Reine Adapter‑Schnittstelle: Es werden keine direkten Ereignis‑ oder Daten‑Ein‑/Ausgänge benötigt. Die gesamte Datenübertragung erfolgt über die Adapter, was eine flexible Kopplung mit anderen Bausteinen ermöglicht.
- Keine Zustandslogik: Der Baustein besitzt keinen eigenen Zustandsautomaten (ECC) – die Funktionalität ist rein datenflussbasiert und daher sehr leichtgewichtig.
Zustandsübersicht¶
Der Baustein verfügt über keine Zustandsmaschine oder internen Zustände. Die Signale werden direkt und ohne Verzögerung weitergeleitet. Eine Zustandsübersicht entfällt daher.
Anwendungsszenarien¶
- Signalverteilung in Automatisierungssystemen: Ein analoger Messwert (z. B. Drucksensor, Temperatur) soll an mehrere Steuerungs‑ oder Überwachungseinheiten übergeben werden.
- Redundanz und Parallelverarbeitung: Das gleiche AI‑Signal wird für unterschiedliche Algorithmen parallel benötigt (z. B. Regelung, Alarmierung, Protokollierung).
- Testumgebungen: Ein simulierte Analogwert kann gleichzeitig an mehrere zu testende Bausteine verteilt werden.
Vergleich mit ähnlichen Bausteinen¶
- AI_SPLIT_2: Verteilt das Eingangssignal auf zwei statt drei Ausgänge.
- AI_SPLIT_4 / AI_SPLIT_N: Erweiterte Versionen mit vier oder mehr Ausgängen (falls vorhanden).
- AI_SELECT: Wählt aus mehreren Eingängen einen aus, anstatt ein Signal zu vervielfältigen.
- AI_MERGE: Fasst mehrere AI‑Eingänge zu einem Ausgang zusammen (Gegenstück zum Splitter).
Gemeinsam ist allen Split‑Bausteinen, dass sie das Eingangssignal ohne Veränderung an alle Ausgänge weiterleiten. Der AI_SPLIT_3 stellt eine typische 3‑fach‑Ausführung dar.
Fazit¶
Der AI_SPLIT_3 ist ein einfacher, aber effektiver Baustein zur Vervielfältigung eines analogen Signals auf drei Ausgänge. Durch seine generische Natur und die Verwendung von Adaptern fügt er sich nahtlos in Adapter‑basierte 4diac‑Applikationen ein. Er eignet sich ideal für Anwendungen, in denen ein AI‑Wert an mehrere Verbraucher verteilt werden muss, ohne zusätzliche Logik oder Konfiguration.