BOOL_TO_STRING

BOOL a STRING

La función BOOL_TO_STRING convierte un valor del tipo de datos BOOL en un valor del tipo STRING[2]. El Spring resultante será ' 0' ó ' 1'.

Parámetros

Entrada

Unnamed input (BOOL)
Tipo de datos de entrada

Salida

Unnamed output (STRING)
Resultado de la conversión

Observaciones

Cuando se utiliza el tipo de datos STRING con un PLC pequeño como el FP-e o el FP0, asegurarse de que la longitud de la cadena de caracteres destino es igual o superior a la longitud de la cadena fuente.

Ejemplo, cadena resultado = '0' o '1'

Cabecera de la POU

Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

	VAR
		input_value: BOOL:=FALSE;
		result_string: STRING;
	END_VAR

La variable de entrada input_value del tipo de datos BOOL se inicializa a TRUE. La variable de salida result_string es de tipo de STRING[2]. Puede almacenar un máximo de dos caracteres. Se puede declarar una cadena que contenga más de un carácter , como por ejemplo STRING[5]. Solo se utilizan 2 de los 5 caracteres reservados.

En lugar de utilizar la variable input_value, se puede introducir da constante TRUE o FALSE directamente en el contacto de entrada de la función.

Cuerpo de la POU

El valor de input_value del tipo de datos BOOL se convierte a STRING[2]. El resultado de la conversión se almacena en result_string. Si la variable input_value = TRUE, result_string muestra ' 1'.

Cuerpo LD

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

Cuerpo en ST

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

Cuerpo IL

Ejemplo, cadena resultado = 'TRUE' o 'FALSE'

Cabecera de la POU

Si se necesita obtener como resultado 'TRUE' o 'FALSE' en lugar de ' 0' ó ' 1', no se puede utilizar la función BOOL_TO_STRING. Este ejemplo muestra cómo se crea una cadena STRING[5] que contiene los caracteres 'TRUE' o 'FALSE' dependiendo del valor de entrada de tipo BOOL. Todas las variables de entrada y de salida utilizadas para la programación de esta función han sido declaradas en la Cabecera de la POU. Se utiliza la misma cabecera de la POU para todos los lenguajes de programación.

	VAR
		input_value: BOOL:=TRUE;
			(*example value*)
		result_string: STRING[5]:='';
			(*result: here TRUE*)
		@'': @'';
		@'': @'';
	END_VAR	

En este ejemplo, se ha declarado tanto la variable de entrada input_value de tipo BOOL como la variable de salida result_string de tipo STRING[5].

Cuerpo de la POU

Para realizar la operación indicada, se utiliza la función estándar MOVE. Transfiere sin modificar, el valor de la variable de entrada a la variable de salida. En la entrada, se introduce la constante STRING 'TRUE' o 'FALSE'. En realidad se produce una conversión "BOOL to STRING", ya que la variable input_variable en la entrada (EN) decide el valor de la salida STRING.

Cuerpo LD

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

Cuerpo IL

Modificado el: 2021-07-14Comentarios sobre esta páginaLínea directa de Panasonic