Stap 1: Le programma de l'arduino atmega644/1284 kloon
De modbus TCP mededeling is gedaan door gelezen registers en geschreven registers van elk 16 bits dat u moet maken onder de mudbus-bibliotheek in de arduino programma als dit:
Mb.R[0] aan Mb.R[255] bijvoorbeeld (voor 16-bits registers)
Mb.C[0] aan Mb.C[255] (bijvoorbeeld 1 bit registers)
U kunt het register u wilt Mb.R[i] of Mb.C[i].
Niet rechtstreeks bereiken de ingang of uitgang van de pin van de kloon zodat u hoeft om deze registers te gebruiken.
In de progromed voor de kloon wordt geleverd, moet u weten dat er een andere pin omgaan beetween is de arduino uno en de kloon:
Voorbeeld: Arduino Uno pin D8: connexion pin 20 van de atmega644/1284-kloon: 14 (D14) (Zie de vorige tabel in mijn project van de kloon arduino) zo te pakken.
In mijn eenvoudige programma heb je de manier register te gebruiken deze met inputs en outputs.
Met de ethernet, remenber die u nodig hebt om een IP-adres aan het schild. In mijn voorbeeld:
uint8_t ip [] = {192, 168, 1, 244};
uint8_t gateway [] = {192, 168, 1, 1};
uint8_t subnet [] = {255, 255, 255, 0};
Zie de meegeleverde voorbeeld.
Volgende link beetween arduino kloon registers en AdvancedHMI widgets.
La mededeling modbus TCP se fera par l 'intermédiaire de Hoorcollege ou d' écriture de registre 16 bits créés par la librairie mudbus de l'arduino et portant les noms de:
Mb.R[0] à Mb.R[255] par exemple
Mb.C[0] à Mb.C[255] par exemple
Op peut utiliser indifféremment l'un ou l'autre de ces registres.
Les entrées/vluchten de l'arduino ne peuvent pas être directement pilotable ou supervisées. Il faut obligatoirement passer par ces registres.
Dans le programma door pour l'arduino kloon penser à prendre nl compte le changement de pin:
Pin van de Arduino Uno D8: connexion pin 20 atmega644/1284: d'où adresse 14 (D14).
L'exemple door vous donne la structuur de base à werkgever pour gerer ces registres de mededeling.
Pour paramétrer l'ethernet schild, vous n'avez qu'à modifier les rubriques suivantes nl fonction de votre réseau:
uint8_t ip [] = {192, 168, 1, 244};
uint8_t gateway [] = {192, 168, 1, 1};
uint8_t subnet [] = {255, 255, 255, 0};
Je vervoegt l'exemple.