SPLIT_WORD_INTO_BOOLS
Einleitung
Der Funktionsblock SPLIT_WORD_INTO_BOOLS dient dazu, ein 16-Bit-Wort in seine einzelnen Bits zu zerlegen. Jedes Bit des Eingangswortes wird auf einen separaten BOOL-Ausgang abgebildet. Dies ist besonders nützlich, wenn einzelne Bits eines Wortes weiterverarbeitet oder überwacht werden müssen.
Schnittstellenstruktur
Ereignis-Eingänge
REQ(Normal Execution Request): Startet die Zerlegung des Eingangswortes. Wird mit dem Daten-EingangINverknüpft.
Ereignis-Ausgänge
CNF(Execution Confirmation): Bestätigt die erfolgreiche Zerlegung des Wortes. Wird mit allen 16 BOOL-Ausgängen verknüpft.
Daten-Eingänge
IN(WORD): Das 16-Bit-Wort, das in einzelne Bits zerlegt werden soll.
Daten-Ausgänge
BIT_00bisBIT_15(BOOL): Die einzelnen Bits des Eingangswortes, wobeiBIT_00das niederwertigste Bit (LSB) undBIT_15das höchstwertige Bit (MSB) darstellt.
Adapter
Keine Adapter vorhanden.
Funktionsweise
Der Funktionsblock zerlegt das Eingangswort IN in seine 16 einzelnen Bits und weist diese den entsprechenden BOOL-Ausgängen zu. Die Zuweisung erfolgt direkt über die Bit-Adressierung des WORD-Datentyps (z.B. IN.%X0 für das erste Bit). Bei Auslösung des REQ-Ereignisses werden alle Bits extrahiert und das CNF-Ereignis bestätigt die erfolgreiche Ausführung.
Technische Besonderheiten
Die Bit-Extraktion erfolgt direkt über die Hardware-nahe Bit-Adressierung, was eine effiziente Verarbeitung ermöglicht.
Der Funktionsblock ist deterministisch und hat keine internen Zustände.
Zustandsübersicht
Idle: Wartet auf das
REQ-Ereignis.Processing: Zerlegt das Wort und aktualisiert die Ausgänge.
**Complete
: Löst dasCNF`-Ereignis aus und kehrt in den Idle-Zustand zurück.
Anwendungsszenarien
Verarbeitung von digitalen Eingangssignalen, die als WORD übertragen werden.
Dekodierung von Status- oder Steuerworten in Steuerungssystemen.
Schnittstelle zwischen Wort-basierten und Bit-basierten Systemkomponenten.
⚖️ Vergleich mit ähnlichen Bausteinen
Im Vergleich zu generischen Bit-Manipulationsfunktionen bietet dieser Baustein eine spezialisierte und einfache Schnittstelle für die Zerlegung von Wörtern.
Ähnliche Bausteine könnten eine flexible Anzahl von Bits unterstützen, was hier nicht der Fall ist.
Fazit
Der SPLIT_WORD_INTO_BOOLS-Funktionsblock ist ein einfacher und effizienter Baustein für die Zerlegung von 16-Bit-Wörtern in einzelne Bits. Er eignet sich besonders für Anwendungen, bei denen eine klare und direkte Bit-Extraktion benötigt wird.