Если надо написать код,который нужно понять,сопроводить и доработать,или перенести с десктопа на МК - это либмодбас.Я сам фанат qt,но там это немного не то.
Если надо написать код для ПЛК, понять и сопроводить его, а тем более перенести с вендора на вендора, то это языки IEC, но никак не си. Сюрпрайз?