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.