В одном из своих проектов я применил следующую схему, каждый слейв имеет два канала (основной и резервный), всего 40 слейвов и два мастера ( один мастер в горячем резерве), при начальной инициализации мастер дает запрос слейву по обоим каналам, на каком канале получен ответ на том канале слейв и остается, в процессе работы если нет ответа от слейва за отведенный таймаут, то поиск слейва ведется на другом канале. Ширина канала должна быть такой что бы все устройсва могли быть обслужены за отведенное время (таймаут). Используемый протокол MODBUS.
|