Автор: Evgueny Tikhonovitch
Дата: 17.10.06 16:25
Уважаемый kiran!
На Ваше письмо от 16 октября 2006 г. 12:54 :
k> Проектируем сеть с Modbus на RS-485 интерфейсе. идея такая что у мастера
k> Modbus, есть два порта RS-485, из одного порта выходит кабель обегает
k> некоторое число Slave'ов ModBus'a и возвращается во второй порт. таким
k> образом если один порт отваливается мастер работает через второй порт.
k> Если кабель порвется посередине, получится как бы две сети модбаса и
k> мастре через свои порты будет видеть все слейвы.... Теоретически. А вот
k> как насчет практики? насколько стабильной будет связь? кто нибудь делал
k> подобные системы? Есть ли какие то общие или частные рекомендации по
k> увеличению надежности и стабильности связи в данном случае?
Тогда получается, что пока линия цела, должен работать один мастер,
а второй должен всегда молчать. Как только линия рвется где-то
посередине - включается второй мастер. Как только выходит из строя
первый мастер - также начинает работать второй.
Положим, известить второй мастер о том, что первый отвалился -
возможно.
А как второй мастер узнает о том, что линия порвана где-то
посередине? Разве что первый мастер, не получив отклик от части
слейвов (хотя бы от одного), решит, что линия порвана и известит об
этом второй мастер. В этом случае еще необходимо узнать, где именно
порвалась линия и какую часть оставить первому мастеру, а какую
перебросить на второй (чтобы второй мастер не слал пакеты всем подряд
и не ждал от каждого несуществующего слейва отклика). Разрыв может
возникнуть где угодно. А как быть со случаем, когда просто сам слейв
перестал отвечать, а вся линия при этом цела? Прикиньте, сколько
исключений надо обработать, да еще вдобавок контроллер должен знать
топологию сети, чтобы точно определить место обрыва.
В общем, действительно извращение.
Фактически мы получаем два мастера с одним адресом в сети. Это
не соответствует спецификации ModBUS. Для начала. Если уж говорить о
двух мастерах, то по-моему следует подумать о ModBUS+, где мастеров
может быть несколько. Я уж не говорю, что будет твориться на
физическом уровне в линии RS-485, когда в неё включатся два мастера -
ничего хорошего.
Вообще, ни RS-485 (на физическом уровне) ни ModBUS (на уровне
протокола) резервирования не подразумевают, следовательно и
применяется такая линия связи там, где резервирование не требуется
ИЗНАЧАЛЬНО. Если линия передачи должна быть резервирована изначально
(то есть согласно ТЗ) - на этот случай разработаны специальные
резервированные интерфейсы, например Манчестер. Их и надо применять в
таком случае, если резервирование действительно строго необходимо. Там
и оборудование соответствующее, и контроллеры другие. А коль у Вас
RS-485 ModBUS - просто смонтируйте линию связи как следует, поставьте
повторители там где надо - и всё будет надежно работать.
Предложенные Вами изыски сильно усложнят систему, и тем самым
СНИЗЯТ её надежность, в то время как надежность любой системы обратно
пропорциональна её сложности - еще неизвестно, что надежнее будет.
С Уважением, Евгений Тихонович,
руководитель группы корабельной автоматики,
конструкторский отдел КО-1.
--
ОАО "Новая ЭРА"
195248, Россия, Санкт-Петербург
Партизанская ул., 21
телефон: +7 (812) 224-1151
факс: +7 (812) 303-8977
<*> Your email settings:
Individual Email | Traditional
|
|