Busca en nuestro Blog. Encontrarás múltiples aplicaciones, soluciones, ejemplos de código. Navega utilizando la nube de etiquetas o busca utilizando criterios específicos

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


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

PLC Ethernet:      Ethernet PLC     

Placas Industrial Shields:   Industrial Shields Boards


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 Ethernet / Ethernet 2 library

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




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

¿Quieres más informacion? 

¡Solo llena el formulario! 

¡Quiero saber más!  Por favor, llene el formulario correctamente.