Журнал «ИСУП». (Информатизация и системы управления в промышленности)
ИТ, КИПиА, метрология, АСУ ТП, энергетика, АСКУЭ, промышленный интернет, контроллеры, экология, электротехника, автоматизации в промышленности, испытательные системы, промышленная безопасность

SIMATIC WinCC Open Architecture 3.17: не просто новая версия

Рассматриваются ключевые изменения и нововведения, реализованные в SCADA-системе SIMATIC WinCC Open Architecture версии 3.17, – система архивирования нового поколения на базе InfluxDB, изменения в части обеспечения информационной безопасности, новые компоненты и поддерживаемые технологии (Node-RED, QT WebEngine и др.).

ООО «Сименс», г. Москва

Siemens_site.gif

скачать pdf >>

Традиционно выпуск новой версии SCADA-системы связан с эволюционным развитием в рамках выбранной базовой архитектуры и выражается в появлении новых функциональных компонентов или расширений, драйверов, обновлении списков совместимости, совершенствовании производительности, обновлении возможностей графики и т. п. [1, 2]. Всё это в полной мере справедливо по отношению к версии 3.17 платформы SIMATIC WinCC Open Architecture (WinCC OA), выпущенной в текущем году в рамках плана непрерывного развития продукта. Но все же ключевым изменением, кардинально отличающим данную версию от предыдущих номерных релизов WinCC OA, является, безусловно, реализация принципиально новой подсистемы архивирования исторических данных – New Generation Archiver (NGA). Эта подсистема, архитектура которой основана на разделении функциональности взаимодействия с менеджерами WinCC OA (Frontend) и интерфейса к БД (Backend), позволяет использовать для хранения исторических данных различные СУБД. На текущий момент реализован NGA-коннектор для специализированной СУБД для хранения временных рядов InfluxDB, обеспечивающий не только существенное повышение компактности хранения данных и производительности операций чтения/записи, но и открывающий новые возможности в части построения распределенных систем.

В рамках WinCC OA версии 3.17 продолжена также и стратегическая линия поддержки наиболее современных подходов и технологий обеспечения информационной безопасности. В числе изменений – новый подход к политике безопасности при создании проектов, реализация поддержки работы удаленных клиентов с зашифрованными панелями и сценариями, аутентификации на уровне точек данных, безопасное переключение пользователей в онлайн-режиме и ряд других.

Наконец, список поддерживаемых технологий и функциональных усовершенствований в WinCC OA версии 3.17 пополнился такими нововведениями, как интеграция с инструментарием визуального программирования Node-RED, поддержка браузерного компонента QT WebEngine, обеспечение возможности использования ультралегкого клиента ULC UX непосредственно из браузеров мобильных устройств и др.

Новые технологии и функциональность дополняются в WinCC OA версии 3.17 и новым механизмом лицензирования, который позволяет пользователям самостоятельно управлять своими лицензиями без необходимости взаимодействия с вендором, что обеспечивает большую гибкость при изменении лицензионных конфигураций.

Количество и масштаб изменений фактически позволяют рассматривать WinCC OA версии 3.17 как значительный прорыв в направлении создания SCADA-систем нового поколения, но при этом с сохранением общей идеологии открытости, кросс-платформенности и масштабируемости, а также программной совместимости с предыдущими версиями WinCC OA.

Рассмотрению основных нововведений и усовершенствований в WinCC OA версии 3.17 и посвящена настоящая статья.


Подсистема архивирования нового поколения (NGA)

При создании новой подсистемы архивирования была поставлена цель унифицировать механизмы подключения различных баз данных к системам на базе платформы WinCC OA, а также существенно повысить производительность операций чтения/записи.

Основными компонентами архитектуры подсистемы NGA являются Frontend-менеджер и набор Backend-коннекторов к различным базам данных (рис. 1).

Ris_1.png

Рис. 1. Архитектура взаимодействия компонентов подсистемы архивирования нового поколения WinCC OA

