Приводится обзор ключевых усовершенствований и нововведений в SCADA-системе SIMATIC WinCC Open Architecture версии 3.16, расширивших арсенал средств и возможностей популярной платформы для сбора, обработки и визуализации данных для промышленных и инфраструктурных задач.
ООО «Сименс», г. Москва
Растущая роль данных в условиях глобальной цифровой трансформации (дигитализации) производственных структур и обеспечивающей их инфраструктуры требует не только решения задач горизонтальной и вертикальной интеграции всех систем и процессов, но и соответствующего изменения подхода к созданию, сопровождению и развитию информационно-управляющих систем всех уровней.
Характерным отличием цифрового подхода к организации производства является способность перестройки производственно-кооперационных цепочек как ответ на быстро меняющуюся конъюнктуру рынка и индивидуализацию спроса, что влечет за собой соответственно необходимость изменения информационных связей и управляющих контуров на производстве. Это кардинально отличает требования и подходы к созданию информационных систем цифровой эпохи от систем предшествующего периода развития с фиксированной структурой и функциональностью, жестко определенными на этапе проектирования.
Платформам класса SCADA в комплексе информационных систем цифрового предприятия отведена особая роль связующего звена, обеспечивающего возможность объединения большого числа разнотипных приборов, устройств, систем, установок и других компонентов в единое киберфизическое пространство. Фактически SCADA-системы становятся базовыми обеспечивающими информационными структурами для реализации принципов промышленного интернета вещей и замкнутого цифрового производственного контура (closed loop manufacturing). При этом с точки зрения подхода к инжинирингу и разработческого инструментария естественным для рассматриваемых задач является применение гибкой методологии разработки (agile), обеспечивающей реализацию необходимой функциональности на каждой итерации жизненного цикла.
Рассматриваемая в настоящей статье SCADA-система SIMATIC WinCC Open Architecture (WinCC OA) уже успела зарекомендовать себя как эффективная платформа для сбора, обработки и визуализации данных, особенно в больших и сложных проектах, в которых предъявляются специфические требования к производительности, функциональности и архитектуре системы. Применимость WinCC OA в контексте задач дигитализации производства и инфраструктуры предопределяют такие характеристики и функциональные возможности системы, как гибкая и модульная архитектура, ориентированная на создание распределенных (в том числе географически распределенных) и крупномасштабных конфигураций, поддержка различных протоколов обмена данными, масштабируемость, кросс-платформенность, эффективный инжиниринговый инструментарий, открытость интерфейса прикладного программирования, поддержка широкого спектра интеграционных технологий, возможности оперативной аналитики данных и др. [1].
Для поддержки жизненного цикла производственных и инфраструктурных систем на этапах проектирования, производства и обслуживания в системе WinCC OA, во‑первых, имеются встроенные средства системы, а во‑вторых, обеспечивается интеграция с внешними инструментами, такими как TIA Portal, SIMIT и др. (рис. 1). С учетом заложенной в систему методологии гибкого инжиниринга, обеспечивающей возможность изменения конфигурации и функциональности системы «на лету», благодаря самой философии разработки и развития систем платформа WinCC OA является совместимой с целевой парадигмой жизненного цикла цифровых производственных систем.
Рис. 1. Свойства и компоненты WinCC OA для задач дигитализации в контексте жизненного цикла производственных и инфраструктурных систем (увеличить изображение)
В вышедшей недавно новой версии системы WinCC OA 3.16 свойства и компоненты, обеспечивающие инженерную эффективность, производительность и безопасность как ключевые характеристики SCADA-системы в эпоху цифровой трансформации, получили дальнейшее инновационное развитие, логично дополнив и расширив существующий инструментарий. Остановимся на наиболее значимых и характерных усовершенствованиях и нововведениях, появившихся в WinCC OA версии 3.16.
Развитие средств безопасности
Основа для развития
Система WinCC OA поддерживает различные средства и механизмы обеспечения безопасности [2], в частности:
- шифрование панелей, сценариев и библиотек;
- SSL-шифрование при передаче данных (как между менеджерами, так и для клиентов);
- протокол HTTPS для обмена данными с веб- и мобильными приложениями;
- разграничение уровней доступа;
- возможность интеграции c Active Directory (Single Sign On – SSO);
- протокол сетевой аутентификации Kerberos и др.
Нововведения WinCC OA версии 3.16 в части средств обеспечения безопасности:
- функциональность создания и проверки электронных подписей Crypto API;
- аутентификация менеджеров WinCC OA на стороне сервера;
- вычисление контрольных сумм для обеспечения целостности передаваемых данных.
Crypto API
В новой версии WinCC OA появилась возможность создания и проверки электронных подписей с помощью WinCC OA Crypto API, то есть непосредственно из программного кода. При этом WinCC OA Crypto API использует сертификаты X509 стандарта ITU-T для инфраструктуры открытого ключа, определяющие стандартные форматы данных и процедуры распределения открытых ключей с помощью соответствующих сертификатов с цифровыми подписями.
Функции для работы с электронными подписями и для генерации случайных чисел имплементированы в отдельных классах (Key.hxx и Random.hxx соответственно).
Аутентификация менеджеров WinCC OA на стороне сервера
Эта новая функциональность повышает общий уровень системной безопасности, особенно при использовании архитектурных решений со связью распределенных систем WinCC OA между собой через интернет-подключения. При использовании данной функциональности менеджеры WinCC OA, которые пытаются установить подключение к менеджерам событий или БД, обязаны проходить определенную аутентификацию. При этом в рамках данной процедуры применяются ранее созданные сертификаты X509.
Кроме того, после успешной аутентификации в целях повышенной безопасности обеспечивается неизменность параметров сессии подключения. В случае неавторизованного изменения параметров сессии происходит принудительное отключение менеджера (модуля) от системы.
Вычисление контрольных сумм для обеспечения целостности передаваемых данных
Использование механизма вычисления контрольных сумм при стандартном взаимодействии менеджеров WinCC OA – дополнительный способ обеспечить целостность передаваемых данных. Работает это следующим образом: передаваемые пакеты оформляются как CRC-телеграммы определенной длины, каждая содержит 32‑битовый CRC. По получении таких телеграмм происходит проверка контрольных сумм передаваемых значений на соответствие с ранее вычисленными, а при несовпадении таковых генерируется системная ошибка. Связь между менеджерами, участвующими в подключении, прерывается, и в средстве просмотра журналов отображается сообщение об ошибке.
Развитие средств инжиниринга
Основа для развития
Инжиниринг проектов в WinCC OA основан на объектно ориентированном подходе [3]. В модели данных WinCC OA объекты представляются в виде точек данных, характеризующих образ конкретного физического устройства, объекта или процесса. Для каждого элемента точки данных (тега) могут быть определены свойства и действия в его отношении, такие как обработка сигналов (сглаживание, задание диапазонов и т. п.), связь с внешними системами, архивирование, формирование алармов и др. Поддерживаются типизация и наследование, за счет чего могут быть созданы произвольные иерархические структуры данных. Аналогично принципы наследования и многократного использования реализованы и для графических объектов. Изменения в структурах данных и графических элементах применяются без перезапуска проекта. Написание пользовательских сценариев (скриптов) осуществляется на языке CTRL (синтаксис подобен С/С++). Такие сценарии могут как являться обработчиками событий, связанных с элементами графического интерфейса, так и представлять собой процедуры (в том числе сложные) обработки данных.
В дополнение к имеющимся средствам и инструментам в WinCC OA версии 3.16 расширена функциональность для встроенного языка CTRL++ и реализована возможность подписки на системные события.
Новая функциональность для встроенного языка CTRL++
Далее в списке перечислены наиболее интересные для разработчиков новые возможности и функции встроенного языка CTRL++, появившиеся в версии WinCC OA 3.16:
- добавлен новый тип данных function_ptr – указатель на какую-либо функцию CTRL++, например на функцию-член класса;
- добавлена возможность использования экземпляров классов CTRL++ для работы с функциями подписки на изменения данных (например, такие как dpConnect/dpDisconnect);
- функция startThread (), запускающая процедуры/функции в отдельной нити, теперь может также запускать статические и динамические функции-члены класса CTRL++;
- внедрены некоторые другие новые функции и методы в дополнение к большому количеству уже существующих.
Возможность подписки на системные события
Помимо стандартной и привычной для разработчиков функциональности подписки на события при изменении значений/атрибутов элементов точек данных (тегов) в WinCC OA версии 3.16 появилась возможность подписки на различные системные события, в том числе в распределенных и резервированных системах WinCC OA. Так, например, можно подписаться на событие создания/удаления/переименования точки данных, на изменение статуса активного/пассивного узла в резервированной системе и пр.
Развитие средств реализации пользовательского интерфейса
Основа для развития
Для отображения экранных форм, мнемосхем, пользовательских диалогов, отчетов и других элементов графического интерфейса в системе WinCC OA могут использоваться различные технологии визуализации (в том числе для удаленного мониторинга и управления через Internet/Intranet [4]):
- стандартный пользовательский интерфейс («толстый клиент»);
- клиент для настольных приложений с подключением по веб-протоколу (Desktop UI);
- веб-клиент ULC UX («ультратонкий клиент» на основе технологии HTML5);
- мобильный пользовательский интерфейс для iOS и Android.
Нововведения WinCC OA версии 3.16 в части средств реализации пользовательского интерфейса:
- дальнейшее развитие JavaScript-интерфейса;
- интеграция библиотек JavaScript с проектами WinCC OA;
- новые типы трендов;
- усовершенствование функциональности существующих виджетов.
JavaScript-интерфейс
Виджет WebView EWO позволяет применять в WinCC OA имеющиеся программные реализации и разрабатывать собственные пользовательские сценарии на JavaScript. Кроме того, в данном виджете реализован интерфейс взаимодействия с WinCC OA, предоставляющий определенный набор функций, таких как dpGet/dpSet (непосредственный доступ к базе данных WinCC OA) или setValue/getValue (доступ к значениям/атрибутам элементов экранных форм), аналогичных соответствующим функциям встроенного языка CTRL++. Таким образом, с помощью данного интерфейса сценарии JavaScript могут быть использованы для получения доступа и взаимодействия с панелями и объектами приложения на WinCC OA непосредственно из кода JavaScript. Возможно использование большого количества подобных JavaScript-виджетов в вашем приложении для обеспечения совершенно различной функциональности.
Данная технология была первоначально анонсирована для WinCC OA версии 3.15 и стала полнофункциональной в версии 3.16.
Интеграция библиотек JavaScript с проектами WinCC OA
Помимо описанных в предыдущем подразделе возможностей виджет WebView EWO JavaScript в составе WinCC OA версии 3.16 предоставляет возможность использовать в проектах WinCC OA многочисленные доступные на рынке библиотеки JavaScript.
Среди библиотек JavaScript, функциональность которых может быть востребована в проектах WinCC OA, следует упомянуть такие известные реализации, как D3 (https://d3js.org), HIGHCHARTS (http://www.highcharts.com), JS Charts (http://www.jscharts.com), Protovis (http://mbostock.github.io/protovis), Flot (http://www.flotcharts.org) и многие другие.
Указанные библиотеки позволяют реализовать развитую визуализацию, например, различные виды графиков (линейные, круговые, лепестковые, полярные, кольцевые и др.), гистограммы, пузырьковые диаграммы, календарные представления/карты, древовидные диаграммы, дендрограммы, потоковые графики, а также такие специализированные формы представления информации, как, например, диаграмма Вороного, диаграмма Сэнки, гамильтонов граф, матрица совместной встречаемости и др. Кроме того, специализированные библиотеки JavaScript дают непревзойденные возможности для создания интерактивной визуализации (анимированных графов, интерактивных диаграмм и т. п.), а также таких востребованных в условиях перегрузки человека-оператора избыточной информацией элементов пользовательского интерфейса, как спарклайны, или искрографики (sparkline), – небольшие линейные графики, дающие представление об общих трендах и занимающие минимум места на экране. Примеры внешнего вида некоторых объектов приведены на рис. 2.
Рис. 2. Примеры внешнего вида некоторых объектов, построенных с помощью библиотек JavaScript (увеличить изображение)
Новые типы трендов
Новый виджет, реализующий дополнительные типы трендов (без необходимости использования JavaScript), стал доступен в версии 3.16. Этот виджет добавляет новые типы графиков к уже существующим. Среди некоторых примеров графиков, доступных для этого виджета, – линейные, круговые, полярные, кольцевые, пузырьковые диаграммы. Примеры использования данного виджета приведены на рис. 3.
Рис. 3. Примеры некоторых новых типов трендов в WinCC OA версии 3.16
Усовершенствование функциональности существующих виджетов
Среди виджетов, функциональность которых серьезно обновилась и усовершенствовалась в новой версии WinCC OA 3.16 и обновленной платформе QT 5.9.2, – виджеты трендов, таблиц, меток-заполнителей, виджет древовидной структуры и др.
Развитие модуля WinCC OA Video
Модуль Video в составе WinCC OA является универсальным ПО, обеспечивающим передачу, отображение и архивирование видеоданных, контроль компонентов видеосистемы (таких как видеокамеры, видеокодировщики и конвертеры, аналоговые видеосистемы), а также подключение и связь с внешними системами CCTV (системы телевидения замкнутого контура). Модуль WinCC OA Video позволяет оператору централизованно управлять различными функциями видео непосредственно из SCADA-системы и использовать при выполнении своих задач видеоинформацию в дополнение к основным данным, получаемым с контролируемых объектов.
Обновление подсистемы видео vimacc, используемой в модуле WinCC OA Video, до версии 2.2.3.5 явилось основой для появления в текущей версии WinCC OA следующих функциональных изменений и нововведений:
- оптимизация интерфейса обработки видеопотоков для обеспечения поддержки видео с высокими характеристиками (до 100 fps);
- оптимизация функциональной совместимости с видеокамерами с поддержкой формата «чередования аудио и видео» (Audio Video Interleave) в потоковом протоколе реального времени (RTSP);
- оптимизация функциональной совместимости со стандартом ONVIF в отношении широкого спектра видеокамер;
- улучшение функциональности абсолютного позиционирования PTZ-камер, поддерживающих стандарт ONVIF;
- предоставление видеоменеджером информации о статусе шифрования соединений;
- общие улучшения системной стабильности и устранение существовавших ранее проблем при http-взаимодействии;
- возможность отображения видео для клиента типа DesktopUI.
Также в WinCC OA версии 3.16 реализована новая и более простая модель лицензирования для модуля Video – по числу подключаемых к системе видеокамер с возможностью дальнейшего увеличения их первоначального количества при необходимости расширения системы.
Развитие подсистемы драйверов
Ниже перечислены наиболее значимые изменения в подсистеме драйверов WinCC OA:
- для драйвера S7Plus – наличие подсистемы алармов (установка и квитирование алармов от ПЛК), новый инструмент TIA Importer, обеспечивающий создание и использование типов данных проекта TIA-портала в WinCC OA, возможность просмотра данных непосредственно из контроллера, поддержка подключения через модули CP/CM, обновление ОС-драйвера S7DOS;
- для драйвера S7 – улучшенная подсистема синхронизации алармов;
- для драйверов OPC DA/HDA Server – обеспечение возможности предоставления данных от распределенных систем WinCC OA, то есть ОРС-клиенты, подключенные к серверу WinCC OA ОРС могут осуществлять сбор данных со всех систем WinCC OA; OPC HDA клиент и сервер теперь поддерживают 64‑битовые типы данных uint и int;
- для драйвера OPC UA Server теперь реализована поддержка доступа к историческим данным; поддержка сертификатов X.509 при аутентификации пользователей и алгоритма Basic256Sha256 для обеспечения безопасности;
- для драйвера OPC UA Client – поддержка сертификатов X.509 при аутентификации пользователей; буферизация при потере сетевого соединения (теперь OPC UA Client при возможности повторно использует сессию OPC UA и соответствующие подписки после восстановления соединения, что позволяет использовать буферированные данные и избежать потерь информации при кратковременных обрывах связи);
- для драйвера Modbus TCP добавлена поддержка типа данных Uint64;
- для драйвера EIP – чтение массивов данных целиком или сегментами в рамках одного запроса; поддержка множественных подключений к ПЛК; конфигурируемый размер пересылаемых сообщений.
Развитие прочих функциональных возможностей
Обновление платформы Qt до версии 5.9.2, на базе которой создана система WinCC OA, привело к общей оптимизации и обновлению всех системных компонентов и платформенной функциональности, в частности:
- улучшенной производительности при отрисовке графических элементов на экранных формах;
- обновленным графическим виджетам;
- новым доступным по API свойствам графических объектов для разработчиков приложений.
Дальнейшее развитие WinCC OA 3.16
Не только для прикладных проектов на базе WinCC OA, но и для создания самой системы WinCC OA используется гибкая методология разработки (разработка WinCC OA следует процессу SCRUM). Это дает дополнительные возможности для выпуска пакетов обновлений (Feature Pack, в предшествующих версиях WinCC OA – Patch), содержащих как дополнительные компоненты, так и значимые дополнения, и для расширения функциональности системы между основными номерными версиями продукта – 3.16, 3.17, 3.18 (рис. 4).
Рис. 4. Дорожная карта выпуска версий и пакетов обновлений WinCC OA
В частности, в составе Feature Pack 1 (FP1) для WinCC OA версии 3.16, выход которого анонсирован на ноябрь 2018 года, запланирована реализация следующих компонентов и расширений:
- интеграция с графическим конфигуратором (редактором) для интернета вещей Node-RED (прототип);
- поддержка устройств SIMATIC IoT2040;
- поддержка виджетов JavaScript в ультралегком веб-клиенте ULC UX;
- поддержка системы документирования исходных текстов Doxygen;
- реализация агента для подключения к открытой облачной операционной системе интернета вещей MindSphere;
- расширение функциональных возможностей модуля SmartSCADA;
- поддержка системы управления версиями Git в редакторе GEDI;
- реализация драйвера протокола MQTT;
- поддержка протокола PROFISafe;
- сертификация драйвера протокола BacNet для ОС Linux и др.
Как видно из приведенного перечня, в Feature Pack 1 для WinCC OA версии 3.16 дальнейшее развитие получат прежде всего инжиниринговый инструментарий, коммуникационные возможности, средства визуализации и анализа данных. Особое значение имеет реализация поддержки WinCC OA на устройствах SIMATIC IoT2040 и агента для подключения к системе MindSphere (в дополнение к классическим областям применения в качестве локальных или распределенных систем сбора, обработки и визуализации данных). Это открывает новые возможности и перспективы для WinCC OA в задачах интеграции с облачными платформами и построения интернета вещей в промышленных и инфраструктурных приложениях.
Выводы
В версии 3.16 инструментарий и возможности SCADA-системы WinCC OA получили дальнейшее инновационное развитие в части инженерной эффективности, производительности и безопасности. С учетом заложенной в основу системы методологии гибкой разработки, развитых средств инжиниринга и непрерывной работы по совершенствованию WinCC OA представляет собой целевой выбор в качестве платформы для реализации систем сбора, обработки и визуализации данных для задач цифровой трансформации производства и инфраструктуры.
Литература
1. Соловьёв С. Ю. Дигитализация с SIMATIC WinCC Open Architecture: настоящее и будущее // ИСУП. 2017. № 3.
2. Мельников А. С., Соловьёв С. Ю. Обеспечение информационной безопасности при применении SCADA-системы WinCC OA // Автоматизация в промышленности. 2017. № 7.
3. Соловьёв С. Ю. Инжиниринг проектов на базе SCADA-системы SIMATIC WinCC OA // ИСУП. 2016. № 4.
4. Соловьёв С. Ю., Серов А. Ю. Новые возможности дистанционного мониторинга и управления промышленными и инфраструктурными объектами с помощью WinCC OA версии 3.15 // ИСУП. 2017. № 1.
Статья опубликована в журнале "ИСУП" № 3(75)_2018
А. Ю. Серов, ведущий инженер по интеграции проектов,
С. Ю. Соловьёв, к. т. н., руководитель Центра компетенций,
департамент «Цифровое производство»,
ООО «Сименс», г. Москва,
тел.: +7 (495) 737‑2441,
e‑mail: dfpd.ru@siemens.com,
сайт: siemens.ru