Look for in our Blog. You will find multiple applications, solutions, code examples. Navigate using the tag cloud or search using specific criteria

Ethernet Troubleshooting

Troubleshooting of Ethernet, available only for M-Duino family, step by step:

  • Ensure that the controller is powered between 12-24 Vdc. Just with USB is insufficient power to power up the Ethernet communication. 

  • For the Ethernet communication protocol there isn't any switch that affects it. So it does not matter the configuration of the switches to implement Ethernet communication. 

  • For Ethernet communication protocol, the defined Arduino Mega pin is pin 10, which is connected and already assembled to the WX5500 Ethernet controller. W5500 IC communicates to the Mega board via SPI bus already assebmled too. You can access easly to Ethernet port in our Ethernet PLCs, it is located at the top of the communications layer. 


IMPORTANT: Make sure to download the Arduino based PLC boards for Arduino IDE. 


Software Configuration


Once the hardware configuration is done, it is possible to proceed with the software configuration and also its usage. Firstable it is necessary to include the Ethernet2.h library provided by Industrial Shields (has the same functionallity as Ethernet.h and also the same usage).

*Attention do not use old libraries like MDuino.h or Ardbox.h, these libraries are deprecated and can cause mapping issues to your controller.


For versions V7 or earlier you must use the <Ethernet.h> library. 


Software Example 

To see that Ethernet works correctly, in this example we define a M-Duino as a client and connect to an operating server, Google. If the connection was succesful, "Conected to server" is printed, otherwise "Connection failed!". 


// use Ethernet.h if you have a M-Duino V7 version or +
#include <Ethernet2.h>

byte mac[] = {0xBE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // mac address for M-Duino
byte server[] = {8, 8, 8, 8}; // Google 
int tcp_port = 53; // DNS port
char character;
bool ping = false;
int start_time;

EthernetClient client;

void setup(){
  Serial.begin(9600);
  Ethernet.begin(mac); // IP given by DHCP
  Serial.println(Ethernet.localIP()); // print M-Duino ip
  Serial.println("Connecting...");
  if (client.connect(server, tcp_port)){ // Connection to server
    Serial.println("Connected to server");
  } 
  else Serial.println("Connection failed!"); 
}

void loop(){
}


Be sure about...


  • Define an IP for the M-Duino. 

  • That the server you want to connect to is active. 

  • You connect to the right port.