该 IEC 运算符用于将操作数向左位移。
erg := SHL (in, n)
in
:向左移动的操作数
n
:in
向左移动的位数




注意

如果n
覆盖了数据类型宽度,那么BYTE
、WORD
、DWORD
和LWORD
操作数的填充方式取决于目标系统。目标系统会使用零或n MOD <tab width>
填充。




注意

请注意CODESYS 用于此操作的位数由输入变量in
的数据类型决定。
示例
虽然in_byte
和 in_word
输入变量的值相同,输入变量的数据类型也不同,但erg_byte
和 erg_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:
