F_USINT_TO_DINT¶
Einleitung¶
Der Funktionsblock F_USINT_TO_DINT dient der Konvertierung eines USINT-Wertes (8-Bit unsigned integer) in einen DINT-Werte (32-Bit signed integer). Diese Konvertierung ist nützlich, wenn Werte zwischen verschiedenen Datentypen umgewandelt werden müssen, insbesondere wenn eine Erweiterung der Bitbreite erforderlich ist.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
- REQ: Startet die Konvertierung. Bei Auslösung dieses Ereignisses wird der Wert von
INinOUTumgewandelt.
Ereignis-Ausgänge¶
- CNF: Signalisiert den Abschluss der Konvertierung. Dieses Ereignis wird zusammen mit dem aktualisierten Wert von
OUTausgegeben.
Daten-Eingänge¶
- IN (
USINT): Der Eingangswert, der konvertiert werden soll.
Daten-Ausgänge¶
- OUT (
DINT): Der konvertierte Ausgangswert.
Adapter¶
Keine Adapter vorhanden.
Funktionsweise¶
Der Funktionsblock führt eine direkte Zuweisung des Eingangswertes IN (vom Typ USINT) an den Ausgang OUT (vom Typ DINT) durch. Da DINT eine größere Bitbreite hat als USINT, wird der Wert ohne Datenverlust erweitert.
Der Algorithmus wird durch das REQ-Ereignis ausgelöst und gibt nach der Konvertierung das CNF-Ereignis aus.
Technische Besonderheiten¶
- Der Funktionsblock ist deterministisch und hat keine internen Zustände.
- Die Konvertierung ist verlustfrei, da
DINTalle Werte vonUSINTdarstellen kann.
Zustandsübersicht¶
Der Funktionsblock hat keine internen Zustände. Die Ausführung erfolgt unmittelbar nach dem Auslösen des REQ-Ereignisses.
Anwendungsszenarien¶
- Erweiterung von 8-Bit unsigned Werten auf 32-Bit signed Werte in Steuerungsanwendungen.
- Kompatibilität zwischen verschiedenen Teilen eines Steuerungssystems, die unterschiedliche Datentypen verwenden.
⚖️ Vergleich mit ähnlichen Bausteinen¶
- Im Vergleich zu
F_SINT_TO_DINToderF_INT_TO_DINTbehandelt dieser Baustein ausschließlich unsigned 8-Bit Werte. - Ähnliche Konvertierungsbausteine existieren für andere Datentypen, wie z.B.
F_BOOL_TO_INToderF_REAL_TO_LREAL.
Fazit¶
Der F_USINT_TO_DINT-Funktionsblock ist ein einfacher und effizienter Baustein zur Konvertierung von 8-Bit unsigned Integer-Werten in 32-Bit signed Integer-Werte. Er ist besonders nützlich in Szenarien, wo eine Typenerweiterung ohne Datenverlust erforderlich ist.