Der IEC-Operator dient dem bitweisen Verschieben eines Operanden nach links.
erg := SHL (in, n)
in
: Operand, der nach links verschoben wird.
n
: Anzahl der Bits, um die in
nach links verschoben wird.




HINWEIS

Wenn n
die Datentyp-Breite überschreitet, hängt es vom Zielsystem ab, wie BYTE
, WORD
, DWORD
und LWORD
Operanden aufgefüllt werden. Die Zielsysteme bewirken Auffüllen mit Nullen oder mit
n MOD <Registerbreite>
.




HINWEIS

Beachten Sie, dass Sie die Anzahl der Bits, die CODESYS für die Rechenoperation berücksichtigt, durch den Datentyp der Eingangsvariablen
in
vorgeben.
Beispiele
Die Ergebnisse für erg_byte
und erg_word
sind unterschiedlich, obwohl die Werte der Eingangsvariablen in_byte
und in_word
gleich, die Datentypen der Eingangsvariablen jedoch unterschiedlich sind.
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 *)
FUP:
