|
Этап1:
Дается отдельная широковещательная команда, по которой
каждый Slave начинает генерировать свой SN (1-65535),
но с временной задержкой,пропорциональной значению SN (решается проблема коллизий на RS485) от момента получения команды.
Таким образом, за гарантированный промежуток времени (зависит от
скорости и коэфф. задержки на ответ) получаем таблицу серийных
номеров всех устройств сети, в которой устройства можно проиндексировать автоматически (0-31).
Индекс в таблице есть адрес устройства и таблица устанавливает
взаимно одназначное соответствие между SN найденных контроллеров и
автоматически генерируемыми адресами.
Этап2:
Еще одной широковещательной командой прописываем адреса из таблицы
каждому контроллеру. Ее слушают все Slave'ы, но адрес прошивает
только тот, кто разглядел свой SN, остальные игнорируют.
Этап3:
Проверяем Slave'ы отдельной командой по указанным (прошитым) адресам.
Этап4:
Работаем уже по адресам и вытаскиваем все, что нам надо:
версию ПО, тип устройства и т.д.
По-крайней мере, при прочих равных условиях, этот алгоритм в
несколько раз быстрее, чем сканирование. К тому же, процедура
эта не такая уж и частая, пару минут можно и подождать.
E-mail: info@telesys.ru