.

运算符‘SHR’

.
.

该IEC运算符用于将操作数向右移。

erg := SHR (in, n)

in: 向右移动的操作数

n: 右移的位数

提示!

如果n覆盖数据类型的宽度,则取决于目标系统如何填充BYTEWORDDWORDLWORD操作数。目标系统导致填充为零或n MOD<制表符宽度>

.

.例如

ST:

PROGRAM shr_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 := SHR(in_byte,n); (* Result is 16#11, 2#00010001 *)
erg_word := SHR(in_word,n); (* Result is 16#0011, 2#0000000000010001 *)
 
 

FBD: