F_UINT_TO_LINT¶
Einleitung¶
Der Funktionsblock F_UINT_TO_LINT dient der Konvertierung eines vorzeichenlosen 16-Bit-Integer-Werts (UINT) in einen vorzeichenbehafteten 64-Bit-Integer-Wert (LINT). Diese Konvertierung ist besonders nützlich, wenn Daten zwischen Systemen mit unterschiedlicher Wortbreite ausgetauscht oder verarbeitet werden müssen.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
- REQ: Startet die Ausführung der 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: Der Eingangswert vom Typ
UINT, der in einenLINT-Wert konvertiert werden soll.
Daten-Ausgänge¶
- OUT: Der konvertierte Ausgangswert vom Typ
LINT.
Adapter¶
- Es sind keine Adapter vorhanden.
Funktionsweise¶
Der Funktionsblock führt eine direkte Zuweisung des Eingangswerts IN zum Ausgang OUT durch. Da LINT einen größeren Wertebereich als UINT besitzt, ist die Konvertierung verlustfrei. Der Block wird durch das Ereignis REQ aktiviert und signalisiert den Abschluss der Operation mit dem Ereignis CNF.
Technische Besonderheiten¶
- Verlustfreie Konvertierung: Da
LINT(64 Bit) einen größeren Wertebereich alsUINT(16 Bit) abdeckt, geht bei der Konvertierung keine Information verloren. - Einfache Implementierung: Der Block verwendet einen einfachen Algorithmus zur direkten Zuweisung der Werte.
Zustandsübersicht¶
- Idle-Zustand: Der Block wartet auf das Ereignis
REQ. - Aktivierungszustand: Bei Empfang von
REQwird der EingangswertINgelesen und konvertiert. - Bestätigungszustand: Nach erfolgreicher Konvertierung wird das Ereignis
CNFausgelöst und der Block kehrt in den Idle-Zustand zurück.
Anwendungsszenarien¶
- Datenkonvertierung: In Systemen, die sowohl 16-Bit- als auch 64-Bit-Daten verarbeiten müssen.
- Schnittstellenanpassung: Bei der Kommunikation zwischen Geräten mit unterschiedlicher Wortbreite.
- Datenverarbeitung: In Algorithmen, die höhere Präzision für Berechnungen benötigen.
⚖️ Vergleich mit ähnlichen Bausteinen¶
- F_UINT_TO_INT: Konvertiert
UINTzuINT(16 Bit), aber mit Vorzeichenbehaftung. - F_UINT_TO_DINT: Konvertiert
UINTzuDINT(32 Bit), bietet mehr Wertebereich alsINT, aber weniger alsLINT. - F_UINT_TO_ULINT: Konvertiert
UINTzuULINT(64 Bit), bleibt vorzeichenlos.
Fazit¶
Der F_UINT_TO_LINT-Funktionsblock ist ein einfaches und effizientes Werkzeug zur Konvertierung von 16-Bit- vorzeichenlosen Integer-Werten in 64-Bit- vorzeichenbehaftete Integer-Werte. Seine verlustfreie Konvertierung und einfache Handhabung machen ihn ideal für Anwendungen, die eine höhere Präzision oder Kompatibilität mit 64-Bit-Systemen erfordern.