F_UDINT_TO_INT
Einleitung
Der Funktionsblock F_UDINT_TO_INT dient der Konvertierung eines UDINT-Wertes (32-Bit vorzeichenlose Ganzzahl) in einen INT-Wert (16-Bit vorzeichenbehaftete Ganzzahl). Diese Konvertierung ist nützlich, wenn Daten zwischen Systemen oder Komponenten ausgetauscht werden müssen, die unterschiedliche Datentypen verwenden.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Normaler Ausführungsanforderung. Löst die Konvertierung aus.
Ereignis-Ausgänge
CNF: Ausführungsbestätigung. Wird nach erfolgreicher Konvertierung ausgelöst.
Daten-Eingänge
IN (
UDINT): Der Eingabewert, der konvertiert werden soll.
Daten-Ausgänge
OUT (
INT): Der konvertierte Ausgabewert.
Adapter
Keine Adapter vorhanden.
Funktionsweise
Der Funktionsblock führt die Konvertierung von UDINT zu INT durch, wenn das REQ-Ereignis empfangen wird. Der Algorithmus nutzt die eingebaute Funktion UDINT_TO_INT, um die Konvertierung durchzuführen. Nach erfolgreicher Konvertierung wird das CNF-Ereignis ausgelöst, und der konvertierte Wert steht am OUT-Ausgang zur Verfügung.
Technische Besonderheiten
Die Konvertierung kann zu Datenverlust führen, wenn der
UDINT-Wert außerhalb des darstellbaren Bereichs vonINTliegt (d.h., größer als 32767 oder kleiner als -32768).Der Funktionsblock ist einfach und hat keine internen Zustände oder komplexe Logik.
Zustandsübersicht
Der Funktionsblock hat keinen internen Zustand. Er reagiert ausschließlich auf das REQ-Ereignis und führt die Konvertierung unmittelbar durch.
Anwendungsszenarien
Datenkonvertierung in Steuerungssystemen, wo unterschiedliche Datentypen verwendet werden.
Integration von Komponenten, die unterschiedliche Datentypen erwarten oder liefern.
Protokollierung oder Anzeige von Daten, die ursprünglich als
UDINTgespeichert sind, aber alsINTdargestellt werden sollen.
⚖️ Vergleich mit ähnlichen Bausteinen
F_DINT_TO_INT: Konvertiert
DINT(32-Bit vorzeichenbehaftet) zuINT.**F_UDINT_TO_DINT
: KonvertiertUDINTzuDINT(32-Bit vorzeichenbehaftet), ohne Datenverlust, da der Wertebereich vonDINT` größer ist.F_INT_TO_UDINT: Führt die umgekehrte Konvertierung durch (
INTzuUDINT).
Fazit
Der F_UDINT_TO_INT-Funktionsblock ist ein einfaches und effizientes Werkzeug zur Konvertierung von UDINT- zu INT-Werten. Er ist besonders nützlich in Szenarien, wo eine solche Typumwandlung erforderlich ist, jedoch sollte auf möglichen Datenverlust bei großen Werten geachtet werden.