ASSEMBLE_DWORD_FROM_BYTES
Einleitung
Der Funktionsblock ASSEMBLE_DWORD_FROM_BYTES kombiniert vier BYTE-Werte zu einem einzigen DWORD-Wert. Dies ist besonders nützlich, wenn Daten aus mehreren Quellen zusammengeführt werden müssen, um sie als eine einzige Einheit zu verarbeiten oder zu speichern.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Startet die Kombination der BYTE-Werte zu einem DWORD. Wird mit den Daten-Eingängen
BYTE_00,BYTE_01,BYTE_02undBYTE_03verknüpft.
Ereignis-Ausgänge
CNF: Signalisiert die erfolgreiche Kombination der BYTE-Werte zu einem DWORD. Der kombinierte DWORD-Wert ist am Daten-Ausgang verfügbar.
Daten-Eingänge
BYTE_00: Erstes Byte des zu kombinierenden DWORD.
BYTE_01: Zweites Byte des zu kombinierenden DWORD.
BYTE_02: Drittes Byte des zu kombinierenden DWORD.
BYTE_03: Viertes Byte des zu kombinierenden DWORD.
Daten-Ausgänge
(unnamed): Der kombinierte DWORD-Wert, der aus den vier Eingabe-Bytes erstellt wurde.
Adapter
Keine Adapter vorhanden.
Funktionsweise
Der Funktionsblock nimmt vier BYTE-Werte entgegen und kombiniert sie zu einem einzigen DWORD-Wert. Die Kombination erfolgt durch direkte Zuweisung der einzelnen Bytes zu den entsprechenden Positionen im DWORD:
BYTE_00wird dem niedrigstwertigen Byte (B0) des DWORD zugewiesen.BYTE_01wird dem nächsten Byte (B1) zugewiesen.BYTE_02wird dem nächsten Byte (B2) zugewiesen.BYTE_03wird dem höchstwertigen Byte (B3) zugewiesen.
Technische Besonderheiten
Der Funktionsblock ist in der ST (Structured Text) Sprache implementiert.
Die Zuweisung der Bytes erfolgt direkt über die
%B0bis%B3Syntax, die auf die einzelnen Bytes des DWORD zugreift.
Zustandsübersicht
Idle: Wartet auf das
REQ-Ereignis.Processing: Bei Empfang von
REQwerden die Eingabe-Bytes kombiniert und der DWORD-Wert berechnet.Completed: Sendet das
CNF-Ereignis mit dem kombinierten DWORD-Wert.
Anwendungsszenarien
Kombination von Daten aus mehreren Sensoren oder Quellen zu einem einzigen Wert.
Vorverarbeitung von Daten für die Übertragung oder Speicherung.
Verwendung in Protokollimplementierungen, wo Daten in Bytes segmentiert und später wieder zusammengesetzt werden müssen.
⚖️ Vergleich mit ähnlichen Bausteinen
Ähnliche Funktionsblöcke könnten einzelne Bytes zu anderen Datentypen (z.B. WORD) kombinieren.
Im Gegensatz zu manuellen Kombinationen in ST-Code bietet dieser Block eine vordefinierte und wiederverwendbare Lösung.
Fazit
Der ASSEMBLE_DWORD_FROM_BYTES-Funktionsblock bietet eine einfache und effiziente Möglichkeit, vier BYTE-Werte zu einem DWORD zu kombinieren. Seine klare Schnittstelle und direkte Implementierung machen ihn zu einem nützlichen Werkzeug in verschiedenen Anwendungsfällen.