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.