Desplazamiento a la izquierda
Desplaza 1 bit hacia la izquierda (hacia el bit más significativo) del área de datos especificada en d_WR. Cuando se programa la instrucción LSR, son obligatorias las siguientes entradas: bit de entrada DataInput, condición de ejecución del desplazamiento ShiftLeftTrigger y entrada de reset Reset.
Como área de datos fuente solo se puede utilizar una palabra de relés internos (WR).
El rango para especificar la palabra de relés internos (WR) depende del área libre configurada en el menú .
Entrada
Especifica el estado del bit que se va a introducir para realizar el desplazamiento:
el bit de desplazamiento es 1: la entrada está a TRUE
el bit de desplazamiento es 0: la entrada está a FALSE
Desplaza 1 bit a la izquierda en el flanco de subida de la condición de ejecución
Pone a 0 todos los bits del área de datos cuando la entrada de trigger está a TRUE
Salida
Especifica el área de datos sobre la que se va a producir el desplazamiento
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
Output: INT:=0;
DataInput: BOOL:=FALSE;
ShiftTrigger: BOOL:=FALSE;
ResetTrigger: BOOL:=FALSE;
END_VAR
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,LSR!,Instance,10,0,20,5,,?DDataInput?DShiftLeftTrigger?DReset?Cd_WR);
B(B_VARIN,,DataInput,8,1,10,3,);
B(B_VARIN,,ShiftTrigger,8,2,10,4,);
B(B_VARIN,,ResetTrigger,8,3,10,5,);
B(B_VAROUT,,Output,20,1,22,3,);
L(1,0,1,5);
END_NETWORK_BODY
END_NET_WORK
END_BODY
Output:=LSR(DataInput, ShiftTrigger, ResetTrigger);