Каждый Backend-коннектор отвечает за подключение к определенному виду БД. Экземпляры Backend-коннек­торов содержат настройки для подключения к конкретному экземпляру БД «своего» вида (соединение, авторизация, буферизация и пр.). Кроме того, каждый Backend-коннектор базируется на определенном Backend-профайле, который, в свою очередь, содержит предопределенные настройки, специфичные для конкретной БД/коннектора (Oracle, InfluxDB, Kudu, MongoDB и пр.) и предоставляемые разработчиком Backend-коннектора1. Таким образом, каждый из работающих в системе экземпляров Backend-коннекторов отвечает за взаимодействие с конкретным экземпляром БД, обеспечивая подключение WinCC OA к требуемому набору баз данных.

Основные функции Frontend-менеджера, который среди остальных рассматриваемых компонентов является полноценным менеджером WinCC OA, – чтение конфигурационных данных, трансляция запросов на чтение/запись, управление функциональностью Backend-коннекторов и обеспечение буферизации данных. Последнее является чрезвычайно важной функцией, предотвращающей потерю данных при возможных (в том числе продолжительных) сбоях связи с БД.

Взаимодействие Frontend-менеджера и Backend-коннекторов может осуществляться двумя способами по выбору пользователя: коннекторы могут подключаться к Frontend-менеджеру как по TCP/IP (с помощью библиотеки ZeroMQ, предназначенной для упрощения разработки приложений с высокопроизводительной подсистемой асинхронного обмена сообщениями), так и в качестве библиотек (dll, so) непосредственно в ад­ресном пространстве процесса Fron-tend-менеджера.

Возможность подключения Back­end-коннекторов в качестве библиотек доступна также для различных клиентов WinCC OA, которыми могут являться и графические интерфейсы пользователя, и другие менеджеры. Это дает возможность прямого подключения (Direct Read) клиентов к БД «в обход» стандартного пути при осуществлении запроса исторических данных – через центрального менеджера событий. Описанный подход позволяет снизить избыточную нагрузку с ядра системы и повысить ее общую производительность.

Первой СУБД, используемой в новой модульной архитектуре NGA, стала InfluxDB – популярная специализированная СУБД для хранения временных рядов, оптимизированная как по компактности хранения данных, так и по скорости операций чтения/записи. По состоянию на июль 2019 года InfluxDB признана лидером среди всех баз данных временных рядов, согласно рейтингу, формируемому специализированным сайтом о базах данных DB-Engines.com на основе совокупности значимых факторов. По сравнению с реляционными БД InfluxDB требует в среднем на 87 % меньше дискового пространства и обеспечивает архивирование алармов и событий, полностью заменяя собой канонические средства архивирования WinCC OA – БД Raima и History DB – и обеспечивая независимость от БД Oracle при работе с большими объемами данных. Размер одной архивной записи WinCC OA в InfluxDB составляет менее 8 байт, соответствующая запись в собственной History DB занимает 48 байт, а в Oracle уже около 80 байт. Операции чтения архивных данных выполняются примерно в 3 раза быстрее, в зависимости от размера возвращаемого результата. По операциям записи производительность с InfluxDB составляет более 30 000 изменений в секунду при постоянной нагрузке, с Oracle и History DB соответствующий показатель ~22 000 при прочих равных условиях. Также следует отметить более быстрое переключение между сегментами данных в InfluxDB.

Благодаря модульной архитектуре NGA к каждой системе WinCC OA может быть подключено одновременно несколько независимых локальных баз данных. При этом в распределенных системах WinCC OA имеется возможность создавать центральную БД (например, для определенных наборов точек данных), подключенную ко всем (или выбранным) узлам WinCC OA. Это обеспечивает новый уровень гибкости при конфигурировании как набора, так и архитектуры подключений хранилищ исторических данных и предопределяет максимальную свободу действий при проектировании сложных, распределенных систем. Например, определенные данные могут сохраняться одновременно как в центральную БД, так и в локальные (рис. 2).

Ris_2.png

Рис. 2. Один из примеров архитектуры с одновременными подключениями различных баз данных (как локальных, так и центральной) к узлам распределенной системы WinCC OA


Интеграция с Node-RED

