Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 15 из 15

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

  1. #11
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    Thumbs up

    Цитата Сообщение от Евгений Сергеевич Посмотреть сообщение
    На одну операцию обмена уходит при идеальном раскладе 3 цикла.
    Как оказалось, не такой уж это и идеальный расклад
    Цитата Сообщение от Sergey_Byk Посмотреть сообщение
    Накидал на досуге обмен по MODBUS без использования библиотеки ModBus.compiled-library и получил стабильный обмен 50 раз в секунду. В связи с этим обстоятельством хотелось бы выразить нереспект разработчикам библиотеки ModBus.compiled-library ака ModBus 3.1.1.
    Основная идея обмена - за один цикл программы сначала принимается, затем отправляется запрос. Также необходимо настроить в модулях задержку ответа в 2 миллисекунды.
    Поздравляю!
    Sergey_Byk, вы далеко не первый на этом форуме, кто жалуется на библиотеку модбас.
    Насколько я понял, прирост производительности получен за счет исключения двух лишних циклов ПЛК на каждом обмене?
    То есть каждый следующий запрос гарантированно посылается в следующем цикле ПЛК вне зависимости от наличия ответа от слейва. Типа режим "пакетных запросов".


    А в общем, пользователь современного ПЛК не должен заниматься реализацией обмена данными с распределенной периферией. Производитель ПЛК должен обеспечить все условия, чтобы пользователь сконцентрировался на основной задаче - управление технологическим процессом. Если ,конечно, производитель хочет выглядеть конкурентоспособным.

  2. #12

    По умолчанию

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

  3. #13

    По умолчанию

    Цитата Сообщение от Serge_UA Посмотреть сообщение
    А в общем, пользователь современного ПЛК не должен заниматься реализацией обмена данными с распределенной периферией. Производитель ПЛК должен обеспечить все условия, чтобы пользователь сконцентрировался на основной задаче - управление технологическим процессом. Если ,конечно, производитель хочет выглядеть конкурентоспособным.
    Все дело в цене на билет (с)

  4. #14
    Пользователь
    Регистрация
    10.05.2011
    Адрес
    Харьков
    Сообщений
    21

    По умолчанию

    Цитата Сообщение от ASo Посмотреть сообщение
    Только это противоречит всем правилам работы в языках типа МЭК!
    Номера стандартов МЭК и пунктов в них, которым "это противоречит" в студию! Ну или хотя бы на словах.

    Цитата Сообщение от ASo Посмотреть сообщение
    Вы забрали время у других процессов.
    Отнюдь. Он исключил "пустые" циклы в алгоритме передачи данных. Вместо выполнения приема-передачи раз в три цикла, они выполняются каждый цикл. Максимальная длительность задачи при этом не изменилась.

    Цитата Сообщение от ASo Посмотреть сообщение
    Все дело в цене на билет (с)
    Ну да, ну да. Только такой подход долго не протянет. Кетайцы придут на российский рынок и за эту же цену еще и кофеварку в ПЛК встроят.

  5. #15

    По умолчанию

    Модуль mk110-8д.4р, скорость com порта 115200, работа со своей библиотекой modbus, среда разработки Builder.
    запрос на считывание 7 счетчиков (пакет : 0x01,0x03,0x00,0x40,0x00,0x07,0x05,0xDC)
    ответ: 01 03 0E 00 00 00 12 00 12 00 12 00 12 00 12 00 12 CE C7

    Устойчивый обмен 65 пакетов в секунду.
    мде.. а через вашу библиотеку не больше 20

Страница 2 из 2 ПерваяПервая 12

Ваши права

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