Страница 1 из 16 12311 ... ПоследняяПоследняя
Показано с 1 по 10 из 157

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

  1. #1
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    646

    По умолчанию Конфигуратор vs modbus.lib

    Добрый день, уважаемые форумчане.

    Предложенная мною тема уже ни раз обсуждалась на форуме. Например:
    1. Преимущества работы с портом с помощью библиотек
    2. Эксплуатация библиотеки modbus.lib
    3. МВ110-16Д modbus.lib
    4. Примеры работы с приборами ОВЕН имеющими интерфейс RS-485

    Все же, как мне кажется, некоторые моменты остаются не определены.
    Сразу оговорюсь, что я сейчас говорю о ситуации, когда контроллер выступает в роли Modbus Masterа.

    1. В ссылках [1] и [2] говориться, что опрос с помощью библиотеки дает преимущества в случае, если количество опрашиваемых модулей велико. Но нигде нет количественных характеристик.

    Вопросы:
    1.1 При каком количестве модулей опрос через библиотеку будет заметнее быстрее, чем через конфигуратор?
    1.2 Хотелось бы знать экспертную или опытную оценку периода опроса 10 модулей ввода/вывода через конфигуратор и через библиотеку. Для определенности пусть это будут: 4 модуля МВ110-8АС, 3 модуля МВ110-32ДН и 3 модуля МУ110-32Р (опрос только измерений).

    2. Все найденные мною примеры использования библиотеки (например, [3, 4]) показывают как использовать функциональные блоки из библиотеки, но я нигде не смог найти описания или рекомендаций по организации структуры вызовов. Поясню более подробно.
    Пусть у меня есть главная и единственная программа - PLC_PRG. В ней последовательно расположены вызовы ФБ для опроса модулей и за ними ФБ логики управления объектом (подразумевается язык ST). При вызове ФБ опроса модулей я проверяю выход Complite у библиотечных ФБ, который показывает, что опрос модуля завершен. Только после этого я могу переходить к опросу другого модуля. Фактически это означает, что для опроса 10 модулей мне нужно как минимум 10 циклов программы PLC_PRG. В этом случае может быть следующая неприятность. Если по результатам опроса первого модуля ФБ логики управления объектом выдал управляющие воздействия, которые должны быть переданы на исполнительные механизмы с помощью десятого модуля, то получиться, что 9 циклов управляющие воздействия будут выработанны, но не переданы на модуль вывода, что замедляет время реакции системы.
    Поэтому представляется правильным вынести опрос модулей в отдельную программу (и задачу), исполнение которой осуществлять чаще, чем исполнение логики управления. Причем частота исполнения опроса модулей должна быть в N раз больше частоты исполнения логики объекта, где N - количество модулей.

    Вопросы:
    2.1 Приведите примеры организации опроса модулей ввода/вывода с использованием modbus.lib;
    2.2 Как ведет себя конфигуратор при опросе модулей? С ним не получается такой неприятности как описана выше?

  2. #2
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,405

    По умолчанию

    1. Главная проблема конфигуратора по части тайминга — невозможность определить момент получения данных. Отсюда вытекает невозможность эффективно планировать опрос. И это вне зависимости от числа модулей.
    С другой стороны, те же МВ110-8А (не знаю насчёт «АС») у меня начинали затыкаться когда я пытался опрашивать их с периодом менее 15 мс при помощи своей программы на компе (на базе NModbus, скорость вроде была 38400 RTU), поэтому в оптимизации опроса может просто не быть смысла из-за самих модулей.

    Если планирование опроса вообще ограничить только выставлением периодов в конфигураторе и не использовать модули __state с ручным управлением (и прочие хитрости), то опрос получается сильно неравномерным уже в пределах дюжины слейвов.

    2. 10 циклов не слишком загруженного ПЛК110 это совсем небольшая задержка на самом деле, если рассмотреть общее время реакции. К тому же вы всё равно пишете в буфер системы, а она сама решает, когда это отправить.

    Я особо не пользовался modbus.lib. Больше приходилось поддерживать нестандартные протоколы, в том числе где читать надо как можно чаще. И естественно, быстрее всего отправлять очередной запрос сразу после получения ответа. Но с каждым новым устройством этот подход надо проверять, т.к. некоторым нужна пауза.

    Конфигуратор довольно глупый. Он просто перебирает узлы составленного вами дерева по таймеру. Сильно запинается, если таких таймеров несколько. Смежные регистры один фиг читает по одному. Поэтому стоит попробовать вручную давать команды и читать регистры группами при помощи модуля string, например.
    Последний раз редактировалось Yegor; 18.08.2015 в 20:00.

  3. #3

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    1. Главная проблема конфигуратора по части тайминга — невозможность определить момент получения данных. Отсюда вытекает невозможность эффективно планировать опрос. И это вне зависимости от числа модулей.
    Странно, а мы как-то считали время опроса Х параметров N-модулей именно через конфигуратор. И момент прихода ответа там виден ясно, по адресу и статусу. (но не на глаз , а при обработке в ПО) Глаз 1 мс не улавливает
    А для контроля порядка опроса можно использовать режим по команде.
    Тролль-наседка, добрый, нежный и ласковый

  4. #4
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,405

    По умолчанию

    И момент прихода ответа там виден ясно, по адресу и статусу.
    И что же там видно в случае когда устройство с одним адресом постоянно отвечает без ошибок?

  5. #5

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение

    Я особо не пользовался modbus.lib. Больше приходилось поддерживать нестандартные протоколы, в том числе где читать надо как можно чаще. И естественно, быстрее всего отправлять очередной запрос сразу после получения ответа. Но с каждым новым устройством этот подход надо проверять, т.к. некоторым нужна пауза.
    Сейчас присматриваюсь к СПК, чтобы перевести на него контроль некими устройствами, в том числе и с нестандартными протоколами обмена. Вы написали что имеете опыт в этом. Не могли бы поделится примером опроса подобных устройств?

  6. #6
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,405

    По умолчанию

    Ну, вот такой зверёк с очень простым протоколом был, например: http://owen.ru/forum/showthread.php?t=19435 (только порт по-другому открывать надо, но к самой библиотеке и циклу опроса это не относится).

  7. #7

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Ну, вот такой зверёк с очень простым протоколом был, например: http://owen.ru/forum/showthread.php?t=19435 (только порт по-другому открывать надо, но к самой библиотеке и циклу опроса это не относится).
    Знаком такой зверек(Вакууметр), а что с портом, как нужно открывать?

  8. #8

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Ну, вот такой зверёк с очень простым протоколом был, например: http://owen.ru/forum/showthread.php?t=19435 (только порт по-другому открывать надо, но к самой библиотеке и циклу опроса это не относится).
    А у меня получится посмотреть что в этой библиотеке или пользовать ее из Codesys 3.5 SP5. С пакетами и library файлами разобрался, а вот как конвертировать более старые еще нет.))

  9. #9

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Ну, вот такой зверёк с очень простым протоколом был, например: http://owen.ru/forum/showthread.php?t=19435 (только порт по-другому открывать надо, но к самой библиотеке и циклу опроса это не относится).
    А содержимое самой библиотеке можно посмотреть как то? ФБ опроса как организован - и я думаю все станет ясно.

  10. #10
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,405

    По умолчанию

    а что с портом, как нужно открывать?
    http://owen.ru/forum/showthread.php?...848#post175848 Но это может быть неактуально для СПК.
    А содержимое самой библиотеке можно посмотреть как то? ФБ опроса как организован - и я думаю все станет ясно.
    Открывайте файл библиотеки в кодесисе, и всё. Я никаких ограничений не ставил.

Страница 1 из 16 12311 ... ПоследняяПоследняя

Похожие темы

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

Ваши права

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