Guten Morgen, nachdem ich seit Jahren begeistert eure Beiträge lese muss ich mich heute mit meiner ersten Frage an euch wenden, in der Hoffnung, dass ich ein bisschen Input / Gedankenanregungen von euch bekommen kann.
Ich habe mit einem STM32F103 folgendes für eine Applikation schon realisiert.
STM32 spielt Modbus RTU Slave und erhält über UART RS485 (Modbus) Steuerbefehle. Diese setzt er intern um, bzw. steuert einzelne digitale I/Os und gibt auch entsprechende Antwort auf der Modbsu RTU Leitung an den Master zurück. Diese oben beschriebene Elektronik hat noch DIP Schalter zur Einstellung der jeweiligen Slave Adresse.
(Konkret geht es darum, dass ein Modbus Master viele versch. Klimaanlagen in einem Hotelgebäude über Modbus ansteuern kann)
Aktuell sitzen ca 40 dieser Geräte in einem Modbus Netz, ein Modbus Master sendet die Steuerbefehle an die jeweiligen Slaves und diese setzen die Steuerbefehle (kühlen, heizen, Lüfterstufen etc.) um. Eingangssignale an den Slave über UART Interrupt im µC, Steuerbefehle an den Master über Sendebefehle aus der HAL
Die einzelnen Modbus Header und Steuerbefehle konnte ich alle umsetzen und an sich läuft das System nun seit 6 Monaten sehr gut.
Die neue Applikation sieht vor, dass GENAU DIE GLEICHEN FUNKTIONALITÄTEN nun über Modbus TCP realisiert werden sollen.
Also 1 Modbus TCP Master sendet an die Slaves eben die gleichen Steuerbefehle und Abfragen (Heizen/Kühlen/Lüfterstufen/Fehlerabfragen/Betriebsstundenabfragen etc. etc)
Und genau da liegt mein Problem: Ich habe mit div. STM32 Prozessoren unter Zuhilfenahme von CubeMX und Cube IDE schon diverse Kommunikationen realisiert (USB über VCP, I2C, SPI, RS485 etc.) aber noch NIE etwas mit ETH/TCP zu tun gehabt.
Habe schon gesehen, dass der STM32F107VCT6 schon "Ethernet" mit an Bord hat, aber ich habe keinerlei Ahnung wie ich hier anfangen soll. Bietet die HAL hier etwas "fertiges"?
Hat irgend jemand die "ersten Schritte" diesbezüglich für mich und kann mir evtl. sogar sagen wie groß der Aufwand ist so etwas zu portieren bzw. wie die Vorgehensweise hier ist?
Für jede ernst gemeinte Antwort bin ich überaus dankbar