LSR

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.

NOTA
  • 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ú Extras > Opciones > Opciones de Compilación > Rangos de dirección.

Parámetros

Entrada

DataInput (BOOL)

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

ShiftLeftTrigger (BOOL)

Desplaza 1 bit a la izquierda en el flanco de subida de la condición de ejecución

Reset (BOOL)

Pone a 0 todos los bits del área de datos cuando la entrada de trigger está a TRUE

Salida

d_WR (WORD, INT, UINT)

Especifica el área de datos sobre la que se va a producir el desplazamiento

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
		Output: INT:=0;
		DataInput: BOOL:=FALSE;
		ShiftTrigger: BOOL:=FALSE;
		ResetTrigger: BOOL:=FALSE;
	END_VAR

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,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

Cuerpo en ST

Output:=LSR(DataInput, ShiftTrigger, ResetTrigger);

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