WORD_TO_STRING

WORD in STRING

Die Funktion WORD_TO_STRING wandelt einen Wert vom Datentyp WORD in einen Wert vom Datentyp STRING um.

Sie erzeugt eine rechtsbündige Ergebniszeichenfolge in Dezimaldarstellung. Diese wird mit führenden Nullen aufgefüllt, bis die maximale Anzahl der Zeichen erreicht ist, die für diese Zeichenfolge definiert ist.

Parameter

Eingang

Unnamed input (WORD)
Eingangsdatentyp

Ausgang

Unnamed output (STRING)
Umwandlungsergebnis

Anmerkungen

Bei der Verwendung des Datentyps STRING mit Kleinsteuerungen wie FP-e oder FP0 müssen Sie darauf achten, dass die Länge der Ergebniszeichenfolge mindestens so groß ist wie die Länge der Ausgangszeichenfolge.

Beispiel

Eingang

Ausgang definiert als

liefert

16#ABCD

STRING[1]

'D'

STRING[2]

'CD'

STRING[3]

'BCD'

STRING[4]

'ABCD'

STRING[5]

'0ABCD'

STRING[6]

'00ABCD'

und so weiter ...

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
		input_value: WORD:=0;
		result_string: STRING;

Die Eingangsvariable input_value vom Datentyp WORD wird durch den Wert 16#ABCD initialisiert. Die Ausgangsvariable result_string ist vom Datentyp STRING[6]. Sie kann maximal 6 Zeichen speichern. Statt der Variable input_value, können Sie im Rumpf eine Konstante direkt an den Eingang der Funktion schreiben.

POE-Rumpf

input_value vom Datentyp WORD wird in STRING[6] umgewandelt. Der umgewandelte Wert wird in result_string geschrieben. Mit der Variablen input_value = 16#ABCD steht in result_string '00ABCD'.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 2 ;
        NETWORK_BODY
B(B_F,WORD_TO_STRING!,Instance,11,0,21,2,,?D?C);
B(B_VARIN,,input_value,9,0,11,2,);
B(B_VAROUT,,result_string,21,0,23,2,);
L(1,0,1,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

result_string:=WORD_TO_STRING(input_value);

AWL-Rumpf

Beispiel:

POE-Kopf

Dieses Beispiel zeigt, wie man aus einem Eingangswert vom Datentyp WORD einen STRING[4] der Länge 4 erzeugt, in dem der führende Teilstring '16#' abgeschnitten wird.

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
		input_value: WORD:=16#1234;
			(*example value*)
		result_string1: STRING[7]:='';
			(*result: here '0001234'*)
		result_string: STRING[4]:='';
			(*result: here '1234'*)
END_VAR

In diesem Beispiel werden eine Eingangsvariable input_value vom Datentyp WORD sowie eine Ausgangsvariable result_string vom Datentyp STRING[4] deklariert.

POE-Rumpf

Zur Realisierung der geforderten Aufgabe wird der Funktion WORD_TO_STRING zusätzlich die Standardfunktion RIGHT nachgeschaltet. RIGHT erzeugt eine rechtsbündige Zeichenfolge der Länge L.

Im Beispiel liegt am Eingang der RIGHT-Funktion der Ausgangsstring von WORD_TO_STRING an. Am L-Eingang von RIGHT gibt die INT-Konstante 4 die Länge des zu ersetzenden STRING an. Aus der Variablen input_value = 16#1234 wird nach der Typwandlung und der RIGHT-Funktion der Ergebnistring result_string '1234'.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 2 ;
        NETWORK_BODY
B(B_F,WORD_TO_STRING!,Instance,11,0,21,2,,?D?C);
B(B_VARIN,,input_value,9,0,11,2,);
B(B_VAROUT,,result_string1,21,0,23,2,);
L(1,0,1,2);
        END_NETWORK_BODY
    END_NET_WORK
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 5 ;
        NETWORK_BODY
B(B_VARIN,,result_string1,10,2,12,4,);
B(B_VAROUT,,result_string,17,2,19,4,);
B(B_F,RIGHT!,Instance,12,1,17,5,,?DIN?DL?C);
B(B_VARIN,,4,10,3,12,5,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

AWL-Rumpf

Letzte Änderung am: 2021-07-28Feedback zu dieser SeitePanasonic Hotline