Registro di spostamento a sinistra
Sposta 1 bit dell'area dati specificata d_WR a sinistra (verso la posizione bit più significativa). Al momento di programmare l'istruzione LSR assicuratevi di programmare l'ingresso dati DataInput, spostate ShiftLeftTrigger e resettate i trigger Reset.
L'area disponibile per questa istruzione è solo il flag interno word (WR).
Intervallo di numeri del flag interno word (WR), dipende dall'area libera nel menu .
Ingresso
Specifica lo stato dei nuovi dati spostati all'interno:
nuovi dati spostati all'interno 1: quando l'ingresso è TRUE
nuovi dati spostati all'interno 0: quando l'ingresso è FALSE
Sposta 1 bit a sinistra quando viene rilevato il fronte di salita del trigger
Imposta tutti i bit dell'area dati su 0 se il trigger è in stato TRUE
Uscita
Area dati specificata dove si verifica lo spostamento dati
Tutte le variabili di ingresso e uscita utilizzate per programmare questa funzione sono state dichiarate nell'intestazione del POU. La stessa intestazione del POU è utilizzata per tutti i linguaggi di programmazione.
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);