Cómo mover datos de una zona de memoria a otra zona de memoria en TIA Portal con la función MOVE_BLK. Una manera fácil para copiar datos a otra zona o guardar datos de otra zona de reserva.

¿Para qué queremos mover datos de una zona de memoria a otra?

Este funcionamiento lo podemos utilizar en muchos casos. Por ejemplo, podemos mover datos de un DB que tenemos configurado al inicio de una puesta en marcha. Estos datos los guardamos en otro DB y seguimos haciendo pruebas y modificamos es DB. Cuando nos vamos de la instalación, volvemos a mover datos que teníamos guardados al DB original y la máquina se queda como estaba.

Función MOVE_BLK para mover datos.

Vamos a utilizar la función MOVE_BLK que la podemos encontrar en la barra de instrucciones del TIA Portal. En el apartado de instrucciones básicas, seleccionamos la carpeta de “Transferencia” y ahí encontraremos la función cuya descripción es “Copiar área”.

Escoger la función MOVE_BLK para mover datos.

Tipo de datos que acepta la función.

Es muy importante saber que, para utilizar esta función, debemos de crear los DB de datos con elementos de matriz. Es decir, que debemos crear datos de tipo Array para que se pueda seleccionar esa zona de memoria para mover datos. Y el DB tiene que estar declarado como no optimizado.

Error al colocar un tipo de dato que no es Array de datos.

Por tanto, tenemos que crear dos DB de datos con tipos de dato Array, para poder mover datos de uno a otro. En la imagen vemos como se ha creado un DB con su característica de “No optimizado”.

Array de datos dentro del DB para mover datos.

Para completar la Función. Ahora tenemos que coger el primer dato del array que hemos creado en el primer DB y colocarlo en la entrada “IN” de la función. A la salida “OUT” pondremos el primer dato del array del segundo DB donde queremos mover datos.

Valores a colocar en la Función MOVE_BLK.

En “COUNT” deberemos poner la cantidad de bytes a copiar. Tendremos que poner siempre un valor conociendo la longitud de nuestros DB para no poner una longitud que no pueda leer. Es decir, hay que conocer el límite de cada DB y no poner un valor mayor a la longitud máxima.

Desarrollado y publicado por www.tecnoplc.com. Licencia Creative Commons 4.0.Creative Commons pequeño