Los dispositivos de interfaz Humano-Máquina (HMI) nos permiten el control y monitoreo en los procesos ofreciendo una visualización clara para los usuarios, a estos se les pueden conectar distintos equipos de control como PLCs usando los puertos disponibles y/o mediante algún protocolo de comunicación. Los PLCs de Controllino en sus modelos MAXI y MEGA ofrecen la ventaja de poder ser conectados con paneles HMI usando el protocolo Modbus ya sea a través de su puerto Ethernet (TCP/IP) o con el puerto RS485 (interfaz SN65HVD08) integrado en ellos.
En este blog les explicaremos cómo conectar el PLC de Controllino con el HMI usando Modbus TCP/IP (Nota: se debe seleccionar la librería correcta buscando en la dirección del menú de Arduino IDE Tools->Board->Controllino MINI/MAXI/MEGA, si no encuentra el archivo deseado puede usar la esta liga para descargarlo, ya que la necesita antes de cargar el código al PLC).
En este caso lo que va a necesitar para la configuración es: 1 equipo PLC de Controllino MAXI ó MEGA, una fuente de alimentación de 12/24 VCD (la cual deberá configurar para que el voltaje que reciban los PLC no exceda los 5 Volts, o se corre el riesgo de dañar permanentemente los equipos), el panel HMI que desea controlar, 2 cables Ethernet y 1 router.
Paso 1: Configuración del HMI
Primeramente se hace la configuración para el HMI desde el software designado de acuerdo con la marca y/o compatibilidad de productos, preferentemente implementa uno que cuente con las versiones y drivers más actuales. Dentro del mismo, vamos a crear los tags analógicos R0, D0, D1 y A0, realizando la configuración mostrada en la imagen debajo:
Una vez que hayamos creado los tags con las direcciones para Modbus TCP vamos a crear el dispositivo I/O Modbus para que se conecta al PLC de Controllino MAXI ó MEGA, en la opción de su software para dispositivos I/O vamos a crear uno nuevo, después definimos que se a de tipo Ethernet, luego definimos la estación como “0” (en caso de requerirlo) y por último ingresamos la dirección IP asignada al PLC; si desconoce cuál es esta dirección puede usar esta guía, cargar el código al Monitor Serial para que le muestre la IP correspondiente.
Paso 2: Usar ModbusRTU
Para lograr la conexión necesitamos cargar antes las librerías de Modbus TCP de este enlace, tan solo hace falta descargar el archivo, descomprimir la carpeta y guardarla el “Arduino>Libraries”. Ya con nuestra dirección IP del PLC procedemos a cambiar esta dirección en el siguiente código y subirlo al dispositivo:
#include <Controllino.h>
#include <SPI.h>
#include <Ethernet.h>
#include “Mudbus.h”
Mudbus Mb;
int D0 = CONTROLLINO_D0;
int D1 = CONTROLLINO_D1;
int R0 = CONTROLLINO_R0;
int A0_ = CONTROLLINO_A0;
//Function codes 1(read coils), 3(read registers), 5(write coil), 6(write register)
//signed int Mb.R[0 to 125] and bool Mb.C[0 to 128] MB_N_R MB_N_C
//Port 502 (defined in Mudbus.h) MB_PORT
void setup()
{
uint8_t mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };
uint8_t ip[] = { 192, 168, 0, 103 }; // CHANGE this to the IP address of your CONTROLLINO
uint8_t gateway[] = { 192, 168, 0, 254 };
uint8_t subnet[] = { 255, 255, 255, 0 };
Ethernet.begin(mac, ip, gateway, subnet);
delay(5000);
Serial.begin(9600);
Serial.println(“Started”);
pinMode(D0, OUTPUT);
pinMode(D1, INPUT);
pinMode(R0, OUTPUT);
pinMode(A0_, INPUT);
}
void loop()
{
Mb.Run();
analogWrite(D0, Mb.R[0]);
digitalWrite(R0, Mb.R[2]);
Mb.R[1] = digitalRead(D1);
Mb.R[3] = analogRead(A0_);
}
Finalmente asegurarnos de que los dispositivos están conectados como se muestra en el diagrama de la primera imagen de este blog y realizar la prueba.
En Logicbus contamos con información amplia para lograr expandir las aplicaciones en las que puede usar sus PLCs de Controllino. Esperamos con mucho gusto sus dudas y agradecemos su atención.
Contáctanos
ventas@logicbus.com | soporte@logicbus.com | 55-5431-67-18 | Iniciar conversación