Kann jemand eine Open-Source-Implementierung eines Modbus-RTU-Slaves für einen Microchip PIC18-Prozessor vorschlagen? Ich suche eine Implementierung von Modbus RTU für RS-232/RS-485, aber eine Modbus TCP/IP-Implementierung wäre auch willkommen.Modbus-Stack für Microchip PIC
Antwort
Ich habe einen Modbus RTU (und ASCII) Slave für PIC18 implementiert, aber benutze USB anstelle von RS232/485. Es wäre sehr einfach, zu RS232/485 zu konvertieren, da der Protokollcode nur Zeichenübertragungs- und -empfangsfunktionen erfordert. Ich kann Ihnen bei Bedarf dabei helfen.
Werfen Sie einen Blick auf meine USB-Modbus-E/A-Seite unter http://www.fieldofcows.com/index.php?title=USB_Modbus_Interface, um zu sehen, ob sie Ihren Anforderungen entspricht. Die Seite enthält einen Download-Link für den Quellcode. Die Quelle ist unter GNU GPL veröffentlicht.
Lösungen scheint begrenzt. Es gibt einen Beispielcode unter www.sourceboost.com, bei dem es sich um einen Freemodbus-Port handelt, der auf ihren Compiler zielt. Auch die Portierung Freemodbus auf eigene Faust zu einem PIC18 sollte nicht zu schwer sein. Ich habe die kostenlose Mod-Bus-Bibliothek ohne Probleme auf größeren Prozessoren verwendet und sehe, dass es AVR-Ports gibt, so dass ein PIC-Port möglich sein sollte.
Sie können eine Modbus RTU- und TCP-Slave-Implementierung in 'C' Quellcodeform unter http://www.colwaysolutions.com finden. Da die Implementierung in ANSI 'C' ist, können Sie sie auch problemlos in PIC portieren. Der Hersteller stellt auch Ports für einige populäre Mikrocontroller-Kerne wie 8051, ARM, Coldfire usw. zur Verfügung, einschließlich für einige RTOS-Kernel (OS9, MQX, uc-OS). Die Bibliothek ist sehr leicht und verbraucht wenig RAM- und ROM-Speicher.
Microchip hat vor kurzem eine Modbus TCP server freigegeben, die ihren TCP/IP-Stapel verwendet. Ich habe es erfolgreich benutzt.