オペレーター:SHL
IEC演算子は、オペランドをビット単位で左にシフトするために使用されます。
erg := SHL (in, n)
in
:左にシフトしたオペランド
n
:シフトするビット数 in
左の方です
重要
もしも n
データ型の幅を超える場合は、ターゲットシステムによって異なります。 BYTE
、 WORD
、 DWORD
、 と LWORD
オペランドはパディングされます。ターゲットシステムは、ゼロまたは n MOD <レジスタサイズ>
。
重要
ビット数に注意してください CODESYS 入力変数のデータ型によって定義されたこの操作の使用 in
。
例 118. 例
の結果 erg_byte
と erg_word
の値は異なりますが、 in_byte
と in_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
