BOOL_TO_STRING

BOOL in STRING

Die Funktion BOOL_TO_STRING wandelt einen Wert vom Datentyp BOOL in einen Wert vom Datentyp STRING[2] um. Der Ergebnisstring wird als '0' oder '1' dargestellt.

Parameter

Eingang

Unnamed input (BOOL)
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: Ergebnis = '0' oder '1'

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: BOOL:=FALSE;
		result_string: STRING;
	END_VAR

Die Eingangsvariable input_value vom Datentyp BOOL wird mit dem Wert TRUE initialisiert. Die Ausgangsvariable result_string ist vom Datentyp STRING[2]. Sie kann maximal zwei Zeichen speichern. Sie können auch eine Zeichenfolge mit mehr als einem Zeichen deklarieren z.B. STRING[5]. Von den reservierten 5 Zeichen würden dann 2 nicht benutzt werden.

Statt der Variablen input_value, können Sie im Rumpf die Konstanten TRUE oder FALSE direkt an den Eingang der Funktion schreiben.

POE-Rumpf

input_value vom Datentyp BOOL wird in STRING[2] umgewandelt. Der umgewandelte Wert wird in result_string geschrieben. Mit der Variable input_value = TRUE steht in result_string '1'.

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_F,BOOL_TO_STRING!,Instance,9,1,19,3,,?D?C);
B(B_VARIN,,input_value,7,1,9,3,);
B(B_VAROUT,,result_string,19,1,21,3,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

ST-Rumpf

IF Boolean_value then
    output_value:=BOOL_TO_STRING(input_value);
END_IF;

AWL-Rumpf

Beispiel: Ergebnis = 'TRUE' oder 'FALSE'

POE-Kopf

Wenn Sie als Ergebnis statt '0' oder '1' 'TRUE' oder 'FALSE' wollen, können Sie die Funktion BOOL_TO_STRING nicht verwenden. Dieses Beispiel zeigt, wie man mit einem Eingangswert vom Datentyp BOOL einen STRING der Länge 5 (STRING[5]) erzeugt, welcher die Zeichen 'TRUE' oder'FALSE' beinhaltet. 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: BOOL:=TRUE;
			(*example value*)
		result_string: STRING[5]:='';
			(*result: here TRUE*)
		@'': @'';
		@'': @'';
	END_VAR	

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

POE-Rumpf

Zur Realisierung der geforderten Aufgabe wird die Standardfunktion MOVE verwendet. Sie weist den Wert ihres Eingangs unverändert dem Ausgang zu. Am Eingang wird die STRING-Konstante 'TRUE' bzw. 'FALSE' angelegt. Es findet eine "BOOL to STRING-Konvertierung" statt, da die boolesche Variable input_variable am EN-Freigabe-Eingang über die Ausgabe des STRING entscheidet.

KOP-Rumpf

BODY
    WOKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORRKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 8 ;
        NETWORK_BODY
B(B_CONTACT,,input_value,3,1,5,3,);
B(B_F,E_MOVE!,Instanz,11,0,17,4,,?DEN?D?AENO?C);
B(B_VARIN,,'TRUE',9,2,11,4,);
B(B_VAROUT,,result_string,17,2,19,4,);
B(B_F,E_MOVE!,Instanz,11,4,17,8,N,?DEN?D?AENO?C);
B(B_VARIN,,'FALSE',9,6,11,8,);
B(B_VAROUT,,result_string,17,6,19,8,);
L(1,2,3,2);
L(5,2,11,2);
L(1,0,1,8);
L(6,2,6,6);
L(6,6,11,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

AWL-Rumpf

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