Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Скорость опроса модулей ввода/вывода.

  1. #1
    Пользователь
    Регистрация
    19.05.2011
    Адрес
    Челябинск
    Сообщений
    62

    По умолчанию Скорость опроса модулей ввода/вывода.

    К ПЛК308 по MODBUS подключены модули Мх110. Обмен происходит с помощью библиотеки ModBus 3.1.1 на скорости 115200. За секунду опрашивается только 20 модулей. Каким образом можно увеличить это количество?

  2. #2

    По умолчанию

    самое простое решение - распараллелить

  3. #3
    Пользователь
    Регистрация
    19.05.2011
    Адрес
    Челябинск
    Сообщений
    62

    По умолчанию

    А более изящного решения для контроллера предназначенного для работы с последовательными интерфейсами не существует?

  4. #4

    По умолчанию

    среднее время одного обмена с кучетом скорости передачи, timeout и прочее- 30мс, т.е. где-то 30 операций обмена в секунду, вы опрашиваете 20 модулей как минимум один параметр. дальше только, как уже сказал alhoresm распараллеливать.

  5. #5
    Пользователь
    Регистрация
    19.05.2011
    Адрес
    Челябинск
    Сообщений
    62

    По умолчанию

    Запись маски состояния выходов в МУ110-8Р - 10 байт+3.5 байт тишины+2 mS(настройка самого модуля), ответ - 8 байт + 3.5 байт тишины.Итого 25 байт. ТимеОут для отсутствия ответа, а не обмена. На 1 байт тратим 8 бит данные, 1 старт и 1 стоп биты. - 25*10/115200mS + 2mS= 4,2mS (но никак не 30 mS). В итоге 1 S/4,2 mS ~ 230 запросов в секунду для скорости 115200. Черт с ними, с 230, но хотябы по количеству тактов в секунду самого контроллера - 40 можно как-то приблизться?

  6. #6

    По умолчанию

    а вы каким способом реализуете обмен? через функциональные блоки или с помощью стандартных средств CoDeSys

  7. #7
    Пользователь
    Регистрация
    19.05.2011
    Адрес
    Челябинск
    Сообщений
    62

    По умолчанию

    с помощью библиотеки ModBus 3.1.1

  8. #8

    По умолчанию

    На одну операцию обмена уходит при идеальном раскладе 3 цикла. Время цикла ПЛК 20мс. Итого то, что Вы имеете 20 операций обмена в секунду, уже выше расчетного.

  9. #9

    По умолчанию

    может быть скажу тупость:
    попробуйте за один цикл работы ПЛК отправлять/получать несколько запросов

  10. #10
    Пользователь
    Регистрация
    19.05.2011
    Адрес
    Челябинск
    Сообщений
    62

    По умолчанию

    Накидал на досуге обмен по MODBUS без использования библиотеки ModBus.compiled-library и получил стабильный обмен 50 раз в секунду. В связи с этим обстоятельством хотелось бы выразить нереспект разработчикам библиотеки ModBus.compiled-library ака ModBus 3.1.1.
    Основная идея обмена - за один цикл программы сначала принимается, затем отправляется запрос. Также необходимо настроить в модулях задержку ответа в 2 миллисекунды.

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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