Introduction
This post is showed how to create a server TCP on an Arduino based PLC.
Requirements
Ethernet or 20 I/Os PLC: Ethernet PLC 20 I/Os PLC
Industrial Shields boards: Industrial Shields Boards
Description
Once the server is running, any client can connect to the server. In this example, it is used an M-Duino to generate the server. The example of TCP client showed before could be one of the clients.
Example
Next it is showed the Arduino IDE code:
// use Ethernet.h if you have a M-Duino V7 version #include <Ethernet2.h> // mac address for M-Duino byte mac[] = { 0xBE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Ip address for M-Duino byte ip[] = { 192, 168, 1, 100 }; int tcp_port = 5566; EthernetServer server = EthernetServer(5566); void setup() { // initialize the ethernet device Ethernet.begin(mac, ip); // start server for listenign for clients server.begin(); } void loop() { // if an incoming client connects, there will be bytes available to read: EthernetClient client = server.available(); if (client.available()) { // read bytes from the incoming client and write them back // to the same client connected to the server client.write(client.read()); } }
Once the sketch is running on Arduino based PLC any client can connect with this echo server.
For more information see on Arduino web site the TCP functions Ethernet / Ethernet 2 library
How to create a server TCP on an Arduino based PLC.