В приведенном ранее примере мы пытались включить в систему несколько мастеров одновременно. На основе коменд Модбас попродили обмен между мастерами, выделили им зону адресов в верхней части адресного пространства. В единицу времени в системе только один активный мастер, остальные считаются пассивными: слушают все, копят, что надо и т.п. Активный мастер в конце опроса слейвов, также опрашивает все пассивные мастера на предмет наличия у них каких-то потребностей по чтению-записи в какие-то слейвы. Кроме того, активный спрашивает, не хочет ли кто-то из них стать активным. Если есть желающие, то одному из них передается управление. В этом месте был глюк с приоритетами, потом решили отдавать управление по очередности опроса, получилось, кто в конце был опрошен, тот и получал управление. Вся эта бодяга реализована и установлена на одном из объектов, но...сейчас в системе всего один мастер, остальные разведены каналами, как говорилось раньше, так как этот алгоритм пока не отлажен, а на живом объекте это делать нежелательно и опасно.
--------------------
|