Integrity SCADA: обеспечение кросс-платформенности без технологий Wine — АСУ ТП: сообщество инженеров

Integrity SCADA: обеспечение кросс-платформенности без технологий Wine

Поддерживая тренд на импортозамещение программных продуктов, компания «ЭлеСи» разработала и выпустила SCADA-систему, позволяющую использовать в том числе отечественные операционные системы, – Integrity SCADA. Рассмотрим возможности и преимущества этой системы.

C 2014 г. стратегия импортозамещения в промышленности, в том числе снижения уровня зависимости от зарубежного программного обеспечения, стала одним из приоритетных направлений. Уже тогда компания «ЭлеСи» имела в своем арсенале многолетний опыт разработки собственной SCADA-системы с внедрениями по всей стране на таких объектах, как Братская ГЭС, СДКУ Транснефть, проект «Север», ЕСУ ТС ВСТО, АСДУ Московского метрополитена, Единая диспетчерская СУЭК-Кузбасс, СОДУ «Сила Сибири» и многие другие. Но, как и остальные отечественные производители, мы разрабатывали свой программный продукт под операционные системы семейства Windows как наиболее распространенного семейства операционных систем. Собственный программный код компонентов, использовавший преимущества Windows, не обеспечивал кросс­платформенность, и о 100%-ной импортозамещенности говорить было нельзя, поскольку средой выполнения программного обеспечения оставалась Windows.

На тот момент у нас возник вопрос, как обеспечить независимость от операционной системы Windows и дать потребителю возможность выбора других платформ, в том числе и отечественных. На волне импортозамещения появились и получили новый толчок в развитии такие операционные системы, как Astra Linux, RedOS, AltLinux, и другие.

На поверхности было два решения: быстрое и с минимальными доработками — использование Wine-технологии или подобных технологий виртуализации, либо долгое и затратное — полная переработка исходных кодов программных продуктов для обеспечения кросс-платформенности. Мы выбрали второй путь и не ошиблись.

Опираясь на 20-летний опыт разработки SCADA-систем, в 2016 г. наша компания начала разработку нового программного комплекса — платформы для создания систем управления и автоматизации под ОС различных семейств, без ограничения на использование по отраслям промышленности, с нуля. В 2019 г. «ЭлеСи» представила первую версию кросс-платформенного продукта — Integrity SCADA.

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

Рис. 1. Состав программного комплекса

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

Серверные резервируемые компоненты

К серверным резервируемым компонентам относятся: IntegrityServer — сервер ввода/вывода оперативных данных; IntegrityHistoryServer — сервер истории; IntegrityReports — мощный инструмент по созданию отчетов с собственным редактором; IntegrityDataTransport — сервер транспорта данных.

IntegrityServer предназначен для сбора данных по промышленным протоколам, математической предобработки данных, генерации сообщений о событиях и авариях, предоставления данных сторонним системам и клиентским приложениям. Коммуникационные протоколы реализованы в виде подключаемых модулей. Можно собрать конфигурацию сервера только из необходимых модулей. Подтвержденная работоспособность сервера 24×7, с легкой масштабируемостью, от малых проектов 0–25 000 сигналов до проектов, содержащих более 2 000 000 сигналов. Предусмотрена возможность создавать распределенные системы обработки данных. Обмен данными со сторонними системами осуществляется по стандартным промышленным протоколам и спецификации OPC UA. Открытый формат конфигурации позволяет выполнять конфигурирование сторонними средствами. Встроены механизмы предотвращения потери оперативных данных и событий для клиентских подключений. Низкие требования к аппаратной составляющей, возможность работы без графического интерфейса на серверных операционных системах. Обеспечено горячее резервирование серверов данных с синхронизацией оперативных данных и событий. Исчерпывающие функции самодиагностики с предоставлением диагностической информации. Разграничение доступа к данным сервера ввода/вывода.

IntegrityHistoryServer обеспечивает сбор и хранение данных технологического процесса, а также предоставление исторических данных сторонним системам и клиентским приложениям. Распределенная структура хранения данных, разделение БД на БД хранения данных и БД хранения событий, как следствие — повышение скорости чтения/записи технологических данных. Предусмотрена схема распределенного резервирования — для каждого сервера истории можно назначить список коллекторов — сборщиков технологических данных и событий. Имеется настраиваемая защита от корректировки и удаления данных истории. Хранение данных осуществляется в первичном и архивном виде, сжатие первичных и архивных данных с настройкой уровня сжатия. Встроенная СУБД собственной разработки. Доступ к историческим данным и событиям посредством SQL-запросов и по спецификации OPC UA. Разграничение доступа к данным сервера истории.

