F_INT_TO_USINT¶
Einleitung¶
Der Funktionsblock F_INT_TO_USINT dient der Konvertierung eines ganzzahligen Wertes vom Datentyp INT (16-Bit Ganzzahl mit Vorzeichen) in den Datentyp USINT (8-Bit Ganzzahl ohne Vorzeichen). Dieser Baustein ist besonders nützlich in Szenarien, wo eine Typumwandlung zwischen unterschiedlich großen numerischen Werten erforderlich ist.
Schnittstellenstruktur¶
Ereignis-Eingänge¶
- REQ (Typ:
Event): Startet die Ausführung der Konvertierung. Der Eingang ist mit dem Daten-EingangINverknüpft.
Ereignis-Ausgänge¶
- CNF (Typ:
Event): Signalisiert den erfolgreichen Abschluss der Konvertierung. Der Ausgang ist mit dem Daten-AusgangOUTverknüpft.
Daten-Eingänge¶
- IN (Typ:
INT): Der Eingangswert, der konvertiert werden soll.
Daten-Ausgänge¶
- OUT (Typ:
USINT): Das Ergebnis der Konvertierung vonINTzuUSINT.
Adapter¶
Dieser Funktionsblock verfügt über keine Adapter-Schnittstellen.
Funktionsweise¶
Bei Auslösung des Ereigniseingangs REQ wird der Algorithmus des Funktionsblocks ausgeführt. Dieser wandelt den Wert am Daten-Eingang IN vom Typ INT in den Typ USINT um und speichert das Ergebnis im Daten-Ausgang OUT. Anschließend wird das Ereignis CNF ausgelöst, um den erfolgreichen Abschluss der Operation zu signalisieren.
Technische Besonderheiten¶
- Die Konvertierung erfolgt durch die Funktion
INT_TO_USINT, die denINT-Wert in einenUSINT-Wert umwandelt. Dabei kann es zu einem Datenverlust kommen, wenn der ursprünglicheINT-Wert außerhalb des darstellbaren Bereichs vonUSINT(0 bis 255) liegt. - Der Funktionsblock ist Teil des Pakets
iec61131::conversion, das verschiedene Typkonvertierungen bereitstellt.
Zustandsübersicht¶
Der Funktionsblock besitzt keine internen Zustände. Die Ausführung erfolgt unmittelbar bei Empfang des REQ-Ereignisses.
Anwendungsszenarien¶
- Typkonvertierung in Steuerungsanwendungen, wo unterschiedliche Datentypen verarbeitet werden müssen.
- Reduzierung der Speicherbelegung durch Konvertierung in kleinere Datentypen, wo möglich.
- Vorbereitung von Daten für die Kommunikation mit Systemen, die nur
USINT-Werte verarbeiten können.
⚖️ Vergleich mit ähnlichen Bausteinen¶
- Ähnliche Funktionsblöcke wie
F_DINT_TO_USINToderF_SINT_TO_USINTbieten Konvertierungen von anderen Ganzzahltypen zuUSINT.F_INT_TO_USINTist spezifisch für die Umwandlung vonINTzuUSINToptimiert. - Im Gegensatz zu generischen Konvertierungsblöcken bietet dieser Baustein eine direkte und effiziente Lösung für die spezifische Typumwandlung.
Fazit¶
Der F_INT_TO_USINT Funktionsblock ist ein einfacher und effizienter Baustein zur Konvertierung von INT- zu USINT-Werten. Er eignet sich ideal für Anwendungen, die eine präzise und spezifische Typumwandlung erfordern, insbesondere in Umgebungen mit begrenzten Ressourcen oder spezifischen Datentypanforderungen.