Problème avec modbus ip

Bonjour tout le monde , j'ai un probleme de communication entre mon arduino mega avec Ethernet shield et un plc m340 shneider. J'utilise la library de adreasermento modbus ip sur github.

Je suis capable de recevoir les donné de mon arduino sur le m340 mais je ne suis pas capable d'envoyer de mon plc a mon arduino.

L'arduino est le slave et le m340 le master.

Quelqu'un peu m'aider avec ce problème?

Voici un condensé du code qui ne fonctionne pas

Merci d'avance!

#include <SPI.h>
#include <Ethernet.h>
#include <ModbusIP.h>
#include <Modbus.h>
 
ModbusIP mb;
 
const int Hreg_versM340 = 100; //adress modbus 40101 sur m340
const int Hreg_deM340 = 110; //adress modbus 40111   sur m340
word versM340 ;
word deM340 ;
 
 
void setup() {
 
Serial.begin(19200);
 
//setup pour modbus
byte mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
byte ip[] = {999, 9, 9, 999};  //pas la vrais adresse  
mb.config (mac, ip);
mb.addHreg(Hreg_versM340);
mb.addHreg(Hreg_deM340);
}
 
 
void loop() {
mb.task ();
versM340 = 1234;
mb.Hreg(Hreg_versM340,versM340) ; //je lis 1234 sur mon plc a l'adress 40101
 
deM340 = mb.Hreg(Hreg_deM340) ; //j'ecris 1234 sur l'adresse 40111 de mon plc
serial.println (deM340); // la variable reste toujours a 0 
}`

Bonjour,

Le code disparaîtra et ce fil de discussion deviendra incompréhensible.
Merci de copier/coller le code dans le corps du message entre balises <code/> tel que demandé dans "Les bonnes pratiques du forum Francophone"

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.