Показано с 1 по 5 из 5

Тема: Шаблоны модулей Mx210 для CODESYS V3.5

  1. #1
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    6,785

    Red face Шаблоны модулей Mx210 для CODESYS V3.5

    Добрый день, уважаемые коллеги.
    Представляем вашему вниманию шаблоны модулей Mx210 для CODESYS V3.5.
    Шаблоны разработаны для версии среды 3.5.11.5 (и выше) и не могут быть использованы в более ранних версиях.

    13-05-2019 6-58-07.png

    Основные особенности шаблонов:

    1. Удобство использования:
      • прямая привязка переменных к каналам;
      • параметры каждого модуля структурированы по папкам;
      • возможность настройки конфигурационных параметров входов-выходов;
      • возможность исключения модулей из опроса;
      • для модулей с выходами – выбор режима записи: циклически или по изменению (для сетей с несколькими мастерами).


      13-05-2019 7-02-49.png
    2. При работе с аналоговыми модулями можно использовать структуры (для настроек аналоговых входов и их оперативных параметров) и перечисления (для кодов ошибок и типов датчиков). Эти типы данных содержатся в библиотеке Mx210 Assistant, которая автоматически добавляется в проект вместе с первым аналоговым модулем. Библиотека также содержит функции для преобразования кодов ошибок в строковые переменные типа STRING и WSTRING.

      13-05-2019 7-00-44.png
    3. На вкладке Информация перечислены особенности реализации шаблона и список Modbus-запросов, которые он генерирует.

      13-05-2019 7-03-12.png
    4. Доступ к отладочному интерфейсу – в коде программы введите имя модуля из дерева проекта, допишите постфикс _OwenDriver, поставьте точку (.) и выберите из списка нужные свойства (заводской номер, версия прошивки и т.д.). Полный список свойств и их типов содержится в библиотеке IoDrvMx210 в интерфейсе Debug.

      13-05-2019 6-57-26.png
    5. Внимание! Шаблоны не поддерживают команду контекстного меню Update Device (Обновить устройство).
    Скачать последнюю версию:

    Список изменений:

    Версия Дата Список изменений
    3.5.11.7 19.08.2020 1. Добавлены шаблоны для МУ210-411 и БП1xxК
    2. Для шаблона МВ210-101 добавлена возможность настройки аналоговых входов на вкладке Конфигурация
    3. Исправлена ошибка выделения памяти в шаблоне МВ210-212
    4. Исправлены опечатки в описании модуля МЭ210-701
    3.5.11.6 30.12.2019 Добавлены шаблоны модулей МВ210-212, МВ210-214, МУ210-402, МУ210-403, МЭ210-701
    3.5.11.4 13.05.2019 Первая версия шаблонов модулей





    Документация:

    Руководство пользователя CODESYS V3.5. Протокол Modbus [2.0]
    Использование модулей
    ввода\вывода Mx210 в CODESYS

  2. #2
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    6,785

    По умолчанию Сколько модулей Mx210 можно подключить к ПЛК?

    Это довольно непростой вопрос.

    Говоря о подключении устройств по RS-485/Modbus RTU достаточно легко определить их максимальное число на шине:
    спецификация протокола Modbus RTU четко определяет допустимый диапазон адресов устройств – 1…247 (при использовании зарезервированных адресов – 1…255).

    Модули Mx210 подключаются к контроллеру через интерфейс Ethernet с использованием протокола Modbus TCP.
    В этом протоколе нет специфического механизма адресации, так как каждое устройство в сегменте сети имеет уникальный IP-адрес.
    Доступное число IP-адресов в сети, в принципе, ограничено, но в рамках АСУ ТП рассматривать эти ограничения не имеет смысла (они слишком велики).
    По этой же причине не имеет смысла рассматривать ограничения, накладываемые Ethernet (1024 устройства в сегменте, сегменты соединяются коммутационным оборудованием).

    Таким образом, остается два основных источника ограничений: ресурсы ПЛК и настройки среды программирования.

    В качестве примера рассмотрим контроллер СПК1хх [М01], программируемый в среде CODESYS V3.5. Настройка обмена будет производиться с помощью стандартных средств конфигурации через дерево проекта.
    Процедура настройки выглядит следующим образом: добавляется компонент Ethernet, в него – компонент Modbus TCP Master, в него – компоненты Modbus TCP Slave.
    Каждый компонент Modbus TCP Slave соответствует одному подключенному устройству.

    В компонент Modbus TCP Master может быть добавлено максимум 32 компонента Modbus TCP Slave.
    Но в компонент Ethernet может быть добавлено неограниченное (по крайней мере – не меньше сотни) число компонентов Modbus TCP Master
    поэтому с точки зрения среды программирования явное ограничение на число подключаемых устройств отсутствует.

    Каждый компонент Modbus TCP Slave занимает один дескриптор (хэндл) контроллера.
    Число одновременно используемых дескрипторов для процесса в ОС СПК ограничено 1024.
    При этом пустой проект использует около 60 дескрипторов. Таким образом, теоретически можно подключить к контроллеру примерно 950 модулей.

    Но следует помнить, что ключевая задача контроллера – выполнение операций с заданным временем цикла.
    Увеличение числа опрашиваемых устройств пропорционально увеличивает время цикла контроллера.
    Для того чтобы привести конкретные цифры мы рассмотрим пример, в котором СПК опрашивает 20 модулей Mx210 с помощью шаблонов.
    Шаблоны – это кастомизированные компоненты Modbus TCP Slave, в которых настроен опрос всех оперативных и части конфигурационных параметров модуля,
    а также присутствует дополнительный программный код (конвертация значений, контроль диапазонов и т.д.).
    Все ключевые параметры модулей (маски входов, счетчики входов, маски выходов и т.д.) опрашиваются циклически с заданным периодом в 20 мс (за исключением модулей МВ210-101 – для них 400 мс).
    По возможности шаблоны используют групповые запросы. Информация о структуре запросов к модулю доступна в шаблоне на вкладке Информация.

    TemplatesInDeviceTree.png

    В рамках теста все модули имели прошивку 0.15.9:

    ModulesInOwenConf.png

    Модули подключены к коммутатору, связанному с локальной сетью офиса. Контроллер подключен к другому коммутатору, который также связан с офисной сетью.

    Проект CODESYS включает в себя:
    • 20 шаблонов Mx210 с привязанными ко всем каналам переменными;
    • Привязку переменных ко всем узлам таргет-файла (Drives, Network и т.д.);
    • Программу PLC_PRG с «заглушкой» для имитации пользовательского кода;
    • Два экрана визуализации.


    В проекте созданы три задачи:
    • MainTask: T=20ms, приоритет = 1. В этой задаче происходит обмен, обработка узлов таргет-файла и выполнение программы PLC_PRG;
    • VisuTask: T=200ms, приоритет = 25. В этой задаче происходит отрисовка визуализации;
    • TrendRecordingTask: T=100ms, приоритет = 31. В этой задаче происходит запись данных для исторического графика.


    «Заглушка» в PLC_PRG выглядит следующим образом:

    DummyJob.png

    Экран Visualization содержит тренд, на котором выводится загрузка процессора и текущее время цикла задачи MainTask.
    Также на экране отображается время работы контроллера (с момента подачи питания).
    На экране Modules (доступен только в web-визуализации) отображается статистика по модулям – в частности, число ошибок обмена.
    Под ошибкой подразумевается ситуация, когда ответ на запрос не был получен (или был получен ответ с Modbus Exception).
    Спустя 68 часов тестирования была получена следующая статистика:

    Task.png

    Stats.png

    Errors.png

    Пример влияния «заглушки» на время цикла и загрузку процессора:

    DummyJobStats.png

    Основные полученные результаты (68 часов тестирования):
    • Загрузка ЦПУ стабильно равна 100% при включенной «заглушке» и меняется в диапазоне 95-100% при отключенной «заглушке»;
    • Реальное время выполнения задачи MainTask составляет 16 мс при включенной заглушке и 8 мс – при отключенной (напомним, заданная периодичность вызова задачи – 20 мс);
    • Реальное время выполнения задачи VisuTask в среднем составляет 700…1500 мс, при этом джиттер (задержка запуска задачи) в отдельные моменты времени достигает 20 секунд.
      Обновление экрана визуализации в среднем занимает 10 секунд, при отключенной заглушке – 1-2 секунды. Работа с такой визуализаций является крайне некомфортной;
    • За время тестирования на 18 модулях не было ни одной ошибки обмена (одна ошибка, отображаемая в счетчике, появляется в момент старта проекта).
      На двух последних из опрашиваемых модулях число ошибок составило 60 и 90 соответственно. Вероятно, большая их часть проявилась при появлении джиттера задачи в момент подключения к контроллеру из CODESYS.
      Напомним, что модули подключены к локальной сети офиса, трафик в которой достаточно значителен.


    Для оценки таймингов мы выкладываем дамп обмена, снятый в Wireshark (содержит данные за 30 минут): скачать

    Оценка результатов:

    • Подключение 20-ти модулей Mx210 через шаблоны существенно замедляет обработку визуализации, при этом реальное время цикла задачи пользовательской логики не превышает заданного.
      В целом, при использовании шаблонов рекомендуется ограничить число подключенных модулей 10-ю;
    • Напомним, что удобство использования шаблонов обеспечивается затратой дополнительных ресурсов.
      При организации опроса через стандартные компоненты Modbus TCP Slave с добавлением только тех каналов, которые нужны в конкретной задаче –
      можно подключить и большее количество модулей с меньшим потреблением ресурсов. Рациональный лимит подключенных таким образом модулей – 40.
      При значительно большем количестве сигналов в системе рекомендуется разбивать ее на отдельные узлы,
      где в рамках каждого узла отдельный контроллер будет опрашивать меньшее количество модулей.


    Оценка скорости реакции системы:

    В рамках тестирования также измерялось время реакции системы. Измерение производилось следующим образом:
    выход первого опрашиваемого модуля (МУ210-410) был подключен к входу последнего опрашиваемого модуля (МВ210-202).
    Каждую минуту отправляется команда на включение выхода и запоминается время системного таймера контроллера.
    При получении информации о замыкании входа вычисляется разность между текущим и запомненным значением системного таймера. После этого выход отключается.
    Минимальное время реакции системы составило 60 мс, максимальное – 2400 мс (за тысячу итераций теста). Основная часть полученных значений лежит в диапазоне 200…600 мс.
    Такие колебания времени реакции связаны с тем, что команда на запись может генерироваться в различные моменты по отношению к текущему состоянию программы (в частности, к текущему обрабатываемому модулю).

    SystemReaction.png

    В ближайшее время мы планируем опубликовать результаты теста обмена с опросом через стандартные компоненты Modbus TCP Slave с минимально необходимым набором параметров (битовые маски, значения аналоговых входов и выходов).

  3. #3
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    6,785

    По умолчанию

    Мы повторили тест, описанный выше, заменив шаблоны на стандартные компоненты Modbus TCP Slave.
    Для дискретных модулей был настроен только циклический опрос битовых масок, для аналоговых - текущих значений и кодов ошибок (групповыми запросами).

    2019-05-22_9-38-41.png

    Результаты:
    • Загрузка ЦПУ находится в диапазоне 80-95% при включенной «заглушке»;
    • Реальное время выполнения задачи MainTask составляет 10 мс при включенной «заглушке» (напомним, заданная периодичность вызова задачи – 20 мс);
    • Реальное время выполнения задачи VisuTask в среднем составляет 50…250 мс, при этом джиттер (задержка запуска задачи) в отдельные моменты времени достигает 5 секунд.
    • Обновление экрана визуализации с трендом занимает около секунды, и работать с ним довольно некомфортно. На экране с кнопками и прямоугольниками скорость отлика визуализации является адекватной;
    • Скорость реакции системы стабильно равна 40 мс (удвоенное время цикла задачи MainTask).


    2019-05-22_9-39-55.png

    2019-05-22_9-44-04.png

    2019-05-22_9-42-29.png

  4. #4
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    6,785

    По умолчанию Обновление пакета шаблонов Mx210 до версии 3.5.11.6

    Добрый день, коллеги.
    Мы выпустили обновленную версию пакета шаблонов модулей Mx210 для CODESYS V3 - 3.5.11.6.
    Она включает в себя новые шаблоны для модулей:
    • МВ210-212
    • МВ210-214
    • МУ210-402
    • МУ210-403
    • МЭ210-701


    Скачать обновленный пакет шаблонов: Mx210Templates_v3.5.11.6.package

    Внимание! Шаблоны не поддерживают команду контекстного меню Update Device (Обновить устройство).

  5. #5
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    6,785

    По умолчанию Обновление пакета шаблонов Mx210 до версии 3.5.11.7

    Добрый день, коллеги.
    Мы выпустили обновленную версию пакета шаблонов модулей Mx210 для CODESYS V3 - 3.5.11.7.
    В основном, она предоставляет поддержку приборов, которые будут выпущены в течение этого года.

    1. Добавлен шаблон модуля МВ210-411 (модуль с 24 транзисторными выходами, готовится к выпуску)
    2. Добавлен шаблон блока питания БП1ххK (проходит бета-тестирование, см. информацию на сайте)
    3. Для шаблона МВ210-101 добавлена возможность настройки аналоговых входов через вкладку Конфигурация.
    Теперь в случае необходимости перенастройки входов не потребуется запускать ОВЕН Конфигуратор - можно сделать это прямо в CODESYS.

    mx210_01.png

    Если параметр Использовать настройки конфигурации имеет значение TRUE, то при старте проекта в модуль записываются настройки входов, заданные на вкладке Конфигурация.
    Если параметр имеет значение FALSE, то этого не происходит. В этом случае изменение настроек входов возможно в процессе работы проекта через каналы вкладки Соотнесение входов-выходов.

    4. Исправлена ошибка выделения памяти для шаблона МВ210-212.

    image.png

    5. В шаблоне МЭ210-701 исправлен ряд опечаток.

    Скачать обновленный пакет шаблонов: Mx210Templates_v3.5.11.7.package

    Внимание! Шаблоны не поддерживают команду контекстного меню Update Device (Обновить устройство).

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 18.01.2019, 13:48
  2. Шаблоны модулей МХ110 для CODESYS 3.5
    от Александр Приходько в разделе СПК2хх
    Ответов: 91
    Последнее сообщение: 24.04.2015, 18:29
  3. Шаблоны модулей МВА8 и МДВВ для Lectus.
    от Newsnowman в разделе Мх110
    Ответов: 1
    Последнее сообщение: 19.12.2014, 09:04
  4. Шаблоны модулей МВА8 и МДВВ для Lectus.
    от Newsnowman в разделе Эксплуатация
    Ответов: 1
    Последнее сообщение: 19.12.2014, 09:04
  5. Ответов: 3
    Последнее сообщение: 07.12.2011, 20:06

Ваши права

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