Etape 1: Le programme de l'arduino atmega644/1284 clone
La communication TCP modbus est réalisée en lire les registres et écrit des registres de 16 bits chacun qu’il faut créer sous la bibliothèque mudbus dans le programme arduino comme ceci :
Mb.R[0] à Mb.R[255] par exemple (pour les registres de 16 bits)
Mb.C[0] à Mb.C[255] par exemple (pour les registres de 1 bit)
Vous pouvez utiliser le registre vous souhaitez Mb.R[i] ou Mb.C[i].
Vous ne peut pas atteindre directement l’entrée ou sortie broche du clone donc vous devrez utiliser ces registres.
Dans le progromed fourni pour le clone, il faut savoir qu'il y a un axe différent adressing beetween l’arduino uno et le clone :
Exemple : Goupille de Arduino Uno D8 : broche de connexion 20 du clone atmega644/1284 : donc adresse 14 (D14) (voir le tableau précédent dans mon projet de clone arduino).
Dans mon programme simple, vous avez la façon d’utiliser ces Registre avec entrées et sorties.
Avec l’ethernet, n’oubliez pas que vous devez donner une adresse IP pour le bouclier. Dans mon exemple :
uint8_t ip [] = {192, 168, 1, 244} ;
uint8_t passerelle [] = {192, 168, 1, 1} ;
uint8_t sous-réseau [] = {255, 255, 255, 0} ;
Consultez l’exemple fourni.
Ensuite, le lien beetween arduino clone registres et widgets de AdvancedHMI.
La communication modbus TCP se fera par l « intermédiaire de conférence ou de » écriture de registre 16 bits créés normale la librairie mudbus de l'arduino et portant les noms de :
À Mb.R[255 de Mb.R[0]] par exemple
À Mb.C[255 de Mb.C[0]] par exemple
Sur peut utiliser indifféremment l'un ou l’autre de ces registres.
Les entrées/sorties de l'arduino ne peuvent pas être directement pilotable ou supervisées. Il faut obligatoirement passer par ces registres.
Dans le programme fourni versez l'arduino clone penser à prendre en compte le changement de NIP :
Goupille de Arduino Uno D8 : connexion broche 20 atmega644/1284: d' adresse où 14 (D14).
L’exemple fourni vous donne la structure de base à employeur verser gérer ces registres de communication.
Versez les paramétrer l'ethernet bouclier, vous n’avez qu'à modificateur les rubriques suivantes en fonction de votre réseau :
uint8_t ip [] = {192, 168, 1, 244} ;
uint8_t passerelle [] = {192, 168, 1, 1} ;
uint8_t sous-réseau [] = {255, 255, 255, 0} ;
Je rejoint l’exemple.