понедельник, 2 декабря 2013 г.

Широковещательный сетевой адрес в ЛЭРС УЧЁТ 3.07

В обновлении 3.07 в ЛЭРС УЧЁТ изменяется обработка сетевых адресов приборов. Начиная с этой версии больше не будут использоваться так называемые "безадресные" запросы. Для приборов всегда нужно будет указывать сетевой адрес.


Прежде всего определимся что же такое "безадресный" запрос и почему мы от него отказываемся. При опросе приборов, которые объединены в сеть, в каждом запросе необходимо указать адрес прибора, которому запрос предназначается. Если адрес запроса не совпадает с адресом прибора, такой пакет игнорируется. Если же совпал, устройство выполняет принятый запрос и отправляет ответ. В большинстве случаев в диапазоне сетевых адресов приборов есть широковещательный адрес, на который откликаются все устройства в сети. Это позволяет опрашивать устройство, не зная его настоящего адреса. Естественно, работать такая система будет только если в сети находится одно устройство. Иначе на запросы будут отвечать одновременно несколько устройств и система опроса будет считывать мусор из наложившихся друг на друга пакетов.

До версии 3.07 ЛЭРС УЧЁТ по возможности использовал безадресные запросы, если прибор не входит в сеть. Это позволяло при настройке устройства не указывать его сетевой адрес, но постоянно приводило к проблемам, так как пользователи не всегда указывали, что прибор входит в сеть. Система опроса опрашивает прибор с широковещательными адресами и в ответе получает кашу из данных от многих приборов. Однако ситуация может быть ещё хуже. Представим следующий сценарий.
  1. Пользователь запускает опрос устройства А, не подозревая, что параллельно с ним подключено еще и устройство В.
  2.  Cлужба опроса отправляет широковещательный запрос на чтение сетевого адреса/серийного номера.
  3. Устройство А отвечает на широковещательный запрос первым (устройство В занято внутренним процессом, например обсчетом сигналов от датчиков)
  4. Служба считывает сетевой адрес/серийный номер устройства А, сверяет его с базой и делает вывод что она работает с нужным устройством.
  5. Служба отправляет запрос на чтение данных, используя широковещательный запрос
  6. В этот раз первым отвечает устройство В, т.к. теперь устройство А занято своими внутренними процессами.
  7. Служба опроса, считая что она работает с устройством А сохраняет данные с устройства В.
Чтобы избавиться от таких проблем было принято решение не использовать широковещательные запросы и всегда опрашивать прибор с указанием его реального сетевого адреса.

Но что делать, если к моему модему подключен только один прибор, и я понятия не имею какой у него сетевой адрес? В 3.06 всё прекрасно опрашивалось, а после обновления запросы к устройству остаются без ответов. К счастью, в большинстве случаев у прибора можно запросить его сетевой адрес. Для этого в версии 3.07 появилась возможность при ручном опросе указать дополнительные параметры.


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


Сейчас нас интересует флажок "Определить устройство". Если его установить и начать опрос, то система, используя широковещательный адрес, отправит устройству запрос на чтение сетевого номера и выведет его на экран. После этого опрос сразу завершается. Естественно, по причинам описанным выше, использовать флаг "Определить устройство" имеет смысл только если прибор один в сети.


В этом протоколе видно, что был считан сетевой адрес прибора СПТ-943 №21. Теперь можно открыть карточку устройства и в поле "Сетевой адрес" указать полученное значение. После этого опрос устройства будет производится с использованием этого адреса.

На данный момент сетевой адрес потребуется указать для следующих приборов:
7КТ, ВКТ-5, ВКТ-7, ПРЭМ, СЕ 102М, СЕ 301, СЕ 303, СПТ-941, СПТ-941.10(11), СПТ-942, СПТ-943, ТВ-7, ЦЭ6850М

UPD:
В обновлении 3.07.09 адрес потребуется указать для приборов:

  • СПТ-961, СПТ-961.1(2), СПТ-961М, СПГ-761.1(2), СПГ-762.1(2). По умолчанию в ЛЭРС УЧЁТ для них будет выставлен адрес 0, что совпадает с настройкой по умолчанию в самих устройствах. Поэтому в большинстве случаев никаких действий не понадобится.
  • ПитерФлоу РС

Комментариев нет:

Отправить комментарий