Сталкивался с такой прорблемой, попробую ответить.
Здесь есть несколько моментов.
1. Возможны разные скорости обмена. Даже если сейчас устройства имеют одинаковую скорость, возможно потребуется добавление еще чего-нибудь.
2. Возможно присутствие недокументированных команд в протоколах. Это кстати бывает достаточно часто.
При этом должна быть уверенность, что устройства не будут глючить при приеме некорректных, с их точки зрения пакетов данных. Такую гарантию ни один производитель тебе не даст. Т.е. даже если все заработает, может глюкнуть через месяц, год,...
В стандартных сетевых протоколах обычно предусмотрена инкапсуляция пакетов верхнего уровня в пакетах физического уровня (Ethernet, PPP).
Можно сделать свой протокол обмена по rs485, в который инкапсулировать протоколы устройств. На каждое устройство повесить преобразователь интерфейса. Соответсвенно, в пакете нижнего уровня можно указывать тип инкапсулированного протокола, скорость обмена и т.д.
Но мороки конечно много. К тому-же, полного plug play достигнуть не удастся, т.к. нужно будет привязывать преобразователь интерфейса к типу устройства, для сети 485 задавать адреса и т.д.