F_UDINT_TO_WORD
Einleitung
Der Funktionsblock F_UDINT_TO_WORD dient der Konvertierung eines 32-Bit unsignierten Integer-Werts (UDINT) in einen 16-Bit unsignierten Integer-Wert (WORD). Diese Konvertierung ist insbesondere in Szenarien erforderlich, in denen Daten zwischen Systemen mit unterschiedlichen Wortbreiten ausgetauscht werden müssen.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Startet die Konvertierung. Der Eingang ist mit dem Daten-Eingang
INverknüpft.
Ereignis-Ausgänge
CNF: Signalisiert den Abschluss der Konvertierung. Der Ausgang ist mit dem Daten-Ausgang
OUTverknüpft.
Daten-Eingänge
IN (UDINT): Der 32-Bit unsignierte Integer-Wert, der konvertiert werden soll.
Daten-Ausgänge
OUT (WORD): Der resultierende 16-Bit unsignierte Integer-Wert nach der Konvertierung.
Adapter
Keine Adapter vorhanden.
Funktionsweise
Der Funktionsblock führt die Konvertierung von UDINT zu WORD durch, indem der Algorithmus REQ ausgeführt wird. Dabei wird der Eingangswert IN vom Typ UDINT in einen WORD-Wert umgewandelt und am Ausgang OUT ausgegeben. Die Konvertierung erfolgt synchron mit dem Ereignis REQ, und das Ergebnis wird mit dem Ereignis CNF bestätigt.
Technische Besonderheiten
Die Konvertierung schneidet die höherwertigen 16 Bits des UDINT-Werts ab, da ein WORD nur 16 Bits umfasst.
Der Funktionsblock ist Teil des Pakets
iec61131::conversion.
Zustandsübersicht
Der Funktionsblock besitzt keinen internen Zustand. Die Konvertierung wird bei jedem Ereignis REQ neu ausgeführt.
Anwendungsszenarien
Datenreduktion von 32-Bit auf 16-Bit in eingebetteten Systemen.
Kompatibilität mit älteren Systemen, die nur 16-Bit-Daten verarbeiten können.
Speicheroptimierung in ressourcenbeschränkten Umgebungen.
⚖️ Vergleich mit ähnlichen Bausteinen
Im Vergleich zu
F_DINT_TO_WORDoderF_INT_TO_WORDverarbeitet dieser Baustein unsignierte Werte.Ähnliche Bausteine wie
F_UDINT_TO_DWORDführen keine Reduktion der Bitbreite durch.
Fazit
Der F_UDINT_TO_WORD Funktionsblock bietet eine einfache und effiziente Möglichkeit, 32-Bit unsignierte Integer-Werte in 16-Bit unsignierte Integer-Werte umzuwandeln. Er ist besonders nützlich in Szenarien, wo eine Reduktion der Datenbreite erforderlich ist, ohne die grundlegende Semantik der Daten zu verändern.