Node-RED – популярный инструмент визуального программирования, построенный на базе среды выполнения Node.js, позволяющей конфигурировать потоки и бизнес-процессы (workflows) непосредственно в графическом редакторе с использованием коллекции предконфигурированных нодов (узлов). С помощью функционального пакета нодов WinCC OA легко организовать обмен данными с различными системами: например, выполнить быструю конфигурацию импорта/экспорта данных из ERP-систем или подключить WinCC OA к различным интернет-сервисам, таким как сервис прогноза погоды. Использование графического редактора позволяет избежать трудоемкого программирования – при этом пользователь при необходимости может добавить собственную функциональность с помощью JavaScript.

Взаимодействие компонентов WinCC OA, обеспечивающих указанную выше функциональность, схематично показано на рис. 3. Для работы с Node-RED используются WebSocket Secure Server и HTTPS-сервер (сервер Node-RED), которые запускаются с помощью выделенного CTRL-менеджера, создаваемого в рамках инсталляции функционального пакета Node-RED. Данный CTRL-менеджер запускается автоматически, с выполнением предопределенного сценария «nodeRed.ctl» и от имени пользователя, задаваемого при конфигурировании. При этом может создаваться несколько экземпляров WebSocket Secure Server, которые затем назначаются нодам в редакторе Node-RED.

Ris_3.png

Рис. 3. Интеграция Node-RED c WinCC OA: архитектура взаимодействия

Экземпляры WebSocket Secure Server, запускаемые в CTRL-менеджере, взаимодействуют с нодами WinCC OA сервера Node-RED, являющимися, по сути, приложениями Node.js. HTTPS-сервер Node-RED обменивается данными с браузером, который обеспечивает визуализацию графического интерфейса в редакторе Node-RED.

Пример работы с Node-RED в WinCC OA с реализацией экспорта настроечных параметров из Excel-файла с последующей установкой разобранных значений для выделенного набора тегов приведен на рис. 4.

Ris_4.png

Рис. 4. Пример работы с Node-RED в WinCC OA: конфигурирование пользовательских бизнес-процессов непосредственно в графическом редакторе


Развитие подсистемы драйверов

Дальнейшее развитие в WinCC OA версии 3.17 получила и подсистема драйверов. Перечислим некоторые ключевые изменения и дополнения:
- реализация нового драйвера протокола Omron FINS;
- обновление драйвера МЭК‑61850, в том числе оптимизация функциональности просмотра/работы с файлами, более корректная обработка меток времени и информации о качестве;
- обновление и расширение драйвера OPC UA Client – добавление поддержки типа данных blob arrays;
- обновление и расширение драйвера OPC UA Server, в том числе глубокая интеграция с информационной моделью (CNS-представления) для предоставления данных по OPC UA из узлов распределенных систем, оптимизация производительности при обработке большого количества данных от клиентов OPC UA, индивидуальная настройка размера очереди подписок, оптимизация взаимодействия с контроллерами S7-1500, обеспечение буферизации при разрыве взаимодействия с клиентом OPC UA, возможность изменения адресного пространства OPC UA без рестарта сервера и ряд других изменений;
- обновление и расширение драйвера BACnet, в том числе улучшение функциональности панели устройств, поддержка автоматического добавления новых классов в предопределенный перечень классов уведомлений для устройств;
- завершение сертификации кли­ента IEC 61850/61400 (KEMA);
- среди прочих компонентов данного класса с обновленной функциональностью – драйверы Modbus, Ether­net IP, OPC DA/HDA.


Другие нововведения и изменения

Поддержка QT WebEngine. В виджете WinCC OA WebView EWO, который применяется для отображения веб-документов и веб-приложений, теперь используется новый браузер – Qt WebEngine вместо Qt WebKit. Это обеспечивает повышение производительности и существенное расширение набора функций при отображении документов HTML5, сравнимого с браузером Chrome 68. По результатам тестирования на портале http://html5test.com/, итоговый результат при использовании Qt WebEngine составляет до 503 пунктов по сравнению с Qt WebKit (до 356 пунктов) из 555 возможных.

ULC UX для мобильного браузера. В дополнение к приложению Mobile UI теперь можно работать в ультралегком клиенте ULC UX непосредственно с мобильного устройства с поддержкой мультисенсорной технологии и полноэкранного режима без необходимости установки какого-либо ПО.

