STRING_TO_UINT

STRING (Dezimal-Format) in vorzeichenlosen INTEGER

STRING_TO_UINT wandelt eine Zeichenfolge im Dezimalformat in einen Wert vom Datentyp vorzeichenloser INTEGER um.

Zunächst wird die Zeichenfolge in einen Wert vom Datentyp STRING[32] umgewandelt. Das Ergebnis wird anschließend (von einem Unterprogramm mit ca. 270 Schritten) in einen Wert vom Datentyp UINT umgewandelt . Dieses Unterprogramm wird auch von den Funktionen STRING_TO_INT, STRING_TO_WORD, STRING_TO_UDINT und STRING_TO_DWORD verwendet.

Parameter

Eingang

Unnamed input (STRING)

Eingangsdatentyp

Ausgang

Unnamed output (UINT)

Umwandlungsergebnis

Anmerkungen

Zulässiges Format:

´[Leerzeichen][Vorzeichen][Dezimalzahl][Leerzeichen]´ z.B. ' 123456 '

Zulässige Zeichen:

  • Leerzeichen

    Leerzeichen ""

  • Vorzeichen

    "+“ (plus), "-" (minus)

  • Dezimalzahl

    Dezimalzahlen "0" - "9"

Die Analyse endet mit der ersten Nicht-Dezimalzahl.

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		UINT_value: UINT:=0;
		STRING_value: STRING[8]:='543';
	END_VAR

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_VARIN,,STRING_value,13,2,15,4,);
B(B_VAROUT,,UINT_value,24,2,26,4,);
B(B_F,STRING_TO_UINT!,Instance,15,2,24,4,,?D?C);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

UINT_value:=  STRING_TO_UINT(STRING_value);

Letzte Änderung: 2023-12-18Feedback zu dieser SeitePanasonic Hotline