Te enseño a fondo la función Move TIA Portal para copiar datos de una zona de memoria a otra zona de memoria, teniendo en cuenta qué datos puedes utilizar, cómo añadir la función, qué utilidad tiene, ejemplos con esta instrucción y mucho más.
Este artículo pertenece al Curso de TIA Portal gratis. Al final del artículo encontrarás el acceso al Menú del Curso.
Índice de contenidos.
- Qué es una función Move TIA Portal
- A qué grupo de instrucciones pertenece la función Move..
- Cómo insertar la instrucción Move al programa..
- Qué datos se pueden utilizar en una instrucción Move.
- Cómo agregar salidas a la función Move.
- Ejemplos de transferencia de datos con la función Move en TIA Portal.
Qué es una función Move TIA Portal.
En primer lugar, podemos definir una función Move TIA Portal como una instrucción que va a permitir copiar valores y datos de una zona de memoria a otra zona de memoria. Puede que con esta definición te haya quedado todo claro, pero vamos a especificar qué datos puedes copiar, qué valores puedes transferir y a conocer al detalle esta funcionalidad.
Probablemente esta función la vas a utilizar mucho en TIA Portal y es que es muy fácil encontrarnos en una parte del programa en la necesitemos insertar un valor a una variable, o simplemente copiar el valor de una variable a otra variable diferente.
Parece que con la imagen anterior se queda muy clara la definición de esta instrucción, en la que podemos coger un valor e insertarlo en una variable, muy útil cuando queremos forzar una variable, o incluso poner a cero una variable. Otra funcionalidad podría ser la de utilizar la función Move para meter un cero a diferentes variables del programa.
Parámetros de la instrucción Move.
La función Move es muy sencilla de utilizar, pero aun así vamos a explicar los diferentes parámetros de que consta la instrucción para tener claro qué colocar en cada parámetro. Los parámetros de una función Move son los siguientes:
- Parámetro EN.
- Parámetro IN.
- Parámetro OUT1.
El parámetro EN es el mismo que en todas las funciones en TIA Portal y sirve para habilitar la función, de manera que, si las condiciones previas a esta entrada EN están activadas, entonces la función Move se ejecutará.
En el parámetro IN de la función Move se coloca el valor o la variable que queremos copiar, es decir, ese valor que hay en la entrada IN se va a copiar y transferir a otra zona de memoria.
En el parámetro OUT1 es donde se va a almacenar el valor que se ha copiado del parámetro IN. Por consiguiente, en OUT1 vamos a tener exactamente lo mismo en el momento en que se ejecute esta función.
Recuerda que el valor que se copia del parámetro IN se guarda en el parámetro OUT, pero el valor de IN permanece invariable, es decir, no se altera ni se modifica.
A qué grupo de instrucciones pertenece la función Move.
Asimismo, podemos decir que la función Move pertenece a un grupo de instrucciones en TIA Portal, las cuales están orientadas al desplazamiento de datos o a la transferencia de datos. Por tanto, la función Move pertenece al grupo de instrucciones de Transferencia en TIA Portal, así que, si alguna vez tienes que buscar esta instrucción, tendrás que buscar la carpeta de Transferencia dentro de la pestaña e Instrucciones.
Ciertamente, existen muchas funciones de transferencia en TIA Portal, para trabajar con la copia de datos y transferir valores de una zona de memoria a otra zona. En cambio, te aseguro que la función que más vas a utilizar es la instrucción Move, ya que es simple y rápida de utilizar.
Cómo insertar la instrucción Move al programa.
A continuación, vamos a ver paso a paso cómo podemos insertar una función Move en nuestro programa en TIA Portal. Por ello, lo primero que hacemos es situarnos en el segmento donde queremos utilizar la función. Una vez aquí, tenemos que abrir la pestaña de instrucciones situada en nuestro panel derecho donde se abrirá el conjunto de todos los grupos de instrucciones de TIA Portal.
Finalmente, conociendo que la función Move pertenece al grupo de instrucciones de Transferencia, tal y como te he comentado antes, tenemos que buscar la carpeta llamada “Transferencia”. Y aquí encontraremos la instrucción Move, que debemos seleccionar y desplazarla hasta nuestro segmento.
Finalmente, solo nos quedará rellenar los parámetros de la función, indicando qué dato es el que queremos copiar (parámetro IN) y a qué zona de memoria lo queremos copiar (parámetro OUT). En este caso, por ejemplo, vamos a copiar una constante, es decir, un valor fijo, por ejemplo, un 200 y lo vamos a transferir a una variable MW80.
Qué datos se pueden utilizar en una instrucción Move.
A la hora de utilizar cualquier instrucción en TIA Portal hay que fijarse en los parámetros de entrada y e salida que tiene y en el tipo de datos que admite dicha funcionalidad. Por ello, en esta función Move debemos conocer cuales son los tipos de datos admitidos para trabajar solamente con esos datos y no equivocarnos.
Datos que se pueden usar en el parámetro IN de la función Move TIA Portal.
Por esta razón, en el parámetro de entrada de la función Move podemos colocar variables que sean del tipo Int, Sint, DInt, etc… , lo que viene a ser el grupo de todos los enteros y además, utilizar variables de tipo Word. También podremos usar variables del tipo tiempo, incluso Array y otras muchas más.
Mejor, vemos el tipo de datos que puede utilizar la función Move en su parámetro de entrada en la siguiente imagen.
Datos que se pueden usar en el parámetro OUT de la función Move TIA Portal.
Asimismo, en el parámetro de salida de la función Move podemos colocar variables que sean del tipo Int, Sint, DInt, etc… , lo que viene a ser el grupo de todos los enteros y además, utilizar variables de tipo Word. También podremos usar variables del tipo tiempo, incluso Array y otras muchas más.
Mejor, vemos el tipo de datos que puede utilizar la función Move en su parámetro de salida en la siguiente imagen.
Cómo agregar salidas a la función Move.
Otra de las características de la instrucción Move en TIA Portal s que podemos añadir varios campos o variables en la salida. Parece que, con la función Move standard, si te das cuenta, solamente nos permite introducir una variable a la salida llamada OUT1. Sin embargo, si quisiéramos copiar el valor del parámetro de entrada a varias salidas OUT (a varias variables), se podría hacer añadiendo otra salida OUT.
Mientras tanto, una manera sencilla de copiar el valor a varias variables sería la de copiar varias veces la función Move y colocar una variable diferente en cada función, tal y como te muestro en la siguiente imagen.
Como puedes ver, se puede utilizar la instrucción Move tantas veces como quieras, pero hay un método más sencillo para copiar el mismo valor a varias variables, utilizando una única función Move. Por ello, en la función Move tenemos que pulsar el asterisco amarillo situado al lado del parámetro OUT y esta acción nos añadirá una nueva salida OUT2 donde podremos introducir una nueva variable de salida.
Si te das cuenta, al añadir una salida más, esto nos va a permitir copiar el valor de la variable de entrada a varias variables diferentes, dentro de la misma función Move, sin necesidad de crear otra función diferente. Además, podrás añadir muchas otras salidas, así que, si quieres meter un “0” a 5 variables, con esta funcionalidad lo puedes hacer fácilmente.
Ejemplos de transferencia de datos con la función Move en TIA Portal.
Finalmente te voy a mostrar un par de ejemplos donde puedes utilizar esta instrucción Move en la programación de PLC, en tu programa.
Imagina que tienes una secuencia de programa en la cual vas actualizando variables, poniendo valores y sumando datos y, por tanto, esas variables van cambiando su valor a lo largo del programa. Sin embargo, cuando acabe la secuencia necesitas que todos tus valores se reestablezcan, que vuelvan a su valor de cero para volver a empezar en otra secuencia. Con la instrucción Move lo tenemos fácil, ya que, simplemente, tendríamos que mover un “0” a todas esas variables cuando finalice el programa.
Otro ejemplo parecido muy utilizado es en el control de las posiciones de un Robot, suponiendo que queremos llevar a un Robot a su posición inicial y hacerle un reset a todas sus posiciones, metiendo un valor a cada eje de movimientos. En este caso, colocamos una condición previa para que, cuando se pulse un botón, se meta este valor a todas sus posiciones.
Además, podemos utilizar varias funciones de transferencia y activar una u otra dependiendo de ciertas condiciones o dependiendo de comparaciones. Por ejemplo, imagina que quieres meter un valor a la consigna de velocidad dependiendo si la seta de emergencia está pulsada o no está pulsada. En la siguiente imagen puedes ver cómo, usando la función Move solucionamos este dilema, colocando una velocidad u otra dependiendo de la seta.
Igualmente, podemos mover simplemente el valor de una variable a otra variable distinta para utilizar esta segunda variable en otra parte del programa. De este modo, la variable del parámetro de entrada nunca se modifica y tu trabajas con la variable del parámetro de salida para otras operaciones.
Espero que se te haya quedado claro este tema. Con el siguiente enlace accederás al siguiente artículo del Curso TIA Portal, donde te explicaré al detalle la utilización de comparadores en la programación. Las funciones «mayor que» y «menor que», o incluso la comparación «igual que», con ejemplos, con imágenes con todos sus parámetros y cómo utilizarlas para hacer más cómoda tu programación. No te lo pierdas:
Este artículo pertenece al Curso TIA Portal gratis. Puedes acceder al Menú principal del curso con el siguiente enlace, donde encontrarás un guion con todos los temas y desde ahí acceder a cualquiera de los artículos. Fácil y rápido:
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.
Excelente artículo, me fue de mucha ayuda. Gracias!
Me alegro mucho que te haya servido. Un saludo.
Excelente, muchas gracias.
Gracias a ti por tus comentarios.