MOVE_BLK, FILL_BLK y SWAP en TIA Portal: Cómo se usa paso a paso
Copiar y llenar arreglos en TIA Portal con MOVE_BLK, UMOVE_BLK y FILL_BLK, e invertir bytes con SWAP, con simulador.

MOVE_BLK copia varios elementos de un arreglo a otro; UMOVE_BLK hace lo mismo sin que lo interrumpan las alarmas. FILL_BLK llena varios elementos con un mismo valor. SWAP invierte el orden de los bytes de una palabra, útil al comunicar con equipos de otras marcas.
Parámetros
| Parámetro | Tipo de dato | Descripción |
|---|---|---|
| IN | Elemento de un arreglo | Primer elemento de origen (o valor de relleno en FILL_BLK) |
| COUNT | USInt, UInt, UDInt | Cuántos elementos |
| OUT | Elemento de un arreglo | Primer elemento de destino |
| SWAP: IN / OUT | Word, DWord | Valor con los bytes invertidos |
Cómo se ejecuta
| Condición | Resultado |
|---|---|
| MOVE_BLK | Copia COUNT elementos desde IN hacia OUT |
| FILL_BLK | Escribe IN en COUNT elementos desde OUT |
| SWAP 16#1234 | OUT = 16#3412 |
Ejemplo paso a paso (KOP)
- Crea en un DB
"Datos".Origeny"Datos".Destinocomo Array[0..9] of Int. - Arrastra MOVE_BLK (Transferencia): IN
"Datos".Origen[0], COUNT6, OUT"Datos".Destino[0]. - Para borrar un arreglo, usa FILL_BLK con IN
0. - Revisa que COUNT no supere el tamaño de ningún arreglo.
Equivalente en SCL:
MOVE_BLK(IN := "Datos".Origen[0], COUNT := 6, OUT => "Datos".Destino[0]);
FILL_BLK(IN := 0, COUNT := 10, OUT => "Datos".Destino[0]);
Consejos y errores comunes
- Origen y destino deben ser del mismo tipo de dato.
- Si COUNT excede el arreglo, ENO = 0 y no se copia nada fuera de los límites.
- Para copiar estructuras completas suele bastar con MOVE.
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.


