SHR: Desplazar a la derecha (S7-300, S7-400) - STEP 7

SCL (S7-300, S7-400)

ft:publication_title
SCL (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
es-ES
SHR: Desplazar a la derecha

Descripción

Con la instrucción "Desplazar a la derecha" se desplaza el contenido del parámetro IN de bit en bit hacia la derecha y se devuelve como valor de función. El parámetro N determina el número de bits que debe desplazarse el valor indicado.

Si el valor del parámetro N es "0", se devuelve como resultado el valor del parámetro IN.

Si el valor del parámetro N es mayor que el número de bits disponibles, el valor del parámetro IN se desplaza hacia la derecha las posiciones de bit disponibles.

Los bits que quedan libres en el área izquierda del operando al realizar el desplazamiento se rellenan con ceros.

La figura siguiente muestra cómo el contenido de un operando del tipo de datos INT se desplaza cuatro posiciones de bit a la derecha:

Parámetros

La tabla siguiente muestra los parámetros de la instrucción:

Parámetro

Declaración

Tipo de datos

Área de memoria

Descripción

IN

Input

Secuencias de bits

I, Q, M, D, L, P

Valor que se desplaza.

N

Input

Enteros

I, Q, M, D, L, P

Número de bits que se desplaza el valor (IN).

El valor del parámetro N debe ser positivo.

Valor de función

Secuencias de bits

I, Q, M, D, L

Resultado de la instrucción

Encontrará más información sobre los tipos de datos válidos en "Consulte también".

Ejemplo

El siguiente ejemplo muestra el funcionamiento de la instrucción:

SCL Copia el código de programa siguiente en el portapapeles.

"Tag_Result" := SHR(IN := "Tag_Value",

                    N := "Tag_Number");

La tabla siguiente muestra el funcionamiento de la instrucción con valores de operandos concretos:

Parámetro

Operando

Valor

IN

Tag_Value

0011 1111 1010 1111

N

Tag_Number

3

Valor de función

Tag_Result

0000 0111 1111 0101

El valor del operando "Tag_Value" se desplaza tres posiciones de bit hacia la derecha. El resultado de la instrucción se devuelve en el operando "Tag_Result" como valor de función.