INT_TO_STRING

INTEGER a STRING

La función INT_TO_STRING convierte un valor del tipo de datos INT en un valor del tipo STRING.

Genera un string con el resultado en representación decimal y justificado a la derecha. Se rellena con espacios vacíos hasta alcanzar el número de caracteres definidos en el string.

Parámetros

Entrada

Unnamed input (INT)
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

Función

String1 definido como

Resultado

String1:=INT_TO_STRING(-12345)

STRING[1]

'5'

STRING[2]

'45'

STRING[3]

'345'

STRING[4]

'2345'

STRING[5]

'12345'

STRING[6]

'-12345'

STRING[7]

STRING[8]

y así sucesivamente ...

Ejemplo

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
		INT_value: INT:=-12345;
			(*example value*)
		result_string: STRING[8]:='';
			(*result: here '-12345'*)
		@'': @'';
	END_VAR

La variable de entrada INT_value del tipo de datos INT se inicializa a -12345. La variable de salida result_string es de tipo de STRING[8]. Puede almacenar un máximo de 8 caracteres. En lugar de utilizar la variable INT_value, se puede introducir directamente una constante en el contacto de entrada de la función.

Cuerpo de la POU

El valor de INT_value del tipo de datos INT se convierte a STRING[8]. El resultado de la conversión se almacena en result_string. Si la variable INT_value = -12345, result_string muestra '-12345'.

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,INT_TO_STRING!,Instance,9,2,18,4,,?D?C);
B(B_VARIN,,INT_value,7,2,9,4,);
B(B_VAROUT,,result_string,18,2,20,4,);
L(1,0,1,5);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

result_string:= INT_TO_STRING(input_value);

Cuerpo IL

Ejemplo

Cabecera de la POU

Este ejemplo muestra cómo crear un STRING[2] que almacena un valor de tipo INT justificándolo a la derecha.

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
		INT_value: INT:=12;
			(*example value*)
		result_string: STRING[2]:='';
			(*result: here '12'*)
		@'': @'';
		@'': @'';
	END_VAR

En este ejemplo, se ha declarado tanto la variable de entrada INT_value de tipo INT como la variable de salida result_string de tipo STRING[2].

Cuerpo de la POU

Para ejecutar la operación en cuestión, se ha conectado la función estándar RIGHT a la función INT_TO_STRING. RIGHT crea un cadena de caracteres justificados a la derecha de longitud L.

En este ejemplo, la variable INT_variable = 12 se convierte a través de INT_TO_STRING en '12'. La función RIGHT proporciona el resultado result_string '12'.

Cuerpo LD

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 9 ;
        NETWORK_BODY
B(B_F,INT_TO_STRING!,Instance,8,1,17,3,,?D?C);
B(B_VARIN,,input_string,6,1,8,3,);
B(B_F,INSERT!,Instance,4,4,9,9,,?DIN1?DIN2?DP?C);
B(B_VARIN,,'~',2,6,4,8,);
B(B_VARIN,,8,2,7,4,9,);
B(B_F,INSERT!,Instance,12,4,17,9,,?DIN1?DIN2?DP?C);
B(B_F,INSERT!,Instance,19,4,24,9,,?DIN1?DIN2?DP?C);
B(B_VAROUT,,result_string,24,5,26,7,);
B(B_VARIN,,'~',10,6,12,8,);
B(B_VARIN,,5,10,7,12,9,);
B(B_VARIN,,'~',17,6,19,8,);
B(B_VARIN,,2,17,7,19,9,);
L(1,0,1,9);
L(9,6,12,6);
L(17,6,19,6);
L(17,2,19,2);
L(3,4,3,6);
L(3,6,4,6);
L(3,3,19,3);
L(3,3,3,4);
L(19,2,19,3);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

result_string:=RIGHT(IN:=INT_TO_STRING(input_value), L:=2);

Cuerpo IL

Temas relacionados

Modificado el: 2023-12-15Comentarios sobre esta páginaLínea directa de Panasonic