LEN

Longitud de la cadena

LEN calcula la longitud de la cadena de entrada y escribe el resultado en la variable de salida.

Parámetros

Entrada

Unnamed input (STRING)

Datos de entrada

Salida

Unnamed output (INT)

Longitud de la cadena

Observaciones

  • Si esta instrucción se utiliza con caracteres UTF-8, consultar las notas relativas a los caracteres UTF-8 en el tipo de datos STRING.

  • Si las cadenas son más largas que la longitud definida para las variables de entrada (IN1 y IN2) en el campo “Tipo”, se genera un error (para corregir el error, consultar sys_bIsCarry).

Banderas de error

sys_bIsOperationErrorHold (pasa a TRUE y permanece TRUE)

si una cadena aplicada en la entrada o la salida es una cadena no válida.

sys_bIsOperationErrorNonHold (pasa a TRUE para un ciclo de scan)

si una cadena aplicada en la entrada o la salida es una cadena no válida.

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
		input_string: STRING[12]:='Panasonic';
			(*sample string*)
		output_value: INT:=0;
			(*result: here 9*)
	END_VAR

En este ejemplo se ha declarado la variable de entrada input_string). También se puede introducir directamente en la función la cadena ('Panasonic'). La cadena de caracteres debe ir entre comillas simples, tanto en la cabecera de la POU como en la función.

Cuerpo de la POU

La longitud de input_string ('Panasonic’), 9 en este caso, se escribe en output_value.

Cuerpo LD

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,LEN!,Instance,9,0,14,2,,?DIN?C);
B(B_VARIN,,input_string,7,0,9,2,);
B(B_VAROUT,,output_value,14,0,16,2,);
L(1,0,1,2);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

Cuerpo en ST

output_value:=LEN(input_value);

Cuerpo IL

LD

input_value

LEN

ST

output_value

Modificado el: 2022-04-19Comentarios sobre esta páginaPanasonic hotline