Longitud de la cadena
LEN calcula la longitud de la cadena de entrada y escribe el resultado en la variable de salida.
Entrada
Datos de entrada
Salida
Longitud de la cadena
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).
si una cadena aplicada en la entrada o la salida es una cadena no válida.
si una cadena aplicada en la entrada o la salida es una cadena no válida.
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.
La longitud de input_string ('Panasonic’), 9 en este caso, se escribe en output_value.
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
output_value:=LEN(input_value);
LD |
input_value |
LEN |
|
ST |
output_value |