F_STRING_AS_DINT
Einleitung
Der Funktionsblock F_STRING_AS_DINT dient der Konvertierung eines STRING-Wertes in einen DINT-Wert. Diese Funktion ist besonders nützlich, wenn Zeichenketten in numerische Werte umgewandelt werden müssen, beispielsweise bei der Verarbeitung von Benutzereingaben oder der Interpretation von Textdaten.
Schnittstellenstruktur
Ereignis-Eingänge
REQ: Startet die Konvertierung. Dieser Eingang ist mit dem Daten-Eingang
INverknüpft.
Ereignis-Ausgänge
CNF: Signalisiert den Abschluss der Konvertierung. Dieser Ausgang ist mit dem Daten-Ausgang
OUTverknüpft.
Daten-Eingänge
IN (
STRING): Der zu konvertierende Zeichenkettenwert.
Daten-Ausgänge
OUT (
DINT): Das Ergebnis der Konvertierung als 32-Bit-Ganzzahl.
Adapter
Es sind keine Adapter vorhanden.
Funktionsweise
Der Funktionsblock führt die Konvertierung durch, sobald das Ereignis REQ ausgelöst wird. Dabei wird der STRING-Wert am Eingang IN in einen DINT-Wert umgewandelt und am Ausgang OUT ausgegeben. Die Konvertierung erfolgt mithilfe der Funktion STRING_AS_DINT. Nach Abschluss der Konvertierung wird das Ereignis CNF ausgelöst.
Technische Besonderheiten
Die Konvertierung kann fehlschlagen, wenn der
STRING-Wert keine gültige numerische Repräsentation enthält. In solchen Fällen kann der AusgangOUTeinen undefinierten Wert annehmen.Der Funktionsblock ist Teil des Pakets
iec61131::conversion.
Zustandsübersicht
Der Funktionsblock besitzt keine internen Zustände. Die Konvertierung erfolgt unmittelbar bei Auslösung des REQ-Ereignisses.
Anwendungsszenarien
Verarbeitung von Benutzereingaben, die als Zeichenketten vorliegen.
Interpretation von Textdaten aus Dateien oder Netzwerkquellen.
Umwandlung von konfigurierbaren Parametern, die als Zeichenketten gespeichert sind.
⚖️ Vergleich mit ähnlichen Bausteinen
Im Gegensatz zu
F_STRING_TO_*-Funktionsblöcken, die explizite Typkonvertierungen durchführen, interpretiertF_STRING_AS_DINTdenSTRING-Wert direkt alsDINT.Ähnliche Funktionsblöcke wie
F_STRING_TO_DINTkönnten zusätzliche Parameter für die Formatierung bieten, sind jedoch in der Standardbibliothek nicht enthalten.
Fazit
Der F_STRING_AS_DINT-Funktionsblock bietet eine einfache und effiziente Möglichkeit, Zeichenketten in 32-Bit-Ganzzahlen umzuwandeln. Seine Verwendung ist besonders in Szenarien sinnvoll, in denen eine direkte Interpretation der Zeichenkette als numerischer Wert erforderlich ist.