#include <SPI.h>
#include <Ethernet.h>
#include <ModbusEthernet.h>
byte mac[] = {
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 30, 177);
ModbusEthernet mb;
void setup() {
Serial.begin(115200); // Open serial communications and wait for port to open
#if defined(AVR_LEONARDO)
while (!Serial) {} // wait for serial port to connect. Needed for Leonardo only
#endif
Ethernet.init(5); // SS pin
Ethernet.begin(mac, ip); // start the Ethernet connection
delay(1000); // give the Ethernet shield a second to initialize
mb.server(); // Act as Modbus TCP server
mb.addReg(HREG(100)); // Add Holding register #100
}
void loop() {
mb.task(); // Server Modbus TCP queries
delay(50);
}