Показано с 1 по 10 из 157

Тема: Конфигуратор vs modbus.lib

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    Ожидать, что ожидаемые 10 байт ответа придут и как только придёт 10 байт- это ответ а не мусор - это очень опасно.
    Надо принимать байт, сразу его логически обрабатывать (заголовочный символ, адрес и т.п.) И когда звезды в машине разбора сошлись - проверять CRC и новый запрос.
    А не набираем 10 байт - вот он ответ. Возможен мусор на линии.
    Самое непредсказуемое в разных Modbus Slave - это таймауты. Обработка в Slave в идеале должна делаться именно так, как Вы описали. В этом случае Slave не теряли бы ни одного запроса и могли бы вовремя ответить. Но реально так не получается, приходится экспериментальным путём подбирать в Master таймауты, многократно превосходящие стандартные.

  2. #2
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,799

    По умолчанию

    Цитата Сообщение от rwg Посмотреть сообщение
    Самое непредсказуемое в разных Modbus Slave - это таймауты. Обработка в Slave в идеале должна делаться именно так, как Вы описали. В этом случае Slave не теряли бы ни одного запроса и могли бы вовремя ответить. Но реально так не получается, приходится экспериментальным путём подбирать в Master таймауты, многократно превосходящие стандартные.
    Тайм-аут должен быть один - на ожидание ответа , стандартно 1000мс . "Торможение" на модбас шине происходит когда 1 или несколько слэйвов не отвечают и мастер вынужден выдерживать тайм-аут , непрерывно вычитывая буфер порта(для очистки мусора и совести).
    Считаю что обмен должен быть организован по принципу непрерывно-независимого-асинхронного потока , как писал выше товарищ Егор , это нормально и надежно .

  3. #3
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Цитата Сообщение от Sergey666 Посмотреть сообщение
    Тайм-аут должен быть один - на ожидание ответа , стандартно 1000мс .
    Это если ASCII Modbus. Если RTU и скорость 9600 и более, то 3,5 мсек. Но к сожалению многие производители Modbus Slave его не соблюдают и заставляют себя подолгу ждать . А ещё есть таймаут между концом приёма ответа и следующим запросом. Если не выждать паузу (по стандарту - те же 3,5 мсек, по факту - кто во что горазд), то Slave просто не услышит обращённый к нему запрос.

Похожие темы

  1. Библиотеки MODBUS.LIB и OWENNET.LIB
    от desperadoes в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 30.01.2014, 19:15
  2. Modbus.lib и МДВВ
    от ПРОЕКТ-П в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 17.05.2013, 14:04
  3. Ответов: 4
    Последнее сообщение: 18.09.2012, 21:16
  4. ПЛК100 и Modbus.lib
    от Slev в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 19.03.2012, 07:22
  5. RTE + Modbus.lib
    от K.I.V. в разделе ПЛК3xx (архив)
    Ответов: 10
    Последнее сообщение: 09.07.2008, 09:30

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •