Skip to main content

オペレーター:SHL

IEC演算子は、オペランドをビット単位で左にシフトするために使用されます。

erg := SHL (in, n)

in:左にシフトしたオペランド

n:シフトするビット数 in 左の方です

重要

もしも n データ型の幅を超える場合は、ターゲットシステムによって異なります。 BYTEWORDDWORD、 と LWORD オペランドはパディングされます。ターゲットシステムは、ゼロまたは n MOD <レジスタサイズ>

重要

ビット数に注意してください CODESYS 入力変数のデータ型によって定義されたこの操作の使用 in

118.

の結果 erg_byteerg_word の値は異なりますが、 in_bytein_word 入力変数は同じであり、入力変数のデータ型は異なります。

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