Desplazamiento y rotación: SHL, SHR, ROL y ROR en TIA Portal: Cómo se usa paso a paso
Instrucciones de desplazamiento y rotación de bits en TIA Portal: SHL, SHR, ROL y ROR, con simulador binario.

SHL y SHR desplazan los bits de una palabra N posiciones a la izquierda o a la derecha; los bits que salen se pierden. ROL y ROR los rotan: Lo que sale por un extremo entra por el otro.
Parámetros
| Parámetro | Tipo de dato | Descripción |
|---|---|---|
| IN | Byte, Word, DWord, enteros | Valor a desplazar |
| N | USInt, UInt, UDInt | Número de posiciones |
| OUT | Igual que IN | Resultado |
Cómo se ejecuta
| Condición | Resultado |
|---|---|
| SHL | Rellena con ceros por la derecha |
| SHR sin signo | Rellena con ceros por la izquierda |
| SHR con signo (Int, DInt) | Rellena con el bit de signo |
| ROL / ROR | Los bits que salen entran por el otro lado |
Ejemplo paso a paso (KOP)
- Arrastra ROL (Desplazamiento y rotación) y elige Word.
- IN:
"Secuencia_Luces"; N:1; OUT:"Secuencia_Luces". - Pon un contacto conectado a un pulso de reloj (marca de ciclo) con detección de flanco delante.
- Prueba: El bit encendido avanza una posición cada pulso, como una luz que corre.
Equivalente en SCL:
"Secuencia_Luces" := ROL(IN := "Secuencia_Luces", N := 1);
"Dato" := SHR(IN := "Dato", N := 4);
Consejos y errores comunes
- Desplazar 1 a la izquierda multiplica por 2 un entero sin signo; a la derecha divide por 2.
- Sin un flanco delante, la rotación se hace en cada ciclo y es demasiado rápida para verla.
Serie: Instrucciones de TIA Portal
- Contactos NA, NC y NOT
- Bobinas: Asignación, negada, Set y Reset
- Flip-flops SR y RS
- Detección de flancos (P, N, R_TRIG y F_TRIG)
- Temporizador TON (retardo a la conexión)
- Temporizador TOF (retardo a la desconexión)
- Temporizador TP (impulso)
- Temporizador TONR (acumulador de tiempo)
- Contador ascendente CTU
- Contadores CTD y CTUD
- Comparadores (CMP, IN_RANGE y OUT_RANGE)
- Matemáticas: ADD, SUB, MUL, DIV, MOD y CALCULATE
- MIN, MAX, LIMIT, INC y DEC
- Escalar analógicas con NORM_X y SCALE_X
- Conversión: CONVERT, ROUND, TRUNC, CEIL y FLOOR
- Desplazamiento y rotación: SHL, SHR, ROL y ROR
- Lógica de palabras: AND, OR, XOR e INVERT
- MOVE_BLK, FILL_BLK y SWAP
- Saltos: JMP, JMPN, LABEL y RET
- Selección: SEL y MUX
- MOVE en TIA Portal (tutorial de MOV)
Referencias
- Siemens AG. SIMATIC S7-1200 Programmable Controller: System Manual. Siemens Industry Online Support.
- Siemens AG. SIMATIC S7-1500 / STEP 7 (TIA Portal): Ayuda en pantalla, instrucciones básicas.
- Berger, H. Automating with SIMATIC S7-1500. Publicis.
- International Electrotechnical Commission. (2013). IEC 61131-3: Programmable controllers – Part 3: Programming languages (3.ª ed.). IEC.
SIMATIC, STEP 7 y TIA Portal son marcas de Siemens AG. Ilustraciones y simuladores originales de TdeAutomatización.


