Skip to main content

Operatore: SHL

L'operatore IEC viene utilizzato per lo spostamento bit per bit di un operando a sinistra.

erg := SHL (in, n)

in: Operando spostato a sinistra

n: Numero di bit da spostare in A sinistra

Importante

Se n supera la larghezza del tipo di dati, quindi dipende dal sistema di destinazione come il BYTE, WORD, DWORD, e LWORD gli operandi sono imbottiti. I sistemi di destinazione causano il riempimento con zeri o n MOD <dimensione registro>.

Importante

Annotare il numero di bit che CODESYS utilizza per questa operazione come definito dal tipo di dati della variabile di input in.

Esempio 118. Esempi

I risultati per erg_byte e erg_word sono diversi, anche se i valori di in_byte e in_word le variabili di input sono le stesse e i tipi di dati delle variabili di input sono diversi.

ST

PROGRAM shl_st
VAR
  in_byte : BYTE := 16#45; (* 2#01000101 )
  in_word : WORD := 16#0045; (* 2#0000000001000101 )
  erg_byte : BYTE;
  erg_word : WORD;
  n: BYTE := 2;
END_VAR

erg_byte := SHL(in_byte,n); (* Result is 16#14, 2#00010100 *)
erg_word := SHL(in_word,n); (* Result is 16#0114, 2#0000000100010100 *)

FBD

_cds_img_shl.png