Cómo definir las variables HMI TIA Portal para poder utilizar las variables que tenemos creadas en el PLC y poder seleccionarlas desde el proyecto de la pantalla HMI WINCC Flexible. En la pantalla se pueden definir variables internas o variables para comunicarse con el PLC.
¿Qué necesitamos saber de las variables HMI TIA Portal?
Dentro de un proyecto HMI en TIA Portal siempre vas a necesitar utilizar variables. Al comienzo de programar en TIA Portal recuerdo que siempre utilizaba un proyecto TIA Portal para programar la HMI y otro proyecto diferente para programar el PLC. En cambio, hoy en día puedes crear un proyecto con el PLC y la HMI integrados en el mismo proyecto. Por esta razón, podrás utilizar las variables declaradas en el PLC para la HMI, evitando tener que crear de nuevo las variables para utilizar en la pantalla.
Podemos crear variables internas en la HMI.
Podemos crear variables que hagan referencia a una variable del PLC.
Podemos utilizar las variables que ya hay creadas en el proyecto del PLC.
Es decir, si tienes un proyecto de HMI por una parte y otro proyecto de PLC por otra parte, las variables del PLC que necesites mostrar en la pantalla, tendrás que crearlas una vez en el PLC y de nuevo tendrás que crearlas en tu proyecto de HMI. Por consiguiente, estás haciendo doble de trabajo.
Sin embargo, si en el mismo proyecto TIA Portal creas el PLC y la HMI, estableciendo una conexión entre ambos, solo tendrás que declarar una vez las variables en el PLC. Debido a esto, en el proyecto de la HMI, solamente tendrás que seleccionar la variable del PLC y, automáticamente, ya la tendrás creada en tu HMI.
¿Cómo creamos variables en el proyecto de la HMI?
En primer lugar, la forma más sencilla de crear una variable es mediante las tablas de variables. Por consiguiente, nos vamos al árbol del proyecto de la HMI y en la carpeta de “Variables HMI” podemos crear una tabla nueva y a partir de ahí crear las variables. Cuando se abre la tabla, le damos a “Agregar” y a partir de ahí podemos definir las variables que necesitamos para el proyecto HMI.
Crear una variable interna de la HMI.
Puede que en ocasiones necesitemos variables que no nos hagan falta para activar nada en el PLC. Debido a esto, podemos crear unas variables denominadas variables internas de la HMI, de manera que se pueden activar y desactivar dentro del proyecto de la HMI. En cambio, esta variable interna no activa nada en el PLC, ya que no se selecciona la conexión con el PLC.
Por consiguiente, estas variables internas las podemos utilizar como si se tratara de otra variable del PLC. Por ejemplo, podemos utilizar un botón en una pantalla para activar una variable mediante un evento. Por lo tanto, en este evento, cuando tengamos que seleccionar la variable de tipo Bool, podemos seleccionar esta variable interna. En la imagen podemos ver cómo en el evento del botón podemos seleccionar la variable interna que hemos creado en la tabla de variables.
Por ello, según este evento, cuando se pulse el botón se podrá invertir el bit de la variable, de manera que si tenía valor “0” cambiará a “1” y viceversa. Es más, aprovechando esta activación, podemos utilizar esta variable interna para hacer una animación sobre un objeto y que cambie a color verde cuando la variable sea “1”.
Puedes ver con detalle cómo cambiar el color de un objeto en una pantalla en otro documento de la web. Te lo explico paso por paso, para conocer cómo debes utilizar las variables y asignarles una animación para que cambie de color rojo a verde cuando estén activadas:
Enlazar PLC y HMI dentro de un mismo proyecto TIA Portal.
Como hemos comentado antes, en lugar de crear una variable nueva en la HMI y en el PLC, podemos coger la variable que ya exista creada en el PLC desde la HMI. Ciertamente, para poder coger una variable del PLC desde la HMI necesitamos tener en el proyecto una conexión establecida. Por ello, en el apartado de conexiones, necesitamos seleccionar el tipo de PLC al que tenemos que conectarnos.
Podemos ver en la imagen que hemos creado una conexión “Simatic S7 1200” porque en el proyecto tenemos creado un PLC que es una CPU 1214C, es decir, un S7-1200. Si en tu proyecto tienes otro PLC distinto, en el driver de comunicación tendrás que seleccionar el PLC que tienes en el proyecto. Además de seleccionar esta conexión con el PLC, cuya conexión tendrá el nombre de “HMI:Conexión_1” como ves en la imagen, tenemos que seleccionar un interfaz. Asimismo, una vez selecciones el interfaz, en nuestro caso “Ethernet”, tendremos que asignar una dirección IP al PLC y otra a la HMI que estén dentro del mismo rango.
Con esto ya tienes establecida la comunicación entre los proyectos del PLC y la HMI. De todas formas, tienes que ver todo el proceso desde cero en otro documento para que no se te quede ninguna duda. Verás como se enlaza el PLC y la HMI en el mismo proyecto de TIA Portal, paso a paso:
Crear variables HMI TIA Portal asociadas a una variable del PLC.
Una vez tenemos en el mismo proyecto el PLC y la HMI, ahora podemos crear en la HMI una variable que ya esté definida en el PLC. Por lo tanto, entrando a la tabla de variables que hemos creado anteriormente, podemos crear una variable nueva, con la peculiaridad de que ahora, en la columna de “Conexión”, tendremos que seleccionar la conexión que hemos generado anteriormente.
Como resultado, se nos habilita la otra columna de “Variable PLC”, con lo cual podemos entrar a las tablas de variables del PLC y seleccionar una variable que ya hemos creado ene l PLC.
Finalmente, ya podemos utilizar esta variable en la pantalla de la HMI para ejecutar algún evento o activación mediante algún objeto. Por ejemplo, siguiendo en la misma pantalla que hemos creado antes para las variables internas, vamos a utilizar un botón. Igualmente, configuramos un evento para el botón en el cual, al pulsar el botón, queremos invertir el bit.
¿Podemos seleccionar variables HMI TIA Portal del PLC sin haberlas creado en tabla de variables?
La respuesta es sí. Igualmente, que hemos creado la variable den la tabla, seleccionando que queríamos una variable del PLC, podemos ahorrarnos este paso. Por lo tanto, podemos ir a la pantalla donde generamos un botón. Dentro del evento del botón, cuando tenemos que seleccionar la variable, en lugar de dirigirnos a la tabla de variables de la HMI, vamos directos a la tabla de variables del PLC. Como consecuencia, podemos asignar directamente la variable al botón sin necesidad de crearlo en la HMI, ya que se creará posteriormente automáticamente.
Puedes ver un ejemplo claro de la utilización de las variables del PLC y la HMI en un documento donde explico paso a paso cómo actualizar la fecha y hora desde una pantalla. Podrás ver con detalle la utilización de estas variables en un proyecto donde HMI y PLC están conectados:
Es un placer saludar y valorar esta pagina, HMI, y PLC
Es muy didáctica y de mucho valor para la industria 4.0
Gracias.
Hola Camilo: Muchas gracias por tus comentarios. La verdad que me alegro que encuentres provecho en todo lo que publico en la web. Mi intención es esa, ayudar, colocar información valiosa y compartir conocimientos de programación. Además, si le sirve a alguien todo esto, encantado. Saludos.
hola, tengo un detalle con un programa. cuando me conecto al proceso con la cpu veo un valor de salida en algunos sensores pero en el hmi veo otros valores o en ocasiones nada, a que se puede deber?
En la HMI tendrás que parametrizar esas variables con el mismo formato que en el PLC. A ver si le has dado a las variables Tipos de datos diferentes en la HMI que en el PLC y por eso te está marcando valores diferentes. Saludos.
Hola, estoy con un proyecto en mi trabajo para montar una HMI y encoders que nos permitan controlar el proceso y estoy teniendo problemas: las variables del PLC que están enlazadas con la HMI no puedo controlarlas con ella. Hice un código a parte donde sólo manejo los encoders y la HMI y todo funciona de maravilla, pero cuando quiero incorporarlo al código de la máquina siempre me aparece el mensaje “Imposible ingresar variable en el controlador” o algo así y los códigos tanto de HMI como las etapas de control se los encoders están exactamente iguales en ambos códigos (el del proceso y el de prueba), cuál podría ser el problema? Agradecería tu pronta respuesta, saludos!
Hola Steven: yo pienso que estás enlazando mal el plc y la HMI en la configuración de dispositivos y redes en TIA Portal. Yo tengo hechos un par de doscumentos donde se habla de estas conexiones, míralo a fondo para asegurarte que estás haciendo lo mismo que explico aquí:
https://www.tecnoplc.com/tia-portal-plc-hmi-integrados-en-proyecto-y-red-profinet/
https://www.tecnoplc.com/variables-hmi-tia-portal-usar-las-variables-del-plc-en-la-hmi/
https://www.tecnoplc.com/conexion-plc-y-hmi-tia-portal/
Revisando esos documentos, debes de tener las conexiones y direcciones IP correctamente y enlazados el plc y la HMI. A ver si te sirven y consigues encontrar la solución. La clave está en la Red Ethernet, donde tendrás que enlazarlos los dispositivos y las direcciones IP dentro del rango. Espero que lo soluciones, ya me dices.
Pues ni qué decirte, incluso antes de revisar los links ya he hecho todo tal cual lo explicas y, para colmo, en ambos códigos está igual todo así que no entiendo qué pasó. Lo que hice fue reescribir el código original del proceso en el programa donde sí me funcionó la conexión entre PLC y HMI y ahora sí funciona (hasta parece chiste…). Lo malo que ahora estoy teniendo otros inconvenientes pero eso creo que puedo resolverlo, el problema que la planta nunca para y pues no dispongo de mucho tiempo para hacer pruebas pero creo que ya son más problemas de forma y no de fondo. Agradezco que te hayas tomado el tiempo en contestar y si vuelvo a tener una duda te escribo. Saludos y éxito en tus labores!
Hola Steven: me alegro que te haya funcionado. No sé qué ha podido ocurrir. A veces pasan cosas así… No queda otra que pelear y dedicarle tiempo para averiguarlo y, muchas veces, como en tu caso, apagar y volver a empezar. Saludos.