IntegrityReports отвечает за формирование и управление отчетами различного уровня сложности для анализа исторических данных и оперативной производственной информации. Обладает широким набором базовых шаблонов отчетов, есть собственный встроенный редактор шаблонов отчетов. Получение оперативных и исторических данных для отчетов по спецификации ОРС UA или посредством SQL-запросов, в том числе со сторонних серверов данных. Генерация отчетов по расписанию, по событию, по запросу пользователя. Рассылка отчетов по E-Mail.

IntegrityDataTransport осуществляет транспорт данных как между локальными компонентами ПК, так и в рамках территориально распределенных источников данных и клиентских компонентов, организует единое адресное пространство. Внешняя коммуникация — ОРС UA. Резервирование источников, резервирование сетевых интерфейсов. Единое адресное пространство. Работа в условиях распределенной сети и нестабильных каналов связи. Шифрование данных по открытому и закрытому ключам, SSL-сертификаты. Низкие требования к пропускной способности каналов.

Встроенные компоненты клиентской безопасности

Сервер клиентской безопасности IntegrityClientSecurity служит для управления правами доступа пользователей к функциям клиентских приложений SCADA-системы. Использование кросс-платформенных служб организации учетных записей пользователей. Распределенная система резервирования. Возможность создания кластера клиентской безопасности с общей точкой входа пользователя на нескольких АРМ одновременно.

IntegrityEnvironmentControl осуществляет контроль целостности среды исполнения проекта: проверка контрольных сумм файлов, слежение за процессами и службами, контроль утилизации ресурсов операционной системы.

Клиентские компоненты Integrity SCADA

  • IntegrityHMI — приложение визуализации;
  • IntegrityTrends — приложение отображения графиков;
  • Integrity Alarms — приложение отображе­ния событий;
  • IntegritySimpleReports — приложение для простого создания отчетов;
  • IntegrityContainer — приложение-контейнер для встраивания клиентских приложений.

IntegrityHMI отображает технологический процесс в виде наглядной интерактивной схемы взаимодействия технологических объектов. Обладает собственным графическим векторным редактором. Выполняет создание проекта, а не отдельных мнемосхем. Единое дерево сигналов всего проекта. Редактор вычислений для встроенной обработки сигналов, можно использовать привычные среды разработки, редактирование стандартных динамик, возможность создания пользовательских динамик. ОРС UA с неограниченным количеством источников данных. Библиотека графических примитивов со сквозным изменением объектов, готовые встроенные отраслевые библиотеки.

IntegrityTrends — отображение в виде графиков изменения оперативных и исторических технологических параметров. Получение оперативных и исторических данных по спецификации OPC UA. Единое приложение — как часть приложения контейнера, единое приложение как часть проекта визуализации. Возможность добавления неограниченного количества графиков. Широкие возможности по формированию поля графиков. Дискретизация времени отображения данных до 1 мс. Гибкие настройки для ускорения работы с большими объемами данных. Экспорт в открытые форматы png, xlsx, odt, csv, html, печать.

IntegrityAlarms — отображение данных о технологическом процессе в виде таблицы сообщений о событиях, авариях и тревогах. Получение оперативных и исторических событий по спецификации OPC UA. Полная поддержка АЕ-модели. Единое приложение как часть приложения контейнера, единое приложение как часть проекта визуализации. Широкие возможности фильтрации событий, мигание сообщений. Экспорт в открытые форматы xlsx, odt, csv, html, печать.

IntegritySimpleReports — простое создание отчетов на основе шаблонов, подготовленных в офисных пакетах как по оперативным срезам данных, так и отчетов по историческим данным.

IntegrityContainer — приложение-контейнер, в которое встраиваются клиентские приложения (IntegrityTrends, IntegrityAlarms, IntegrityXYPlot), позволяющие из встраиваемых приложений сделать отдельный десктоп-клиент. Позволяет не реализовывать отдельные десктопные приложения, а создать универсальные клиентские приложения, которые могут одинаково встраиваться как в среду визуализации, так и в приложение-контейнер.

Веб-приложение визуализации IntegrityWeb. Реализован клиент визуализации посредством веб-клиента для отображения технологической информации в наглядном виде на любой платформе, в любом браузере. Предоставление технологии настоящего «тонкого клиента», только браузер, HTML, JS. Поддержка популярных браузеров без искажения отображения проекта автоматизации. Использование бесплатного кросс-платформенного веб-сервера. Получение данных и событий по спецификации OPC UA. Работа с десктопным проектом визуализации с поддержкой скриптов. веб-компонентов и событий в рамках проекта визуализации.

Информационная архитектура и производительность компонентов позволяют создавать системы как вертикального, так и горизонтального масштабирования (рис. 2).

Рис. 2. Системы от локальных до сложных распределенных

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

Рис. 3. Единое информационное пространство

