Master SCADA 4D. Есть ли жизнь на ARMе?

    image


    Имея достаточно большой опыт работы в области промышленной автоматизации, мы вечно находимся в поиске оптимальных вариантов для решения своих задач. В зависимости от технического задания заказчика, приходилось останавливаться на той или иной программно-аппаратной базе. И если не было каких-то жестких требований по установке оборудования Siemens в связке с TIA-portal`ом, то, как правило, выбор падал на MasterSCADA 3.XX. Однако ничто не вечно под луной…

    О своём опыте перехода на MasterSCADA 4D, предпосылках, особенностях её работы на встраиваемых компьютерах архитектуры ARM под катом данной статьи.

    Предпосылки


    Мы начали тестировать относительно новую разработку компании Insat – MasterSCADA 4D – не так давно. Предпосылок для этого было несколько. Во-первых, мы провели несколько независимых опросов среди специалистов в области промышленной автоматизации с целью выяснить, какие SCADA-системы наиболее популярны (рисунок 1). По результатам опроса первое место среди отечественных систем занимает система MasterSCADA.

    image

    Рисунок 1 — Результаты опроса наиболее популярных SCADA-систем (картинка кликабельна)

    Второй предпосылкой можно считать…

    Теперь перейдем непосредственно к самой MasterSCADA 4D. Она состоит из двух программных продуктов, а именно: среда разработки и среда исполнения. О работе каждой из этих частей поговорим ниже.

    Среда разработки


    Проект системы создается в среде разработки MasterSCADA 4D, для этого необходимо получить бесплатную версию на сайте компании Insat и установить, следуя подсказкам.

    image

    Рисунок 2 — Интерфейс среды разработки (картинка кликабельна)

    Первое, что бросается в глаза — это приятный интерфейс среды разработки и удобная иерархическая структура построения проекта. Теперь в одном проекте можно создавать программу не только под АРМ, но и под весь объект, начиная с контроллера — заканчивая сервером или рабочим местом оператора.

    Среда разработки работает только на ОС Windows, это относительно привычно и терпимо, а вот среда исполнения (RunTime) приятно удивила своей возможностью интегрироваться в различные операционные системы и архитектуры процессоров, но об этом дальше.

    Также порадовала большая библиотека элементов визуализации. Специалисты из различных сфер смогут найти для себя элементы визуализации, не прибегая к отрисовке или поиску иконок в интернете.

    image

    Рисунок 3 — Элементы визуализации (картинка кликабельна)

    Коммуникационные протоколы


    В системе поддерживаются различные драйверы (протоколы обмена), которые по умолчанию интегрированы в MasterSCADA 4D:

    • Modbus TCP/RTU, RTU поверх TCP
    • DCON
    • OPC UA/DA/HDA
    • IEC61850
    • SNMP
    • PostgreSQL
    • MQTT
    • IEC104
    • MSSQL
    • MySQL
    • Меркурий (отдельная библиотека) и др.


    Среда исполнения


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

    Устройство AntexGate


    MasterSCADA Runtime предустановлена отдельной опцией на встраиваемый ПК AntexGate с архитектурой процессора ARM и операционной системой Debian, тесты будем проводить на этом устройстве.

    image

    Рисунок 4 — Устройство AntexGate

    Характеристики:

    • ЦПУ: 4-ядерный x64 ARM v8 Cortex-A53
    • 1.2Mhz Оперативная память: LPDDR2 1024MB
    • Энергонезависимая память: 8/16/32GB eMMC

    Подробнее об устройстве можно прочитать здесь.

    Запустим программу в исполнительном устройстве. Для примера мы создали опрос и управление устройством по протоколу Modbus RTU, процесс настройки опроса интуитивно понятный и чем-то похож на настройку привычного OPC-сервера. Правда сейчас в RunTime встроены драйверы протоколов для обмена данными.

    В качестве примера создадим простой проект для управления тремя насосами и двумя задвижками, необходимого для абстрактного производственного процесса. В среде разработки он выглядит следующим образом, как на рисунке 5.

    image

    Рисунок 5 — Проект в среде разработки (картинка кликабельна)

    В итоге у нас получилась простая мнемосхема (рисунок 6), которая работает в любом браузере с поддержкой HTML5.

    image

    Рисунок 6 — Мнемосхема (GIF-анимация кликабельна)

    Варианты отображения информации HMI


    Есть возможность подключиться к среде исполнения через WEB, этот вариант не ограничивает нас в выборе клиента для просмотра данных на мнемосхеме.
    В нашем случае на устройстве предусмотрен вывод информации через HDMI, Ethernet, 3G.
    При подключении через HDMI мы обращаемся на LocalHost 127.0 0.1:8043 через встроенный браузер в AntexGate, либо подключаемся к фиксированному IP:8043 адресу в интернете или локальной сети предприятия другим «Тонким клиентом».

    image

    Рисунок 7 — Структура мониторинга WEB (картинка кликабельна)

    Интересной новостью стал долгожданный MQTT протокол, которого обычно не хватало для мониторинга удаленных объектов в SCADA системах.
    На сегодняшний день каждый имеет возможность получить недорогой VDS-сервер в интернете с фиксированным IP-адресом (например, сервер сайта компании) и развернуть на нем MQTT Broker (например, Mosquito).
    Получив один сервер с MQTT брокером, мы легко можем отвязаться от дорогих услуг оператора — фиксированного IP и платить в год 900 рублей вместо 4000 рублей за связь 3G.

    image

    Рисунок 8 — Структура мониторинга MQTT (картинка кликабельна)

    Такое построение сети позволит не только экономить на трафике, но и обезопасит данные, так как передача данных по протоколу Modbus TCP в сети интернет не гарантирует безопасность и качество связи.
    Таким образом, вы можете продавать тиражируемые проекты, в которых клиент сам выбирает поставщика интернета. И ни у кого не болит голова с настройкой и выделением IP адресов: клиент сам вставляет любую SIM-карту или подключается к маршрутизатору с DHCP-сервером.

    Быстродействие


    Для проекта главное быстродействие, в этом нам помогут так называемые «Задачи». По умолчанию у каждого узла при его создании только одна — Основная задача. Разработчик проекта может создать их столько, сколько необходимо для работы конкретного проекта. Особенности вычисления, например, цикл вычисления, будут зависеть от настроек той или иной задачи. Каждая из них будет работать независимо от других в устройстве. Создание нескольких задач целесообразно, если необходимо обеспечить разные циклы вычисления разных программ проекта.

    Данная функция особенно интересна для устройств, на борту которых процессор с несколькими ядрами. Каждая «Задача» запускается как отдельный процесс в системе и нагрузка распределятся равномерно на работу процессора. В устройстве AntexGate установлен процессор ARM с 4-мя ядрами по 1.2ГГц и 1ГБ оперативной памяти, что позволяет создать как минимум 4 крупные задачи и распределить нагрузку по ядрам. В сравнении с ПЛК, устройство AntexGate может предоставить как минимум в 4 раза больше вычислительных способностей за такую же цену.

    image

    Рисунок 9 — Загрузка вычислительных способностей AntexGate в режиме исполнения (картинка кликабельна)

    Как мы видим из рисунка 9, загрузка ЦП не более 2,5%, а памяти выделено всего 61Мб. Таким образом, небольшой проект в режиме исполнения потребляет очень мало встроенных ресурсов.
    Устройство может использоваться не только как контроллер, но уже и как полноценный сервер с опросом более 2000 точек ввода-вывода и возможностью поддержки более 100 WEB-клиентов.

    Для примера подключим 9 WEB-клиентов к устройству и посмотрим прогресс потребления ресурсов (рисунок 10).

    image

    Рисунок 10 — Загрузка вычислительных способностей AntexGate при подключении 9-ти WEB-клиентов (картинка кликабельна)

    Как видно из рисунка выше, загрузка ЦП поднялась в среднем с 2,5% до 6%, а памяти выделено всего на 3Мб больше.
    Благодаря большому запасу вычислительных ресурсов устройства, разработчику нет необходимости экономить на качестве программы, созданной в MasterSCADA 4D.

    Кроссплатформенность


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

    Заключение


    MasterSCADA 4D — относительно новый продукт компании Insat. На сегодняшний день информации по работе с этим программным продуктом не так много, как хотелось бы. Однако можно скачать бесплатную среду разработки с официального сайта компании, она имеет весьма подробную справку по работе с программой.

    image

    Рисунок 11 — Окно справки (картинка кликабельна)

    В заключении хотелось бы сказать о том, что данная статья имеет вводные данные о программном продукте MasterSCADA 4D и много чего не сказано. Однако при Вашей поддержке, мы выпустим более подробные примеры и уроки по работе с этим программным продуктом.

    Хотелось бы увидеть в комментариях, какие вопросы больше всего интересуют Вас. И самые часто задаваемые мы по возможности превратим в урок по созданию проектов в MasterSCADA 4D.
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 33

      0
      А возможно добавить автоматическое создание выхода EnO при написании программы на ST. На FBD там понятно проблем не возникает, но иногда у меня лично возникает путаница при ругани отладчика на проблему…
        0
        Мы не являемся разработчиками MasterScada и глубокую техническую поддержку предоставляет компания Инсат.
        Насколько мне известно такой выход создается автоматически

        Версия среды разработки: 1.2.7.14765(MPLCD_1_2_20191220.1)
        0
        Болид уже давно запилил свой чудо-контроллер «М3000-ИНСАТ», куда включил уже лицензию на данное ПО. Конечно набор интерфейсов у вас с ними немного разный, но там фактически занедорого можно сделать автоматизированный узел — не надо морщить лоб и покупать отдельно ПО :)
          0
          Не большая разница в цене, а по отличиям:
          — М3000 пластиковый корпус (AntexGate металл)
          — М3000 нет слота mpci (AntexGate есть — можно воткнуть модули WiFi и 3G и не ставить отдельный модем для телеметрии)
          — М3000 производительность CPU 1 ядро 1МГц и RAM 512M (AntexGate 4 ядра 1.2 МГц и RAM 1000M)

          Про «покупать отдельное ПО» вопрос не понятен. М3000 содержит в себе RunTime MS4D и AntexGate содержит в себе RunTime MS4D.
            +1

            Да. Наш м3000-Т просто другой.
            Количество ядер AntexGate впечатляет, у нас медленнее.
            В usb болида можно и WiFi и 3g вставить, но это совсем Далеко не тоже самое чтo mpci. Хоть и есть технически
            Цена, конечно интересна. На AntexGate
            Лицензии разные. Видимо совсем разные.
            Сдается мне такая скорость у Вашего прибора позволит делать Очёты быстро и не напряжно. Не сказал бы что у м3000 с этим проблемы, но на пустом проекте — Думаю на большом архиве будут скрипы.
            По урокам и видео- на Ютубе у меня персональный канал, по названию контроллера можно найти. Плейлист "Masterscada4d с нуля" достаточно заполнен, в том числе отвязан от контроллера. Начал уже продвинутый плейлист.

              0
              … Увидев протоколы заметил, что на Болидовских контроллерах нет OPC_DA и HDA ни клиента, ни(само собой) сервера. Попытка запустить их на 1.2.5.8882 не увенчалась успехом.
          0
          Интересной новостью стал долгожданный MQTT протокол, которого обычно не хватало для мониторинга удаленных объектов в SCADA системах.
          MQTT по факту не работает (последняя протестированная версия 1.2.7.13214(MPLCD_1_2_20191020.2)), не реализованы особенности протокола MQTT (QoS, retain и т.п.).
            0
            Попробуйте версию: 1.2.7.14765(MPLCD_1_2_20191220.1)
            0
            Есть внедрения с MQTT? Кто вообще эти клиенты?
            Вроде бы все красиво, но кроме умного дома и домашней автоматизации, я пользователей решения с MQTT не знаю.
            Много ли решение на MQTT потребляет трафика?
              0
              MQTT для удаленного мониторинга самое то, например сильно экономится трафик если устройство много находится в простое, сообщения можно отправлять со стороны устройства когда это необходимо. MQTT только приходит в нашу страну, его активнее всего используют в ЖКХ мониторинге, особенно когда данные необходимо снять только несколько раз в месяц. Я понимаю что по modbus тоже можно один раз запросить в неделю. А если сбой? Об этом узнаешь в момент опроса, когда уже нужны данные, а не сообщение об ошибке, которую через MQTT можно было заранее прислать.
                0
                MQTT брокер поднимает у клиента? Mosquito достаточно или требуется дополнительная оболочка для ведения пользователей, разграничения прав и прочего?
                  0

                  Это как хотите.
                  Вариант 1: только mqtt broker на сервере в интернете без БД только пересылка сообщений клиенту, нужен простенький дешевый сервер, но клиент визуализации с поддержкой mqtt должен быть у заказчика (например: master scada, Rapid SCADA, node-red, и др.)
                  Вариант 2: поднимаете на сервере не только брокер но и платформу визуализации и БД. Тут нужен сервер мощнее гораздо, но в этом случае вы можете брать аренду в месяц и создать свой сервис.


                  Второй вариант думаю не очень подходит для консервативной страны. Большенство клиентов считают, что в облаке у них украдут сверхсекретные данные такие как: значение давления, точки росы, электроэнергии, сбои в производстве и т.д. Ну ничего подождём суверенный интернет, в котором не будет хакеров)))

                  0

                  Все зависит от реализации Modbus как и реализации Mqtt.
                  Я бы сказал что гонка за модным Mqtt не всегда оправданий применению Modbus. Имея ввиду версию 2012 года.

                    0

                    modbus протокол реального времени запрос-ответ пока это локальная сеть вопросов нет, как только трафик ограничен, тут уже сложнее. Mqtt уже старая разработка, просто к нам только пришла .

                      0
                      В этом месте готов подискутировать, при наличии желания:

                      1) Периодичность запросов в стандарте Modbus не регламентируется,
                      делать их(запросы) по событиям никто не воспрещает.

                      2) Если же писать о TCP реализации, то там Достаточно интересны датаграммы ( чтобы понять кто является инициатором опроса — Слэйв или Мастер), их стоит посмотреть на сайте modbus.org и никто не мешает реализовываать его в лучшем, чем у mqtt варианте.
                        0

                        Если честно, переход к mqtt у нас произошёл по причине развертывания облачного сервиса. Я так и не нашёл вариантов на лету добавлять устройства с автоматической регистрацией всех параметров (ключей в формате json по протоколу mqtt или http) на стороне сервера. С modbus я лично так и не договорился)) Протокол modbus все таки хранит только цифру в регистре, а имя этого регистра нет, все таки для веб вещей json как то ближе, возможно для scada систем привычнее modbus. А как клиент в modbus tcp может сам инициировать запрос? Нужно же как минимум какой то флаг один опрашивать, чтобы понять когда запрос сделать глобальный или не так?

              0

              Сдаётся мне, кто-то кого-то дурит. Где у них на сайте безплатная среда разработки для 4д?

                0

                Тут вроде бы все просто: https://insat.ru/products/?category=1631
                Регистрируешься и качаешь полную версию, которая больше всего вестит.

                0

                А есть ли ограничения по количеству точек ввода-вывода при использовании контроллера со встроенной средой исполнения?

                  0
                  1000 точек ввода-вывода по умолчанию, обычно этого достаточно, но можно по запросу в Инсат расширять лицензию. Они записывают эту информацию в ключ активации.
                  0

                  Пишу как человек который открыл мастер скаду три дня назад. Вроде как нет теперь у них такого понятия как "тег". Теперь там точки ввода/вывода. Как они считаются так и не понял. Подробного хелпа я там тоже не увидел. Методом "научного тыка" тоже не просто разобраться! МЭК 61850 в скаде пока настроить не смог, хотя из же opc-мэк61850 сервер запустился без каких то либо танцев в бубном!

                    0
                    Запросите более подробную информацию в техподдержке Инсат.
                      0
                      insat.ru/news/?id=117176&sphrase_id=509801
                      Посмотрите в свежей версии есть изменения по этому поводу.
                      0
                      Master SCADA 4D ещё сыровата. Я лет 5 назад делал проекты на 3.5 — багов не встречал, а сейчас коллега делает проект на 4D и перманентно натыкается на баги, пишет в ТП и чуть не месяцами ждет фиксов. Также в настоящее время с документацией на нее не очень хорошо. Но, думаю, через 2-3 года Master SCADA 4D будет вполне юзабельна.
                        0
                        Подскажите с какими багами встречался Ваш друг?
                        Они на днях вроде бы анонсировали версию: 1.2.8. Думаю если часто обновлять среду разработки, то и багов меньше будет.
                        Посмотрите список изменений тут: insat.ru/news/?id=117176&sphrase_id=509801
                        и доскажите другу.
                          0
                          сыровата… сыровата…
                          Подскажите с какими багами встречался Ваш друг?

                          достаточно посмотреть форум на сайте овена и сравнить кол-во вопросов а-ля «не работает» для версии 3.x и 4D
                        0

                        Возможго стоит добавить общими словами про межконтроллернуб связь, назначение программ на отдельные контроллеры в сети, резервирование на уровне контроллеров как горячее так и "холодное". И на уровне модулей ввода-вывода. Ну и opc_ua клиент-сервер из коробки. Modbsu клиент/сервер из коробки rtu ,tcp, over_tcp

                          0
                          Примеры кадров неоднозначные. Есть интересная презентация на эту тему:
                          www.grahamnasby.com/files_publications/NasbyG_2017_HighPerformanceHMIs_IntelligentWastewaterSeminar_WEAO_sept14-2017_slides-public.pdf
                            0
                            Для примера мы создали опрос и управление устройством по протоколу Modbus RTU, процесс настройки опроса интуитивно понятный и чем-то похож на настройку привычного OPC-сервера.

                            в примере скриншотов с нагрузкой в статье использованы 32 тега? по-хорошему бы показать на 1-2 тыс, да и не только модбас (да почаще чем раз в секунду) раз уж казали OPC DA (интересно как вы его на линуксе запустили) и OPC UA + сколько у вас видеокадров в демо проекте? пишутся ли тренды? регистрируются ли алармы?
                              0
                              я запускал на стриме на Болидовском «М3000-Т»
                              200 объектов с 200-ми окнами и графиками(трендами), 2000 переменных, около 10 000 параметров — при времени цикла раз в секунду.
                              www.youtube.com/watch?v=m3RS5sOXxzQ

                              При этом контроллер автора Сильно шустрее. Примерно, если у нас одинаковое «качество» сборки я оцениваю что в два раза у автора поста будет больше переменных либо быстрее время исполнения.
                                0
                                это понятно, но тут точность важна (именно на их железе), тем более что они стенд собирали…
                                  0
                                  Достаточно пространный вопрос по точности.
                                  То-есть вот я проверял — выдвинув определенные критерии. Модуляцию рандомом большого количества сигналов и малым преобразованиями.
                                  К реальности это имеет отношения настолько, насколько я предположил.
                                  В реальности — по опыту и на сотне интегралов можно повесить контроллер, а можно и работать горя не знать.
                                  т.е. Я бы предположил что более интересно будет попробовать Ваш требуемый проект и подойти к требованием ресурсов под Него. Это и проще, и приближенней к реальности.

                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                            Самое читаемое