Hay muchas instrucciones en PLC que ayudan a ejecutar la lógica de una manera simplificada. Las instrucciones vienen en varias categorías como aritmética, comparación, lógica, controlador, etc. Por ejemplo, una instrucción de suma simple para sumar dos variables viene en la categoría aritmética. Por lo tanto, de manera similar, hay muchos tipos de instrucciones disponibles en una lógica de PLC.
Una de esas instrucciones que se usa ampliamente en la programación de PLC es la instrucción de desplazamiento. Viene en la categoría de procesamiento numérico.
En este artículo, aprenderemos el concepto de instrucción de registro de bits de desplazamiento en la programación de PLC.
Registro de bits de desplazamiento en PLC
Como su nombre lo indica, una instrucción de desplazamiento es un comando para desplazar bits de una palabra en una posición predefinida.
Por ejemplo, tiene una palabra de 16 bits. Quiere mover el bit número 3 de su cuarta posición actual a la séptima posición. Entonces, siempre que se dé un pulso de comando de desplazamiento, el bit se desplazará en cada activación de la cuarta posición a la séptima posición.
En esa continuidad, el bit en la quinta posición se moverá a la octava posición; y el bit en la tercera posición se moverá a la sexta posición. Entonces, aquí, estás desplazando los bits en un grupo por la cantidad de posiciones que definas.
Instrucción Shift
Las instrucciones Shift vienen en dos tipos: shift y rotate. Echemos un vistazo a la instrucción rotate. Considere una sintaxis: %MW10:= SHL (%MW12, 4). %MW10 es la palabra de memoria de destino y %MW12 es la palabra de memoria de origen.
Consulte la siguiente imagen. En %MW10, cuando se proporciona un primer disparador para el desplazamiento a la izquierda, el bit 0 se desplaza al bit 1, y así sucesivamente. Este resultado se almacena en %MW12. Cuando se proporcionan tales disparadores cuatro veces, en última instancia, el bit 0 se desplazará finalmente al bit 4, y así sucesivamente.
El resultado final se almacena en %MW12 de todos modos y obtiene una respuesta final de los bits desplazados cuatro posiciones desde la palabra de origen. Pero, una cosa para recordar es que, con cada cambio, el bit anterior se llena con el valor 0. Esto se puede ver claramente en la imagen.
Después del primer cambio, el primer bit en %MW12 es 0. Por lo tanto, después de cuatro cambios, el resultado final será - 0000 1101 1100 0000. Este cambio puede ser a la derecha o a la izquierda.
Hay otro tipo de cambio en el PLC; el anterior añadía ceros de la posición anterior, pero este segundo tipo mantiene el valor del primer bit (MSB para la derecha y LSB para la izquierda) tal como está. Esto se llama cambio aritmético.
Por lo tanto, si el valor del primer bit (MSB para la derecha y LSB para la izquierda) inicialmente antes del cambio era 1, entonces el último bit permanecerá como 1 solamente y los ceros se añadirán desde el segundo bit anterior hasta la cantidad de veces que se dé el comando de cambio. Cabe señalar que el último bit que se desplaza siempre se almacena en un bit de acarreo.
Instrucción de rotación
El segundo tipo es la instrucción de rotación. Considere la sintaxis: %MW10:= ROL (%MW12, 4). %MW10 es la palabra de memoria de destino y %MW12 es la palabra de memoria de origen. Usaremos la misma imagen anterior como referencia. La instrucción de rotación, como lo define el nombre, simplemente gira los bits en la cantidad de posiciones que usted defina.
En comparación con la instrucción de desplazamiento, donde se agregó cero después de cada bit anterior, aquí los bits simplemente se desplazan en la misma secuencia que en la dirección izquierda. Entonces, suponga que tiene una palabra de origen de – 1100 1010 1100 0101; luego, después de un disparador de 4 posiciones, el resultado final será – 1010 1100 0101 1100. La misma lógica funciona en la dirección correcta. El último bit desplazado también se almacena en un bit de acarreo.
Existe otro tipo en la categoría de rotación. En este caso, en lugar de desplazar solo 16 bits, se transfiere el bit de acarreo. Esto significa que el último bit se desplaza al bit de acarreo y, a continuación, el bit de acarreo se desplaza al primer bit, y así sucesivamente. En el tipo anterior, el último bit solo se almacenaba en el bit de acarreo.
Recommended Comments
There are no comments to display.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now