Introduction: Comunicação Modbus TCP Entre Arduino E Elipse E3
O objetivo deste projeto é realizar a comunicação Modbus entre o Arduino e o Elipse E3
Materiais utilizados:
- Arduino UNO
- Potenciomentro de 10k ohm
- Jumpers
- Biblioteca do Arduino
- Software Elipse E3
- Cabo usb para comunicação do Arduino
Step 1: Entrar No Link Do Site Do Elipse E Baixar O .dll Do Driver Modicon Modbus Master (ASC/RTU/TCP)
https://www.elipse.com.br/downloads/?key=modicon+modbus&language=ptbr#header-main
Step 2: Criar O Projeto No Elipse E3
Ao criar o projeto no Elipse, nesta parte selecionar a .dll baixada.
Step 3: Inserir O Driver De Comunicação
Step 4: Configuração Do Driver De Comunicação
Step 5: Inserir E Configurar a Tag De Comunicação
Step 6: Biblioteca Para O Arduino
Entrar no link do site abaixo e baixar abiblioteca Mudbus 1_0.zip.
https://code.google.com/archive/p/mudbus/downloads
Renomear o arquivo Mudbus.cpp para M0dbus.h e apagar o .cpp
Step 7: Código Do Arduino
#include "SPI.h"
#include "Ethernet.h"
#include "Mudbus.h"
#include "M0dbus.h" // renomear o arquivo Mudbus.cpp para M0dbus.h
Mudbus Mb; //Port 502 (defined in Mudbus.h) MB_PORT
void setup()
{
uint8_t mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x51, 0x06 }; //mac da placa ethernet
uint8_t ip[] = { 192,168,0,8}; // ip da placa ethernet (escolher um)
uint8_t gateway[] = { 192,168,0,1 }; // ip do modem
uint8_t subnet[] = { 255, 255, 255, 0 };
Ethernet.begin(mac, ip, gateway, subnet);
delay(5000);
pinMode(8, OUTPUT);
}
void loop()
{
Mb.Run();
digitalWrite(8, Mb.R[0]);
Mb.R[1] = digitalRead(7);
}
Step 8: Testando
Ao compilar o código do Arduino entrar no Elipse E3 e dar "play" e os valores devem aparecer em azul como na imagem de exemplo acima.
Comments