на Raspberry Pi можно ничего не писать а использовать готовое.

CodeSys 3.5 - 50$ примерно
RapidScada - от бесплатной до Х цены в зависимости от модулей. (К сожалению режима Modbus Slave нет, потому что это Scada)
Есть еще аналог с МЭК языками от Итальянцев, но там ценник примерно 800$

Да наверняка еще есть варианты.