Der Funktionsblock SPLIT_AD_INTO_AW dient dazu, einen 32‑Bit‑DWORD‑Wert, der über einen AD‑Adapter (Unidirectional) anliegt, in zwei 16‑Bit‑WORD‑Werte aufzuteilen und diese über zwei separate AW‑Adapter (Unidirectional) auszugeben. Die Aufteilung erfolgt ereignisgesteuert, und die Ausgabedaten werden durch Flip‑Flops stabil gehalten, bis ein neuer Trigger eintrifft. Der Baustein ist als zusammengesetzter FB (Composite) realisiert und nutzt intern den Baustein SPLIT_DWORD_INTO_WORDS sowie zwei E_D_FF_ANY‑Flip‑Flops.
Die Adapter sind als unidirectional ausgelegt:
- AD (Eingang): Über einen Socket bereitgestellt, enthält je einen Ereignis‑ (E1) und Daten‑ (D1) Kanal.
- AW (Ausgang): Über zwei Plugs bereitgestellt, jeweils mit einem Ereignis‑ (E1) und Daten‑ (D1) Kanal.
Ein Ereignis am Eingang IN.E1 triggert die Verarbeitung.
Der aktuelle DWORD‑Wert von IN.D1 wird gelesen und an den internen Baustein SPLIT_DWORD_INTO_WORDS weitergeleitet.
Dieser teilt den 32‑Bit‑Wert in zwei 16‑Bit‑Wörter: WORD_00 (niederwertig) und WORD_01 (höherwertig).
Die beiden Ergebnisse werden parallel in die Flip‑Flops E_D_FF_ANY_00 und E_D_FF_ANY_01 übernommen und dort bis zum nächsten Ereignis gehalten.
Gleichzeitig werden die Ausgangs‑Ereignisse WORD_00.E1 und WORD_01.E1 ausgelöst, die anzeigen, dass die entsprechenden Daten (WORD_00.D1 und WORD_01.D1) gültig sind.
Datensynchronisation: Durch die Flip‑Flops bleiben die Ausgangsdaten stabil, auch wenn der Eingangswert zwischen zwei Ereignissen wechselt. Erst ein neues Ereignis am Eingang aktualisiert beide Ausgänge.
Gleichzeitige Ausgabe: Beide WORD‑Ausgänge werden durch dasselbe Eingangsereignis aktualisiert – es gibt keine zeitliche Staffelung.
Adapter‑Konformität: Der FB ist speziell für die Verwendung mit AD‑ und AW‑ Adaptern ausgelegt und erlaubt eine nahtlose Einbindung in adapterbasierte Datenflüsse.
Der Baustein besitzt keinen expliziten Zustandsautomaten. Das Verhalten ist rein ereignisgesteuert:
- Idle: Warten auf ein Ereignis an IN.E1.
- Verarbeitung: Bei Eintreffen von IN.E1 wird die Aufteilung durchgeführt und die Flip‑Flops gesetzt.
- Ausgabe: Die Ereignisse an den Ausgängen werden genau einmal nach der Verarbeitung ausgelöst.
SPLIT_AD_INTO_AW ist ein praktischer zusammengesetzter Funktionsblock, der die Aufteilung eines DWORD‑Adapter‑Signals in zwei WORD‑Adapter‑Signale vereinfacht. Durch die eingebauten Flip‑Flops und die synchronisierte Ereignisausgabe eignet er sich besonders für zeitkritische und adapterorientierte Anwendungen in industriellen Steuerungen.