Modbus poll кто нибудь владеет опытом работа ?

Тема в разделе "Проводная и беспроводная связь", создана пользователем Влад99, 20 май 2023.

  1. Влад99

    Влад99 Нуб

    настроил подключил
    данные принимает но значения не выводит
    2023-05-20_135001.png
    приэтом ТХ отсчитывает
    ошибок нет
    светодиоды на ардуино РХ ТХ моргают синхронно с трафиком симулятора
    анализатор сигналов выводит импульсы по всем трём линиям РЕ-ДЕ РХ ТХ
    так же если запустить qmodbas то он считывает данные
    2023-05-20_135427.png
    непонимаю почему симулятор мастера показывает всегда нули
     
  2. parovoZZ

    parovoZZ Гуру

    не понял: кто мастер, кто слейв?

    Если нужен слейв модбас, то использую утилиты от Everest Software.

    Если мастер, то modbus poll. Никогда проблем с ним не было.
     
  3. Влад99

    Влад99 Нуб

    в данном случае
    Modbus Poll симулятор мастера модбаса
    ардуино слейв модбас

    ранее протестил вариант
    ModbusSlave симулятор слейва модбаса
    ардуино мастер модбаса
    тут они оба отработали замечательно

    но вот я запустил его в первый раз и он выводит только нули
    хотя анализатор показывает что данные отправлены от ардуино
    2023-05-20_161707.png

    может какая настройка есть важная ?
     
  4. parovoZZ

    parovoZZ Гуру

    А какой протокол используется? RTU или ASCII?
     
  5. Влад99

    Влад99 Нуб

  6. SergeiL

    SergeiL Оракул Модератор

    Так по параметрам порта - главное, чтобы и мастер и слейв было все выставлено одинаково.
    Что в коде для ардуино - мы не знаем, кода то нет. Поэтому может быть все, что угодно.
    По хорошнму, отлаживаться нужно с выводом данных с ардуины в монитор порта.
    Тогда будет видно, как слейв обрабатывает запрос, какие данные уходят в ответ, ну и что при этом получаем на мастере.
    Проще это делать на чем ни будь с несколькими физическими портами, типа Меги 2560, а потом уже можно готовй код перенести и на 328-ю.
     
  7. Влад99

    Влад99 Нуб

    у вас тут ограничение на код до 10000 символов

    я скачал Radzio Modbus Master и он тоже выводит данные без проблем
    2023-05-20_205516.png
    но он ещё бесполезнее чем qmodbas
    единственный плюс его это то что он опрашивает значения на автомате больше он ничего не умеет

    так там же есть второй уарт для монитор порта
    в нём была бы необходимость если бы ни одна программа не могла принять данные
    но две из трёх программ принимают их только они по функционалу бесполезные

    я могу внутри программы зацыклить вывод данных на ком порта дополнительно паралельно модбасу но он выдаст те же значения что и Radzio Modbus Master
     
  8. SergeiL

    SergeiL Оракул Модератор

    А что в окошке настройки "Mbpool1" ? (Read/Write Definition)
    Там где регистры того что запрашивается прописываются? По F8 вызывается.

    Какая версия Modbus Poll?
    Что в окошке About?
     
    Последнее редактирование: 20 май 2023
  9. parovoZZ

    parovoZZ Гуру

    а что за версия MbPoll? У меня 7.1 build 1083. Что в communication прилетает, то и отображается в окне регистров.

    Ты не внимателен. Он данные получает. Это видно по первой картинке из первого поста. У него проблема в том, что принятые данные не отображаются в главном окне.
     
  10. SergeiL

    SergeiL Оракул Модератор

    Да я видел обмен, это объяснения на вопрос ТС.

    Для ТС: А почему Response Time = 1000, а Delay between Pools = 20мс. 20 - как то совсем мало.
    Попробуйте поставить Response Time = 50мс, а Delay between Pools = 300мс. И посмотреть, что изменится.
     
  11. parovoZZ

    parovoZZ Гуру

    зачем? Это период времени, в течение которого должен ответить слейв. Если слейв не укладывается в этот промежуток времени, то формируется ошибка таймаута. Одна секунда - вполне себе стандартный интервал времени.
    для промки это не то, что мало, а в большинстве случаев так часто не надо. Но в данном случае ардуина вполне способна переварить такой период запросов. Вышеприведённые картинки тому подтверждение.

    ТСу надо скачать какую-то другую версию MbPoll и смотреть на ней.
     
  12. Влад99

    Влад99 Нуб

    спасибо я поставил 7 версию и данные появились теперь
    была 10

    2023-05-21_131458.png

    я не трогал чего не знаю
    там по умолчанию всё
    на ночь оставлял Radzio Modbus Master у него по умолчанию 10мс и стабильно отработало без ошибок

    2023-05-21_131400.png
     
  13. SergeiL

    SergeiL Оракул Модератор

    У меня 9 версия, все работает без проблем.

    upload_2023-5-21_10-5-46.png

    Это время мастер ждет ответа от слейва, и если слейва нет и он не отвечает - тогда на это время вся шина Модбас подвисает, пока не закончится этот таймаут или не ответит слейв. А если несколько слейвов не отвечают - соответственно N секунд нет оопроса работающих слейвов.

    У меня слейвы и свои и ADAM. То, что недавно делал - мастер - Мега 2560 с Ethernet шилдом. Это шлюз MQTT - RS-485 Modbus.
    Свои слейвы - на AVR, но без ардуино, модбус - сам писал, без библиотек. Там все таймауты по спецификации Модбас.
    Все работает без единого сбоя месяцами. При этом, если какой то слейв отключен - шина ожидает его овета минимальное время, после этого опрашиваются другие слейвы. При этом слейвы опрашиваются по кругу, и если слейв не ответил 10 раз - блокируем его опрос на 100 кругов.
    Через 100 циклов опроса, проверяем данный слейв снова - ответил, возвращаемся к нормальному опросу, нет снова ставим блок опроса данного слейва на 100 циклов опроса слейвов.

    Модбас пулл использовал для отладки, а потом для контроля обмена во время отладки. Просто пассивно слушал линию, и сам ничего не посылал в линию.
     
  14. parovoZZ

    parovoZZ Гуру

    в промке очень редко можно встретить ситуации, когда на шине висит более одного слейва. А критические узлы всегда с одним слейвом.
     
  15. SergeiL

    SergeiL Оракул Модератор

    А "в промке" - это хде? Смысл тогда в RS-485, если мастер один и слейв один на шине?
    У меня на даче 8 слейвов на Modbus RTU по RS-485 работают, это что мене нужно 8 штук мАстер-ов поставить?
     
  16. parovoZZ

    parovoZZ Гуру

    ну я сейчас запускаю электростанции и газоперекачки.
    смысл в дешевизне и простоте.
    Но там, где нужна скорость реакции и где схема Мастер - Слейв не может ёё обеспечить (например, АЧР), уже переходят на промышленный Ethernet.
     
  17. SergeiL

    SergeiL Оракул Модератор

    А каким местом эта "промка" (электростанции и газоперекачки) и ее требования по надежности имеет отношение к форуму самодельщиков???
    Зачем тащить промышленные решения на форум, где обсуждаются дешевые самодельные конструкции?
    Профдеформация???
     
  18. parovoZZ

    parovoZZ Гуру

    так тем же, что и вот это:
    я не знаю, зачем вы тащите древний модбас с кучей недостатков к себе в квартиру.
     
  19. SergeiL

    SergeiL Оракул Модератор

    Ну если не знаешь, значит и не нужен.
    А некоторым нужен.
    У меня, например, много самодельных устройств (термостаты с ЖКИ в каждой комнате, устройства ввода вывода), более 20 лет уже работают на даче, и подключены они к модулю с сотовым модемом именно по RS-485, правда со своим, мною придуманным, протоколом, очень похожим на модбас. Да и дома первое, что было подключено к OpenHAB были модули ввода/вывода с Modbus RTU RS-485.
    В дачных устройствах протокол изменил на модбас (благо все писал сам, исходники есть), устройства ввода/вывода из дома перетащил на дачу и посадил на эту же шину.

    Да и работающим устройствам, управляемым по Modbus RTU RS-485 ("древний модбас с кучей недостатков") никто не сказал, что протокол устарел.
    Работают прекрасно, пускай и в неведении.

    А бридж с Modbus RTU RS-485 на MQTT Ethernet был не так давно сделан, чтобы уйти от управления и оповещения через SMS, да и чтобы в OpenHAB все перетащить. Так и удобней, и графики посмотреть можно, и не нужно дополнительную SIM карту под управление оповещение держать.
     
  20. parovoZZ

    parovoZZ Гуру

    это хорошо, когда есть мастер, который всем управляет. Когда мастер отваливается, то всё встаёт в ступор. Это главный недостаток модбаса. Так же на нём невозможно построить общение с логером. К примеру, многие электросчетчики умеют модбас, но общение с верхним ПО коммерческого учёта электроэнергии происходит на кастомных протоколах, либо глубоко модернизированном модбасе.