Дальнейшее развитие Control++. Традиционно непрерывное развитие и усовершенствование в новых версиях WinCC OA получает встроенный язык Control++. В версии 3.17 реализованы следующие изменения и нововведения:
- наборы новых функций, дополнительные методы и атрибуты графических объектов;
- новый интегрированный тип данных (vector);
- дополнительные программные объекты, такие как вспомогательные перечисления;
- усовершенствования встроенного отладчика;
- наличие программного управления адаптивным дизайном;
- улучшенный редактор скриптов с поддержкой выделения синтаксических конструкций;
- более строгое и точное объявление программных конструкций (в том числе проверки синтаксиса с выводом дополнительной информации в системные лог-файлы);
- программная поддержка подписки на пользовательские глобальные события в графическом интерфейсе и прочие.

Обновление средств безопасности. Ниже перечислены некоторые дополнительные средства и механизмы обеспечения безопасности, появившиеся в WinCC OA версии 3.17 в дополнение к существующей платформенной подсистеме безопасности:
- панели и сценарии теперь передаются на удаленные клиенты (включая мобильные устройства) и хранятся в зашифрованном виде;
- настройки аутентификации в применении к точкам данных (конфигурационный элемент _auth) переработаны с добавлением большей гибкости конфигурирования и общего повышения уровня безопасности (например, добавлены возможности управления ролевым доступом);
- создание стандартного проекта (по умолчанию) производится с максимальными настройками безопасности;
- обеспечивается поддержка SNMP v3 с максимальными параметрами безопасности;
- применяется алгоритм блочного шифрования AES‑256;
- при необходимости внесения каких-либо изменений в зашифрованные модули проекта – панели, библиотеки и сценарии (например, после сдачи системы в эксплуатацию) – последние могут быть расшифрованы без риска потери ноу-хау;
- выполнено обновление OpenSSL в составе WinCC OA до актуальной версии;
- оптимизирована работа подсистемы безопасности с доменами большого размера (Active Directory) с поддержкой инструментария быстрого просмотра и навигации при отображении списка пользователей;
- обеспечено безопасное переключение пользователей в онлайн-режиме.

Отдельно следует отметить завершение процесса сертификации по стандарту IEC 62443-4-2 «Безопасность систем промышленной автоматизации и управления. Требования технической безопасности к компонентам систем промышленной автоматизации и управления». Достигнутые показатели выполнения релевантных WinCC OA требований к уровням безопасности, определенных стандартом, составляют: для профиля SL-C 1 – 100 %, для профиля SL-C 2 – 98 %, для профиля SL-C 3 – 93 %, для профиля SL-C 4 – 91 %. Наличие указанного сертификата делает возможным обеспечение владельцами систем на базе WinCC OA соответствия достигнутого уровня безопасности (SL-A) установленным целевым требованиям к уровню безопасности (SL-T). В сочетании с ранее полученным сертификатом по стандарту IEC 62443-4-1 «Безопасность систем промышленной автоматизации и управления. Требования к жизненному циклу безопасной разработки продуктов», согласно которому процесс разработки WinCC OA отвечает уровню зрелости ML3, получение сертификата по стандарту IEC 62443-4-2 подтверждает соответствие WinCC OА самым современным требованиям в области кибербезопасности.

Обновление модуля Video. Подсистема видео vimacc, входящая в состав модуля Video, в WinCC OA 3.17 была обновлена до версии 2.2.7.1, при этом были добавлены следующие функциональные возможности:
- поддержка потокового видео для мобильных клиентов (для платформ iOS 12+ and Android 6+);
- оптимизация передачи потокового видео для мобильных подключений;
- общее улучшение производительности модуля;
- поддержка интегрированного HTML Video Client для оптимизации потокового видео на ультралегких клиентах ULC UX;
- механизм получения алармов от видеоустройств по TCP/IP (IP Alarm Receiver);
- поддержка собственного веб-сервера для хостинга и предоставления видео потребителям по http.

Виджет WebView для запуска сценариев на JavaScript теперь доступен в ULC UX. Обновленный виджет WebView c поддержкой интерфейса JavaScript поддерживает двунаправленную передачу данных между платформой WinCC OA и сценариями JavaScript для реализации пользовательской логики на JavaScript и интеграции различных библиотек JavaScript с проектами WinCC OA, с возможностью работы JavaScript-сценариев как на стороне клиента, так и на стороне сервера.

