Cómo conectar una pantalla HMI usando el PLC de Arduino

Configuración de un HMI Kinco Screen con un controlador industrial de Industrial Shields Arduino usando comunicación Modbus
24 de diciembre de 2020 por
Cómo conectar una pantalla HMI usando el PLC de Arduino
Boot & Work Corp. S.L., Marti Guillem Cura

Index

Introduction

Las pantallas HMI son bastante comunes en el sector industrial para controlar y monitorear procesos. En este blog, verás cómo configurar y controlar una pantalla táctil Kinco como un esclavo y cómo hacer la comunicación con el PLC a través del protocolo ModBus TCP/IP. Al final del blog, puedes ver un video de cómo se hace toda la configuración.


Related Links

  • Modbus TCP Master con PLCs basados en Industrial Arduino Read >>>
  • Cómo usar la librería Modbus TCP Slave con un controlador PLC Arduino Read >>>
  • Biblioteca maestra Modbus RTU para la automatización industrial Read >>>

Requirements

En primer lugar, es necesario instalar Kinco DTools para poder trabajar y programar la interfaz gráfica y la configuración interna de la pantalla. Por otro lado, sería necesario descargar e instalar las tarjetas de Industrial Shields y la librería Industrial Shields Tools40 para trabajar fácilmente con los PLCs industriales. Para este ejemplo, estamos usando un Industrial Shields M-Duino 21+ y la pantalla Kinco G100E.

Para instalar la biblioteca Tools40, descargue la versión ZIP del código e inclúyela en el IDE de Arduino tal y como se muestra en la imagen (si los cambios no se aplican inmediatamente, reinicie el IDE de Arduino para aplicarlos).

Cómo conectar una pantalla HMI usando el PLC de Arduino

En lo que respecta a la configuración del hardware, la pantalla debe ser alimentada con una fuente de alimentación de 24Vdc mientras que el PLC será alimentado con una de 12Vdc. Conecte la computadora al PLCS usando un cable USB tipo A-B y un cable micro-USB para la conexión con la pantalla. Se utilizará un cable de Ethernet para la comunicación entre el PLC y la pantalla de la HMI. 

Screen Configuration

En primer lugar, ejecutar el programa Kinco DTools y crear un nuevo proyecto. Se abrirá un menú desplegable donde podrá pasar los diferentes parámetros a configurar desde nuestra pantalla como puede ver en la Figura 1. En la sección "HMI Model", selecciona el modelo a utilizar (en nuestro caso G100E). Después de pulsar <Siguiente>, se abrirá un nuevo menú desplegable; ignóralo y pulsa el botón "Finalizar" para completar la configuración inicial. Un nuevo cuadro referente a nuestra pantalla habrá aparecido en el centro de nuestro proyecto como se muestra en la Figura 2.


