Перейти к содержанию
    

Начальная раздача адресов устройств в Modbus

Есть система, работающая по протоколу Modbus. Платформа своя на базе MSP430F169. Адреса SLAVE устройств задаются в прошивке микроконтроллеров. В итоге, количество версий прошивок равно числу SLAVE устройств (макс 32), что неудобно при серийном производстве и делает блоки невзаимозаменяемыми без перепрошивки.

 

Как можно реализовать начальную инициализацию системы с раздачей адресов?

 

(Некое подобие работы шины 1-wire со многими датчиками.)

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Прошивать одним адресом, например, 0

А при регулировке выдавать команду смены адреса (при одном подключенном модуле), по которой новый адрес будет запоминаться в памяти.

 

Если нужно динамически переопределять адреса, то это сложнее. Нужно детектировать коллизии и в каждом модуле должен быть уникальный идентификатор (наподобие мак-адреса) - на худой конец, забивать серийный номер.

 

Кстати, тоже мысль. При прошивке забивает серийный номер, а адрес тогда будет равен SerialNumber % 32 (или другими словами, SerialNumber & 31)

 

При перепрошивке опять выставляем серийный номер (который приклеен на бирочке - ведь так?), и получаем тот же адрес, который и был.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такая задача была решена следующим образом:

Топология сети разная для раздачи адресов и для работы. Раздача адресов происходит в топологии точка- точка. Работа - традиционная шина Модбас.

Физически сеть одна (в смысле пары проводов)

При старте системы (например, подача питания на ВСЕ узлы одновременно) раздаем адреса.

Для этого размыкаем шину в каждом узле ( НЗ реле )

Первый узел получает номер от Мастера сети. Если есть узел за ним, становиться временным мастером для следующего узла и следующий узел получает номер от него, иначе процесс раздачи считаем законченным.

Переключаем все узлы в режим Шина и работаем как обычно.

 

Вполне себе работает. Имеет смысл только в спецпроектах где без такого изврата никак. Из-за повышения сложности софта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...