ASSEMBLE_DWORD_FROM_BYTES

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_02 und BYTE_03 verknü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_00 wird dem niedrigstwertigen Byte (B0) des DWORD zugewiesen.

  • BYTE_01 wird dem nächsten Byte (B1) zugewiesen.

  • BYTE_02 wird dem nächsten Byte (B2) zugewiesen.

  • BYTE_03 wird 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 %B0 bis %B3 Syntax, die auf die einzelnen Bytes des DWORD zugreift.

Zustandsübersicht

  1. Idle: Wartet auf das REQ-Ereignis.

  2. Processing: Bei Empfang von REQ werden die Eingabe-Bytes kombiniert und der DWORD-Wert berechnet.

  3. 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.