Bonjour à vous tous
Je suis sur un projet d’un contrôleur pour mon installation Photovoltaïque.
J’ai réalisé cette carte « CPU_1284 » qui pour but de géré l’installation solaire et de transféré des données entre claques équipements.
J’utilise un ATMEGA1284 sur ce projet.
J’ai besoin des 5 bus de communication pour ce projet.
UART 0 pour la communication Modbus avec les 2 régulateurs de charge, et un module d’entrées sortie décentralisé.
UART 1 Pour la communication avec les onduleurs
UART 2 (SoftwareSerial) pour la communication avec un transmetteur de puissance.
ETHERNET (module W5500) pour la communication avec mon automate S7-300 Siemens de ma domotique
I2C pour l’affichage sur un LCD 20x4, un clavier, et un écran oled SSD1309 (qui ne fonctionne pas)
Je galère avec la communication Ethernet :
J’essaye de faire communiqué l’automate avec la CPU_1284 dans le but que l’automate lise un tableau de 64 mots (int) et qui écrive dans un tableau de 32 mots (int)
Du côté de l’automate, j’utilise les fonction AG_SEND pour envoyer une trame et AG_RECEIVE pour lire une trame.
J’’utilise c’et fonctions avec une passerelle Ethernet RS485 de Moxa, et la liaison série entre la passerelle et un Atmega, ça fonctionne.
Maintenant je souhaite que l’automate communique directement avec ma CPU_1284 en Ethernet.
L’automate et le client, et ma CPU_1284 et un serveur.
J’ai dû mal à comprendre les fonction client.read() , client.write() serveur.write(),…
// _________________________________________ Ethernet
// si un client entrant se connecte, il y aura des octets disponibles à lire :
EthernetClient client = server.available();// crée un objet Client correspondant au client détecté par le serveur
if (client && client.connected()) // si l'objet client n'est pas vide
{
affC(); // DM9368 AFFICHE C sur 7 SEGMENTS
if (client.available()>0)
{
EchangeEcritureSiemens[32] = client.read();
// ?????????
server.write(EchangeLectureSiemens[64]);
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
aff1(); // DM9368 AFFICHE 1 sur 7 SEGMENTS
}
J’espère d’être bien clair dans mon sujet.
Cordialement