Кросс-платформенность компонентов и их унификация на уровне обмена данными позволяют создавать проекты под ОС различных семейств — например, с расположением сервера оперативных данных и сервера истории под управлением одной ОС, а клиентской части под управлением другой ОС (рис. 4).

Рис. 4. Кросс-платформенность компонентов и их унификация с использованием различных ОС

Все компоненты Integrity SCADA разработаны на языке С++ без использования специфических системных функций, что в свою очередь обеспечивает максимальную производительность высоконагруженных систем.

Абсолютно все компоненты Integrity SCADA функционируют под Linux, в том числе средства визуализации, конфигурирования и собственная СУБД истории.

В Integrity SCADA не требуются виртуализация, применение Wine- и Wine-подобных решений или java-контейнеры.

Wine — это свободное програм­мное обеспечение, позволяющее пользователям UNIX-подобных операционных систем, например Linux, исполнять приложения, созданные исключительно для Windows, без наличия установленной Windows. Wine также предоставляет программистам библиотеку программ Winelib, при помощи которой они могут компилировать Windows-приложения для портирования их в UNIX-подобные операционные системы. По сути, Wine является «прослойкой» между выполняемым приложением и операционной системой, позволяющей запускать приложения, написанные не под целевую операционную систему. Очевидные минусы технологии — невозможность 100%-ной эмуляции всех функций и технологий Windows, дополнительные существенные затраты ресурсов оборудования, так как появляется добавочная прослойка, что увеличивает конечную стоимость проекта автоматизации и существенно ограничивает быстродействие системы. Проблемы с лицензией использования Wine в коммерческих целях, и самый существенный минус — проблемы сертификации и безопасности. Использование сторонней Wine-технологии противоречит требованиям по обеспечению безопасности значимых объектов КИИ Российской Федерации (Приказ № 239 ФСТЭК России от 25.12.2017) в соответствии с Федеральным законом от 26.07.2017 № 187-ФЗ «О безопасности критической информационной инфраструктуры Российской Федерации».

На сегодня компания «ЭлеСи» активно продвигает и использует методы безопасной разработки ПО. Программный комплекс Integrity SCADA создан в соответствии с требованиями ГОСТ Р 56939–2016 по безопасной разработке программного обеспечения и лицензии ФСТЭК России на разработку и производство средств защиты конфиденциальной информации.

Большое внимание в Integrity SCADA уделено встроенным средствам информационной безопасности.

Безопасность реализуется за счет применения безопасного протокола передачи данных во всех компонентах комплекса. Поддерживаются все актуальные политики безопасности в соответствии со спецификацией OPC UA 1.05.02. Подключение с помощью учетных данных или сертификата пользователя. Выполняется асимметричное шифрование по открытому и закрытому ключу. Организация защищенного канала связи в распределенных системах даже в условиях открытой сети. Выполняется настройка разграничения доступа на основе ролевой модели, гибкая настройка политик безопасности. Встроен аудит действий пользователей и администраторов системы, ограничение доступа по времени и продолжительности сессии. Кластерная авторизация пользователей, журнал информационной безопасности, интеграция с SIEM-системами по Syslog, в том числе с Ankey SIEM NG.

Выполняется контроль утилизации ресурсов (загрузка ЦП, ОЗУ, дисков, температуры), контроль среды исполнения (состояние процессов, служб), контроль целостности системного и прикладного ПО. Встроено ограничение запуска прикладного ПО при нарушении целостности. Происходят регистрация, формирование сигнализации и возможность автоматической реакции на инциденты. Существует интеграция с журналом ИБ и SIEM-системами по Syslog.

В ходе выполнения работы было принято во внимание Постановление Правительства PФ от 14 ноября 2023 года № 1912 «О порядке перехода субъектов критической информационной инфраструктуры Российской Федерации на преимущественное применение доверенных программно-аппаратных комплексов на принадлежащих им значимых объектах критической информационной инфраструктуры Российской Федерации». Применение технологий виртуализации Wine в системах автоматизации практически всех отраслей промышленности для обеспечения требований к отечественным программным решениям в конечном итоге демонстрирует свою нежизне­способность. Мы же, как показало время, не ошиблись в своем выборе.

Сегодня Integrity SCADA служит для реализации проектов на отечественных операционных системах в различных отраслях промышленности (рис. 5).

Рис. 5. Примеры реализации проектов по отраслям

Источник: https://controlengrussia.com/scada-sistemy/integrity-scada/

🔗 Integrity SCADA: обеспечение кросс-платформенности без технологий Wine

Оставьте комментарий

Войти

Зарегистрироваться

Сбросить пароль

Пожалуйста, введите ваше имя пользователя или эл. адрес, вы получите письмо со ссылкой для сброса пароля.

Прокрутить вверх