Arduino atmega644/1284 clone + ethernet shield + advancedHMI VB NET + MODBUS TCP (1 / 4 steg)
Steg 1: Le programmet de l'arduino atmega644/1284 klon
Modbus TCP kommunikation sker genom läste register och skrivit register över 16 bitar att du måste skapa under mudbus biblioteket i arduino programmet så här:
Mb.R[0] till Mb.R[255] till exempel (för 16 bitar register)
Mb.C[0] till Mb.C[255] till exempel (för 1 bit register)
Du kan använda det register du vill Mb.R[i] eller Mb.C[i].
Du kan inte nå direkt input eller produktionen stift klonens så måste du använda dessa register.
I den progromed levereras för klon, behöver du att veta det finns en annan pin adressing beetween arduino uno och klon:
Exemple: Arduino Uno pin D8: connexion stift 20 atmega644/1284 klonens: så ta 14 (D14) (se tabellen ovan i min arduino klon projekt).
I min enkla program har du sätt att använda dessa register med in- och utgångar.
Med ethernet, remenber som du behöver för att ge ett IP-adresse till skölden. I mitt exempel:
uint8_t ip [] = {192, 168, 1, 244};
uint8_t gateway [] = {192, 168, 1, 1};
uint8_t undernät [] = {255, 255, 255, 0};
Se medföljande exemplet.
Nästa länk beetween arduino klon register och AdvancedHMI widgets.
La kommunikation modbus TCP se fera par l 'intermédiaire de föreläsning ou d' écriture de göra 16 bitar créés par la librairie mudbus de l'arduino et försvinner les noms de:
Mb.R[0] à Mb.R[255] par exemple
Mb.C[0] à Mb.C[255] par exemple
På peut utiliser indifféremment l'un ou l'autre de ces registres.
Les förrätter/sorties de l'arduino ne peuvent pas être directement pilotable ou supervisées. Il faut obligatoirement passer par ces registres.
Dans le programmet fourni Häll l'arduino klon penser à prendre sv compte le changement de pin:
Arduino Uno pin D8: connexion stift 20 atmega644/1284: d'où adresse 14 (D14).
L'exemple fourni vous donne la struktur de bas à arbetsgivaren Häll gérer ces registres de kommunikation.
Häll paramétrer l'ethernet sköld, vous n'avez qu'à modifier les rubriques suivantes sv fonction de votre réseau:
uint8_t ip [] = {192, 168, 1, 244};
uint8_t gateway [] = {192, 168, 1, 1};
uint8_t undernät [] = {255, 255, 255, 0};
Je ansluter sig till l'exemple.