F_LREAL_TO_USINT
Einleitung
Der Funktionsblock F_LREAL_TO_USINT dient der Konvertierung eines LREAL-Wertes (64-Bit Gleitkommazahl) in einen USINT-Wert (8-Bit vorzeichenlose Ganzzahl). Diese Konvertierung ist besonders nützlich, wenn Gleitkommazahlen in vorzeichenlose Ganzzahlen umgewandelt werden müssen, z.B. für die Steuerung von Hardware-Registern oder die Kommunikation mit Systemen, die nur Ganzzahlen verarbeiten können.
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: LREAL (64-Bit Gleitkommazahl) – Der Eingabewert, der konvertiert werden soll.
Daten-Ausgänge
OUT: USINT (8-Bit vorzeichenlose Ganzzahl) – Das Ergebnis der Konvertierung.
Adapter
Keine Adapter vorhanden.
Funktionsweise
Der Funktionsblock führt die Konvertierung durch, indem der Algorithmus REQ ausgeführt wird, sobald das Ereignis REQ eintrifft. Der Algorithmus wandelt den LREAL-Wert IN mit der Funktion LREAL_TO_USINT in einen USINT-Wert um und speichert das Ergebnis in OUT. Anschließend wird das Ereignis CNF ausgelöst, um den Abschluss der Konvertierung zu signalisieren.
Technische Besonderheiten
Die Konvertierung schneidet den Gleitkommawert auf einen 8-Bit vorzeichenlosen Integer zu. Es ist zu beachten, dass Werte außerhalb des Bereichs von 0 bis 255 zu unerwarteten Ergebnissen führen können (Überlauf/Unterlauf).
Der Block ist als einfacher Funktionsblock (SimpleFB) implementiert und verwendet einen ST-Algorithmus für die Konvertierung.
Zustandsübersicht
Der Funktionsblock hat keinen internen Zustand. Die Konvertierung erfolgt unmittelbar bei Empfang des REQ-Ereignisses.
Anwendungsszenarien
Umwandlung von Sensorwerten (z.B. Temperatur, Spannung) in vorzeichenlose Ganzzahlen für die Ansteuerung von Hardware.
Kommunikation mit Systemen, die nur Ganzzahlen verarbeiten können (z.B. ältere Steuerungen oder Protokolle).
Datenreduktion, wenn eine hohe Präzision nicht erforderlich ist.
⚖️ Vergleich mit ähnlichen Bausteinen
Im Vergleich zu
F_REAL_TO_USINT(Konvertierung von 32-Bit Gleitkommazahlen) bietet dieser Block eine höhere Eingangspräzision durch die Verwendung von 64-Bit Gleitkommazahlen.Ähnliche Blöcke wie
F_LREAL_TO_INToderF_LREAL_TO_UINTbieten Konvertierungen in andere Ganzzahltypen mit unterschiedlichen Wertebereichen.
🛠️ Zugehörige Übungen
Fazit
Der F_LREAL_TO_USINT-Funktionsblock ist ein einfaches, aber effektives Werkzeug zur Konvertierung von 64-Bit Gleitkommazahlen in 8-Bit vorzeichenlose Ganzzahlen. Er eignet sich besonders für Anwendungen, bei denen eine begrenzte Ausgabegröße erforderlich ist, jedoch sollte der Wertebereich des Eingangssignals beachtet werden, um Überläufe zu vermeiden.