F_LWORD_TO_UDINT
Einleitung
Der Funktionsblock F_LWORD_TO_UDINT dient der Konvertierung eines LWORD-Wertes (64-Bit unsigned integer) in einen UDINT-Wert (32-Bit unsigned integer). Diese Konvertierung ist nützlich, wenn Daten zwischen Systemen mit unterschiedlichen Wortbreiten übertragen oder verarbeitet werden müssen.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Startet die Konvertierung. Dieser Eingang ist mit dem Daten-EingangINverbunden.
Ereignis-Ausgänge
CNF: Signalisiert den Abschluss der Konvertierung. Dieser Ausgang ist mit dem Daten-AusgangOUTverbunden.
Daten-Eingänge
IN(LWORD): Der zu konvertierende 64-Bit unsigned integer Wert.
Daten-Ausgänge
OUT(UDINT): Der resultierende 32-Bit unsigned integer Wert nach der Konvertierung.
Adapter
Dieser Funktionsblock verwendet keine Adapter.
Funktionsweise
Bei Auslösung des REQ-Ereignisses wird der Wert von IN von LWORD in UDINT konvertiert und das Ergebnis an OUT ausgegeben. Das CNF-Ereignis signalisiert die erfolgreiche Beendigung der Konvertierung.
Die Konvertierung erfolgt durch die Funktion LWORD_TO_UDINT, welche die unteren 32 Bit des LWORD-Wertes als UDINT zurückgibt.
Technische Besonderheiten
Der Funktionsblock ist für die Verwendung in Echtzeitsystemen geeignet.
Die Konvertierung ist deterministisch und hat eine konstante Ausführungszeit.
Bei Werten größer als der maximale
UDINT-Wert (2^32 - 1) wird der Wert abgeschnitten.
Zustandsübersicht
Der Funktionsblock hat keine internen Zustände. Die Konvertierung erfolgt unmittelbar bei Auslösung des REQ-Ereignisses.
Anwendungsszenarien
Kommunikation zwischen Systemen mit unterschiedlichen Wortbreiten.
Verarbeitung von Daten aus externen Quellen, die 64-Bit Werte liefern, aber nur 32-Bit Werte benötigt werden.
Reduzierung der Speichernutzung bei bekannten kleinen Wertebereichen.
⚖️ Vergleich mit ähnlichen Bausteinen
F_LWORD_TO_DINT: Konvertiert in einen 32-Bit signed integer.F_LWORD_TO_UINT: Konvertiert in einen 16-Bit unsigned integer.F_LWORD_TO_WORD: Konvertiert in einen 16-Bit Wert ohne Vorzeichen.
Fazit
Der F_LWORD_TO_UDINT Funktionsblock bietet eine einfache und effiziente Möglichkeit, 64-Bit Werte in 32-Bit Werte zu konvertieren. Er ist besonders nützlich in Systemen, die mit unterschiedlichen Wortbreiten arbeiten müssen.