Size: a a a

2020 October 20

e

ec in ru_ASUTP
denis Tula
Синхронно - послал запрос, дождись ответа. Асинхронно - послал запросы и обрабатывай ответы.
Точно не наоборот?
источник

e

ec in ru_ASUTP
Овен вообще модбас через бубен
источник

e

ec in ru_ASUTP
А если через преобразователи, да километра на два
источник

e

ec in ru_ASUTP
Две зимы по морозу отбегал, пока не дотумкал модбас в плк удаленно ресетить
источник

dT

denis Tula in ru_ASUTP
Собсно в чем смысл вопроса - начальство домогается от меня программы, для сканирования подключенных устройств. Как я понимаю - широковещательных запросов(пакетов) в modbus нет, как и аналога ping. Вот сижу и пытаюсь сообразить как это вообще писать.
источник

dT

denis Tula in ru_ASUTP
ec
Точно не наоборот?
Я исходя из работы с обычной сетью говорю. Так что могу и ошибаться.
источник

e

ec in ru_ASUTP
По одному. Пишем чтонить, ждём ответа
источник

DD

Davydov Denis in ru_ASUTP
denis Tula
Собсно в чем смысл вопроса - начальство домогается от меня программы, для сканирования подключенных устройств. Как я понимаю - широковещательных запросов(пакетов) в modbus нет, как и аналога ping. Вот сижу и пытаюсь сообразить как это вообще писать.
ну просто тупо сканер по всем подряд адресам устройств и адресам регистров - нереально долго будет работать - это 247 адресов, на каждом по 65 тыщ регистров, с учетом скорости шины - нереально долго... а ваще широковещательные адреса в модбасе есть, если не ошибаюсь это с адресом 0 типа все должны ответить... но во первых, далеко не все это поддерживают, во вторых, если ответят сразу несколько устройств, то на линии будет каша... поэтому сканер - так себе идея
источник

В

Витька Корнеев... in ru_ASUTP
denis Tula
Собсно в чем смысл вопроса - начальство домогается от меня программы, для сканирования подключенных устройств. Как я понимаю - широковещательных запросов(пакетов) в modbus нет, как и аналога ping. Вот сижу и пытаюсь сообразить как это вообще писать.
Широковещательные могут быть у конкретных устройств, но они расчитаны в основном на настройку единственного прибора на линии, изредка команды синхронной выборки какие-нибудь.
источник

DD

Davydov Denis in ru_ASUTP
ваще хороший вариант, это сниффер уже для работающей сети, когда по ней данные какие-то бегают, а тупо сканер - не вариант
источник

e

ec in ru_ASUTP
А девайсы разные все?
источник

DD

Davydov Denis in ru_ASUTP
Davydov Denis
ну просто тупо сканер по всем подряд адресам устройств и адресам регистров - нереально долго будет работать - это 247 адресов, на каждом по 65 тыщ регистров, с учетом скорости шины - нереально долго... а ваще широковещательные адреса в модбасе есть, если не ошибаюсь это с адресом 0 типа все должны ответить... но во первых, далеко не все это поддерживают, во вторых, если ответят сразу несколько устройств, то на линии будет каша... поэтому сканер - так себе идея
а еще забыл, там регистры для чтения и для записи обычно отдельно, а еще и биты для чтения и записи, те 64 тыщи еще умножить на 4 надо
источник

e

ec in ru_ASUTP
У модбас девайсов есть коды ответа
источник

В

Витька Корнеев... in ru_ASUTP
Davydov Denis
а еще забыл, там регистры для чтения и для записи обычно отдельно, а еще и биты для чтения и записи, те 64 тыщи еще умножить на 4 надо
Кек, сканер имеет смысл для однотипных приборов 🌚 да и вешать больше 16 штук на линию-плохая идея 🌚
источник

DD

Davydov Denis in ru_ASUTP
если хотя бы знаете адрес существующего регистра, то тогда можно сканировать по адресаам устрйоств, достаточно быстро выйдет, иначе - нереально
источник

e

ec in ru_ASUTP
81 запрошенный адрес не ответил. 0 адрес в сети
источник

DD

Davydov Denis in ru_ASUTP
ec
У модбас девайсов есть коды ответа
опять же, далеко не всеми устройствами они реализованы, многие просто тупо молчат на незнакомых адресах
источник

e

ec in ru_ASUTP
Ааа да. Есть и такие ага
источник

dT

denis Tula in ru_ASUTP
Вот собсно и отбрехиваюсь от начальства. Основное - что и как спрашивать. Аналога ping нет. Устройства - разные( и датчики и ПЛК) если я правильно понимаю вопрос.
источник

AV

Alex Vorsa in ru_ASUTP
Davydov Denis
вы чего? модбас работает на основе uart, вторая буква в котором означает "асинхронный", соответственно и модбас работать может асинхронно... на линии может быть тишина сколько угодно, и хоть раз в день по ней можно отправлять запрос, все работать будет
Я о том, что отправил запрос - дождись ответа, прежде чем следующий слать. Или выставляем признак нет связи и обрабатываем как-то ситуацию.

Нельзя послать запрос всем и потом ждать от всех ответа в разное время.
источник