11 - 377 11 - 377
MELSEC-Q
11 INSTRUCTIONS AND FUNCTIONS
SHT
Function
SHifT logical
• Returns the logically shifted value of the memory content of the specified value.
SHT(<numeric expression 1>,<numeric expression 2>)
Syntax
numeric expression 1
• • • •
Specify the target value of the logical shift as an
integer value.
numeric expression 2
• • • •
Specify the shift direction and the number of bits as
an integer value.
Examples
A%=SHT(B%,C%)
• • • •
Shifts the value of B% logically by the amount of the
value C%, and assigns it to A%.
D%=SHT(E%,12)
• • • •
Shifts the value of E% logically to the left by 12 bits
and assigns it to D%.
F%=SHT(G%,-4)
• • • •
Shifts the value of G% logically to the right by 4 bits
and assigns it to F%.
Description
• The SHT function shifts the memory content of the value specified in <numeric expression
1> logically by the amount of bits specified in <numeric expression 2> and returns the
shifted value.
• Specify by how many bits the value specified in <numeric expression 1> should be logically
shifted in <numeric expression 2>.
If the value of <numeric expression 2> is positive, the bits are shifted to the left and the
least significant bit is put into OFF status (0) sequentially. Thus, if 16 is specified in
<numeric expression 2>, the function value will always be 0.
Shifted to the
left if the value
of <numeric
expression 2>
is positive.
Shifted to the
right if the value
of <numeric
expression 2>
is negative.
If the value of <numeric expression 2> is negative, the bits are shifted to the right and the value
of the most significant bit remains as is. Thus, if -16 is specified in <numeric expression 2>,
the function value will always be either -1 or 0, depending on the value of the most significant bit.
Bit position
The value whose bits
are shifted logically
Direction of shift (shift by
<numeric expression 2>)
Function value
to be returned
1
0
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
1
0
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
b15 b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 b0
• • • •
0
0
0
1
1
0
0
1
0
• • • •
• • • •
• • • •
Bit position
The value whose bits
are shifted logically
Direction of shift (shift by
<numeric expression 2>)
Function value
to be returned
• • • •
• • • •
• • • •
• • • •
• If either <numeric expression 1> or <numeric expression 2> is specified as a value other
than an integer, the type of the value is converted into integer data and then processed.
• An error occurs if <numeric expression 1> is not within the range from -32768 to 32767.
• An error occurs if <numeric expression 2> is not within the range from -16 to 16.