SPLIT_LWORD_INTO_QUARTERS¶
🎧 Podcast¶
Einleitung¶
Der Funktionsblock SPLIT_LWORD_INTO_QUARTERS dient zur Extraktion der 32 Quarter Bytes (je 8 Bit) aus einem LWORD (64 Bit). Dies ermöglicht die gezielte Verarbeitung einzelner Byte-Segmente innerhalb eines langen Wortes.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
REQ: Startet die Verarbeitung des EingangswertesIN.
Ereignis-Ausgänge¶
CNF: Bestätigt die erfolgreiche Verarbeitung und liefert alle 32 Quarter Bytes.
Daten-Eingänge¶
IN(LWORD): Das 64-Bit-Eingangswort, das in Quarter Bytes aufgeteilt werden soll.
Daten-Ausgänge¶
32 Ausgänge vom Typ BYTE:
- QUARTER_BYTE_00 bis QUARTER_BYTE_31: Die extrahierten 8-Bit-Segmente des Eingangswortes.
Adapter¶
Keine Adapter vorhanden.
Funktionsweise¶
Der Funktionsblock nutzt Bitoperationen (AND und Rechts-Shift) in Kombination mit Konstanten (quarterconst::LWORD_QUARTER_xx und quarterconst::SHIFT_QUARTER_xx), um jedes der 32 Quarter Bytes aus dem Eingangs-LWORD zu isolieren. Jedes Quarter Byte wird anschließend in einen separaten BYTE-Ausgang geschrieben.
Technische Besonderheiten¶
- Verwendet spezielle Bitmasken und Verschiebungskonstanten für präzise Extraktion
- Arbeitet mit dem größten IEC-Datentyp LWORD (64 Bit)
- Liefert alle 32 Quarter Bytes parallel in einem Durchlauf
Zustandsübersicht¶
- Idle: Wartet auf REQ-Ereignis
- Processing: Extrahiert alle Quarter Bytes
- Output: Trigger CNF-Ereignis mit allen Ausgangswerten
Anwendungsszenarien¶
- Verarbeitung von langen Datenwörtern in Kommunikationsprotokollen
- Extraktion einzelner Parameter aus gepackten Datenstrukturen
- Bitweise Analyse von Sensor- oder Steuerdaten
⚖️ Vergleich mit ähnlichen Bausteinen¶
- Im Gegensatz zu einfachen BYTE-Extraktionsblöcken kann dieser FB alle 32 Segmente gleichzeitig verarbeiten
- Effizienter als mehrere hintereinandergeschaltete Extraktionsblöcke
- Spezialisiert auf die Verarbeitung von LWORD-Datentypen
Fazit¶
Der SPLIT_LWORD_INTO_QUARTERS-Funktionsblock bietet eine hochoptimierte Lösung für die Aufteilung von 64-Bit-Wörtern in ihre einzelnen Byte-Komponenten. Durch die parallele Verarbeitung aller Segmente eignet er sich besonders für Anwendungen, die eine effiziente Verarbeitung großer Datenwörter erfordern.