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.