Развитие прочих функциональных возможностей. Обновление платформы Qt до версии 5.12, на базе которой создана система WinCC OA, привело к общей оптимизации и обновлению системных компонентов и платформенной функциональности, в том числе:
- улучшенной производительности при отрисовке графических элементов на экранных формах при отображении на дисплеях большого разрешения;
- обновленным графическим виджетам;
- новым доступным по API свойствам графических объектов для разработчиков приложений.

Среди прочих обновлений инструментария разработчика появились: поддержка набора основных функций GIT, доступных в графическом редакторе GEDI и отображаемых с помощью контекстного меню, новый объект графического пользовательского интерфейса Splitter, позволяющий добавлять в собственный контейнер графические модули с экранными формами и управлять их видимостью, обновление виджета Chart­EWO для отображения диаграмм различных типов, обновление виджета PDF View EWO для просмотра PDF-документов непосредственно в системе WinCC OA с функциональностью перехода по внутренним ссылкам и многочисленные усовершенствования графических редакторов интегрированной среды разработки.


Новая технология лицензирования

В WinCC OA 3.17 введен новый механизм лицензирования: пользователи могут самостоятельно управлять своими лицензиями с помощью технологии CodeMeter без необходимости взаимодействия с вендором, что обеспечивает бóльшую гибкость при изменении лицензионных конфигураций.

Центральным веб-репозиторием управления лицензиями является CodeMeter WebDepot, где пользователи могут, например, активировать лицензии для своих целевых устройств с возможностью привязки лицензий как к USB-ключу, так и к софтверному контейнеру. Доступ к системе осуществляется с помощью идентификатора (тикета), который предоставляется после приобретения лицензий и представляет собой обычную веб-ссылку. Локально установленный интегрированный сервис (CodeMeter Control Center) обеспечивает пользователю возможность обзора и управления лицензионными опциями, назначенными устройству (рис. 5).

Ris_5.png

Рис. 5. Пример веб-интерфейса CodeMeter WebAdmin с отображением странички мониторинга использования установленных лицензионных опций


Выводы

Выпуск версии 3.17 знаменует начало новой эпохи развития платформы WinCC OA. Прежде всего это развитие выражается в реализации новой идеологии хранения исторических данных, основанной на возможности использования различных СУБД в качестве нативных исторических хранилищ. Выпуск коннектора к специализированной СУБД для хранения временных рядов InfluxDB стал первым шагом на этом пути; далее запланирован выпуск коннекторов к другим востребованным СУБД (в частности, PostgreSQL). Другими ключевыми приоритетами развития остаются информационная безопасность, гибкость и эффективность средств инжиниринга, производительность, коммуникационные возможности – во всех этих направлениях WinCC OA версии 3.17 получила значительное обновление и расширение. Данные изменения отвечают вызовам и требованиям, предъявляемым к современным платформам сбора и обработки данных в условиях цифровой трансформации производственных процессов и бизнес-моделей.


Литература

1. Серов А. Ю., Соловьёв С. Ю. Новое в WinCC OA версии 3.16: инженерная эффективность, производительность и безопасность как ключевые характеристики SCADA-системы в эпоху цифровой трансформации // ИСУП. 2018. № 3.
2. Серов А. Ю., Соловьёв С. Ю. Дальнейшее развитие SIMATIC WinCC Open Architecture 3.16: Feature Pack 2 // Control Engineering Россия. 2019. № 2.
____________________________
1По состоянию на момент выхода настоящей статьи реализован коннектор для  InfluxDB, подробности см. ниже в статье.

Опубликовано в журнале ИСУП № 4(88)_2020

А. Ю. Серов, ведущий инженер по интеграции проектов,
С. Ю. Соловьёв, к. т. н., руководитель Центра компетенций,
управление «Цифровое производство»,
ООО «Сименс», г. Москва,
тел.: +7 (495) 737‑1737,
e‑mail: icc.ru@siemens.com,
сайт: siemens.ru