views:

1169

answers:

3

Can someone suggest an open source implementation of a Modbus RTU Slave for a Microchip PIC18 processor? I'm looking for an implementation of Modbus RTU for RS-232/RS-485, but a Modbus TCP/IP implementation would be welcome as well.

A: 

Solutions seems limited. There a example code at www.sourceboost.com which is freemodbus port targeting their compiler. Also porting Freemodbus on your own to a PIC18 should not be to hard. I have used the free mod bus library without any problems on larger processors but I see there is AVR ports.

Gerhard
+2  A: 

I've implemented a Modbus RTU (and ASCII) slave for PIC18 but using USB instead of RS232/485. It would be very easy to convert to RS232/485 though as the protocol code only requires character transmit and receive functions. I can help you with this if required.

Take a look at my USB Modbus I/O page at http://www.fieldofcows.com/index.php?title=USB_Modbus_Interface to see if it meets your needs. The page includes a download link for the source code. The source is released under GNU GPL.

+1  A: 

You can find a Modbus RTU and TCP slave implementation in 'C' source code form at http://www.colwaysolutions.com. Since the implementation is in ANSI 'C' you can port it easily to PIC too. The vendor also provides ports to a few popular micro controller cores like 8051, ARM, Coldfire etc. including for some RTOS kernels (OS9, MQX, uc-OS). The library is very light weight consuming negligible RAM and ROM space.

gho