Cómo crear un cliente TCP en un PLC basado en Arduino

17 de diciembre de 2018 por
Cómo crear un cliente TCP en un PLC basado en Arduino
Alejandro Jabalquinto


Introducción

En este post te mostramos muestra cómo conectarse a un servidor TCP desde un PLC industrial basado en Arduino. Necesitas solo un controlador M-Duino con conexión Ethernet y un servidor TCP disponible. 


Requisitos


Descripción

Antes de empezar con este post, echa un vistazo a este ejemplo. Consiste en implementar una TCP SERVER ON TOUCHBERRY PI 3 WITH NODE.JS

Una vez que el servidor está funcionando, el PLC industrial M-Duino puede conectarse al servidor. En este ejemplo se utiliza un controlador industrial M-Duino para conectarse con el servidor Node.js llamado server.js, el mismo que se utilizó en el ejemplo anterior de enlace.

Para configurar el M-Duino, este post solo sigue el ejemplo TCP del sitio web de Arduino con algunos cambios. Para poder conectarte al servidor, debes conocer la IP del servidor TCP y el puerto donde este servidor está escuchando. 


Ejemplo

A continuación te mostramos el código de Arduino::

#include <Ethernet.h>
#include <SPI.h>

byte mac[] = { 0xBE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 1, 100 };
byte server[] = { 192, 168, 1, 105 }; // Touchberry Pi Server
int tcp_port = 5566;

EthernetClient client;

void setup()
{
  Ethernet.begin(mac, ip);
  Serial.begin(9600);

  delay(1000);

  Serial.println("Connecting...");

  if (client.connect(server, tcp_port)) { // Connection to server.js
    Serial.println("Connected to server.js");
    client.println();
  } else {
    Serial.println("connection failed");
  }
}

void loop()
{
  if (client.available()) {
    if(Serial.available()){
      char s = Serial.read();
      client.write(s); // Send what is reed on serial monitor
      char c = client.read();
      Serial.print(c); // Print on serial monitor the data from server 
    }
  }

  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
    for(;;)
      ;
  }
}

 

Para más información, mira en la web de Arduino las funciones del TCPs Biblioteca Ethernet / Ethernet 2 

Una vez que el esquema se ejecuta en el M-Duino, a través del monitor serial es posible enviar datos al servidor y estos datos son respondidos e impresos también en el monitor serial. En este ejemplo se escribe "Hola servidor.js" al monitor en serie. A continuación, te mostramos dos capturas de pantalla con la respuesta de esta operación, una del server.js en la Raspberry y la segunda del monitor de serie M-Duino::

server.js Raspberry - How to create a TCP Client on an Arduino based PLC


M-Duino Serial Monitor - How to create a TCP Client on an Arduino based PLC

 Consulta nuestro blog para resolver tus dudas técnicas o conocer más sobre nuestros productos.

Buscar en nuestro blog

Cómo crear un cliente TCP en un PLC basado en Arduino
Alejandro Jabalquinto 17 de diciembre de 2018

¿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 >>>