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.
Vamos a pasar datos de un DB a otro DB:
- ¿Para qué queremos mover datos de una zona de memoria a otra?
- Función MOVE_BLK para mover datos.
- Tipo de datos que acepta la función.
¿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.
También se pueden utilizar muchas otras opciones, como por ejemplo, transferir datos cuando transcurra un tiempo, activando un temporizador y cuando finalice el temporizador se haga la transferencia. Tienes que conocer al detalle todo sobre los temporizadores en TIA Portal, no te lo pierdas:
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”.
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.
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”. Cuidado al utilizar los DB optimizado y no optimizado, ya que depende de cómo quieras acceder a tus datos te puede causar errores. Por ejemplo, no es lo mismo utilizar unas salidas analógicas en S7-1200 cuyos valores puedes guardarlos en un DB optimizado que utilizar otra función PUT que requiera de un acceso no optimizado.
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.
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.
Echa un vistazo a otro artículo donde te hablo al detalle sobre las entradas analógicas en TIA Portal. Hay que tener en cuenta muchos parámetros para configurar bien una entrada analógica y yo te lo explico todo paso a paso. No te lo pierdas;
Por cierto, si puede ser, déjame un comentario y dime lo que piensas sobre el artículo: bueno o malo, si crees que le falta algo, si te ha ayudado, lo que sea. De esta manera, yo podré mejorarlo y nos servirá a todos. Te contestaré en menos de 24h. Muchas gracias.