Configuración de pantalla
Configuración de pantalla

    Imagen 1

    Imagen 2

    Después haz doble clic en la pantalla o clic con el botón derecho del ratón y selecciona la opción "Atributo (P)". Haz clic de nuevo en la sección "Configuración del dispositivo de red" (Imagen 3) y en la pantalla que se abrirá, configura un nuevo dispositivo pulsando la opción "Añadir" y configura cómo se muestra en la Imagen 4.

    Una vez completados estos pasos, la pantalla se configurará correctamente para hacer la conexión Modbus TCP como un esclavo. 

    Configuración de pantalla
    Configuración de pantalla

    Imagen 3

    Imagen 4

    HMI Interface configuration

    Para configurar la pantalla, en la aplicación Kinco DTools, haz clic con el botón derecho del ratón en el icono de la pantalla y selecciona la opción "editar". Aparecerá una nueva pantalla que representa la visualización de la pantalla. En el lado izquierdo, tienes todas las opciones que pueden funcionar con la pantalla de Kinco. Para añadir elementos, elige entre las opciones de la izquierda en la sección "Ventana de elementos gráficos". En el caso de utilizar interruptores digitales, selecciona "Bit State Lamp", arrástralo hasta la pantalla central y configúralo con los siguientes parámetros:


    • Addr Type: LB
    • Address: 0

    No  cambies los valores por defecto, ya que estamos trabajando con un valor digital y la opción LB (el Bi) debe estar configurada. Si quieres añadir otro interruptor, cambia el número de dirección. En la opción de estado de bits, puedes elegir cómo funcionará el interruptor, en nuestro caso seleccionaremos la opción de conmutación. 

    Si utiliza un valor analógico, elija el tipo de dirección LW, ya que es la opción para trabajar con estos tipos de valores. Según la longitud de la palabra que desee, aumente el valor de Longitud de la palabra. También se pueden cambiar valores más estéticos como el tamaño de la fuente.

    Una vez hecho esto, compila el programa en la opción Herramientas -> Compilar ubicada en las pestañas superiores. Si todo está configurado correctamente, aparecerá una señal de confirmación. Para subir el programa a la pantalla física, presiona la opción Herramientas -> Descargar. Configura la pantalla que aparece con la opción USB y pulsa el botón "Download".

    Configuración de la interfaz HMI

    PLC Configuration

    Una vez que la librería y la biblioteca de Industrial Shields Tools40 han sido instaladas, selecciona el modelo de PLC que se está utilizando y el puerto USB donde se conecta el dispositivo. Los ejemplos de la librería Tools40 aparecerán en la sección Archivo -> Ejemplos. Selecciona Tools40 -> Modbus y elige el ejemplo que desees utilizar. En nuestro caso, utilizaremos el programa "ModbusTCPMasterWriteSingleCoil" para realizar el ejemplo.

    Al principio del programa, encontrarás las siguientes líneas, donde tendremos que configurar las direcciones IP con las que estamos trabajando. La IP 192.168.0.5 ha sido previamente configurada en la pantalla, por lo que tendremos que cambiar la IP del PLC para estar en el mismo rango de direcciones. En nuestro caso, pondremos la IP 192.168.0.4 en la variable IPAddress ip. En la sección IPAddress slaveIp pondremos la dirección de pantalla, 192.168.0.5. Finalmente, modificaremos el puerto donde se encuentra el esclavo, hemos definido el 50.


    IPAddress ip(192, 168, 0, 4);
    IPAddress slaveIp(192, 168, 0, 5); //must be the same as the slave
    uint16_t slavePort = 502; //must be the same as the slave

    El resto de las funciones que se ejecutan en la configuración son configuraciones internas. La siguiente parte del código a modificar será la función responsable de la comunicación entre el PLC y la pantalla. La función modbus.writeSingleCoil se ejecutará cada segundo para alternar el valor de la dirección que se ha definido. En la pantalla habremos definido un botón que alternará su color. El siguiente blog explica la biblioteca con más detalle: Modbus TCP Master with Industrial Arduino based PLC . En nuestro caso tendremos que cambiar la dirección de la pantalla a 1, ya que será la que usemos.

          if (!modbus.writeSingleCoil(slave, 1, 0, value)) {
            // Failure treatment
            Serial.println("Request fail");
          }

    Para enviar valores analógicos, usaremos el ejemplo ModbusTCPMasterWriteSingleRegister y, como se hizo anteriormente, definiremos las IPs correctamente.
    En este caso, los personajes serán enviados al azar cada segundo.

          if (!modbus.writeSingleRegister(slave, 1, 0, value)) {
            // Failure treatment
            Serial.println("Request fail");
          }
    Una vez terminadas las modificaciones, sube el programa al PLC.

    Video


    En los siguientes vídeos, puedes ver cómo configurar la pantalla de la HMI y cómo debería funcionar la comunicación entre el PLC y la pantalla. Todos los pasos que se hacen, están previamente explicados en el blog.

     
     


    Buscar en nuestro blog

    Cómo conectar una pantalla HMI usando el PLC de Arduino
    Boot & Work Corp. S.L., Marti Guillem Cura 24 de diciembre de 2020
    Compartir

    ¿Estás buscando tu Controlador Lógico Programable ideal?

    Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

    Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


    Industrial PLC comparison >>>