MODBUS - динамическое выделение адресов
Доброго времени суток. Как известно, сеть MODBUS состоит из одного мастера и нескольких подчиненных устройств (в простом случае). У меня именно такая сеть - 1 мастер и 3 подчиненных устройства, работает поверх USART транспорта (RS-232 протокол с ТТЛ уровнями). Все подчиненные устройства полностью одинаковые. MODBUS требует назначения уникальных адреса каждому подчиненному. Естественно это требует установки перемычек/разных прошивок/хранения настроек в EEPROM в каждом подчиненном устройстве. Нет ли такого способа, желательно стандартного, который смог бы обеспечить динамическое выделение адресов устройствам в MODBUS сети?
Я думал о генерации случайного адреса и проверки наличия его на шине самим устройством (т.е. устройство на время становится мастером), но в таком случае возможны коллизии на шине, т.е. мусор, когда несколько устройств попытаются одновременно проверить адрес. Можно конечно же ввести задержку на случайный промужуток времени перед отсылкой запроса на проверку, это значительно уменьшит вероятность коллизии, но все равно, может быть есть способ получше?
|