SHR block
Short summary
Name |
SHR |
→POU type |
|
Category |
|
Conform to →IEC-standard |
currently restricted
more possible than defined in IEC-standard |
Graphical interface |
|
Available since |
|
Functionality
The block returns the result of a bitwise shift to the right .
At input IN, enter the value to be shifted. At input N, enter the bits to right-shift the value. The bits cleared on the left are filled with 0.
Deviation from IEC-standard
If a negative value is connected to the input N, logi.CAD 3 does not treat this as an error but performs an opposite shift, hence a shift to the left. This behavior is a deviation from the →IEC-standard that specifies that values < 0 for the input N are an error .
Compare: "SAR block" for an arithmetic shift to the right.
Inputs, return value
|
Identifier |
Description |
|
Inputs: |
IN |
BOOL, BYTE, WORD, DWORD or LWORD(corresponds to →generic data type ANY_BIT) |
input value |
N |
INT |
number of bits to shift |
|
Return value: |
– |
BOOL, BYTE, WORD, DWORD or LWORD(corresponds to →generic data type ANY_BIT) |
|
Input EN and output ENO are available when →calling the block. See "Execution control: EN, ENO" for information on input EN and output ENO.
See:
"Blocks for safe logic" whether this block is supported for developing safety-relevant applications.
"Highlighting safe logic in the FBD-editor" for the effects when using the block as a block for safe logic .
Example for usage within ST-editor
PROGRAM Test
VAR
result1, result2 : BYTE;
END_VAR
result1 := SHR(IN :=
16
#
40
, N :=
1
); (* The variable
'result1'
evaluates to
'16#20'
. *)
result2 := SHR(IN :=
16
#
80
, N :=
1
); (* The variable
'result2'
evaluates to
'16#40'
. *)
END_PROGRAM
When creating your application within the ST-editor, enter a call of a block by typing the text as requested by the syntax or use Content Assist.