1. Анализ предметной области
В современных промышленных системах управления технологическими процессами (АСУ ТП) широко применяются средства визуализации состояния оборудования, обеспечивающие оперативный контроль и диагностику. Одним из ключевых элементов таких систем являются мнемосхемы — графические представления технологических объектов и оборудования, используемые для мониторинга и управления.
Мнемосхемы позволяют оператору получать информацию о состоянии системы в графической форме, обеспечивающей быстрый анализ состояния системы. На них отображаются основные элементы оборудования (насосы, клапаны, датчики), а также их текущее состояние, параметры и аварийные сигналы.
Основные проблемы, связанные с визуализацией оборудования:
– ограниченная гибкость настройки интерфейса;
– высокая трудоёмкость создания и сопровождения мнемосхем;
– сложность масштабирования системы;
– отсутствие универсальных решений для разных типов оборудования;
– задержки при обновлении отображаемых данных.
Особенно остро данные проблемы проявляются в системах с большим количеством объектов, где требуется оперативная реакция на изменения. В таких условиях возрастает вероятность ошибок оператора.
Таким образом, актуальной является задача разработки программного модуля, обеспечивающего автоматизированную визуализацию оборудования на мнемосхемах в реальном времени с обеспечением автоматической синхронизации данных.
2. Обзор существующих решений
В настоящее время существует ряд программных средств, предназначенных для визуализации технологического оборудования и построения мнемосхем. Данные решения можно классифицировать на следующие категории:
– универсальные графические библиотеки визуализации;
– специализированные библиотеки для разработки HMI-интерфейсов;
– SCADA-системы со встроенными средствами построения мнемосхем.
К наиболее распространённым решениям относятся GLG Toolkit, Open Automation Software WPF HMI.NET, InfinityHMI, SCADA Simp Light.
Анализ показал, что существующие программные средства имеют следующие ограничения:
– зависимость от конкретных SCADA-платформ;
– ограниченные возможности интеграции с нестандартными технологическими узлами;
– недостаточная гибкость при расширении библиотеки графических компонентов;
– отсутствие или ограниченность русскоязычной локализации;
– ограниченная адаптация под специфические требования предметной области.
Универсальные графические библиотеки обеспечивают независимость от платформы и возможность расширения, однако требуют значительных трудозатрат на реализацию логики взаимодействия с оборудованием.
Специализированные библиотеки обеспечивают более удобную интеграцию в пользовательские приложения, однако часто ориентированы на ограниченный набор протоколов и источников данных.
SCADA-системы предоставляют широкий набор готовых компонентов и средств визуализации, но функционируют в рамках собственной среды и не предназначены для использования в виде встраиваемых модулей.
Таким образом, выявлена необходимость разработки универсального программного модуля визуализации оборудования, обеспечивающего независимость от платформы, расширяемость и поддержку нестандартных источников данных.
3. Концептуальная модель
На основе анализа предметной области и функциональных требований разработана концептуальная модель программного модуля визуализации оборудования на мнемосхемах (ПМ ВОМ). Для визуализации границ системы и сценариев взаимодействия с внешним окружением использованы диаграммы UML.
ПМ ВОМ представляет собой независимый программный компонент, предназначенный для формирования и отображения графических элементов, связанных с данными внешних источников. Модуль интегрируется во внешние программные системы и используется при построении пользовательского интерфейса.
Разработчик — пользователь системы, который осуществляет интеграцию программного модуля во внешнее приложение, формирует мнемосхему и настраивает параметры отображения графических элементов.
Концептуальная модель ПМ ВОМ включает следующие ключевые сценарии:
– размещение графических компонентов — разработчик выбирает элементы визуализации и размещает их в рабочей области пользовательского интерфейса;
– привязка к источникам данных — для каждого элемента настраивается связь с внешним источником данных;
– отображение состояния оборудования — графические компоненты изменяют своё визуальное состояние в зависимости от входных данных;
– обновление данных в реальном времени — при поступлении новых значений происходит автоматическое обновление отображения;
– настройка параметров отображения — разработчик изменяет визуальные характеристики элементов (цвет, форма, размеры и др.).
Структура взаимодействия компонентов системы включает пользовательский интерфейс, программный модуль визуализации, графические элементы и источник данных. Графические компоненты получают данные из внешнего источника и обеспечивают их визуальное представление в интерфейсе.
Для описания динамики взаимодействия элементов используется диаграмма последовательности, отражающая процесс передачи данных от источника к графическому компоненту и последующего обновления пользовательского интерфейса.
Проиллюстрируем это на рис. 1.
Рис. 1. Диаграмма последовательности ПМ ВОМ
Структура программного модуля представлена в виде набора переиспользуемых графических компонентов, объединённых в единый контейнер. Компоненты взаимодействуют с источником данных и обновляют своё состояние при изменении входных параметров. Архитектура модуля допускает расширение за счёт добавления новых элементов без изменения его общей структуры.
4. Стек технологий
В стек используемых технологий для разработки программного модуля визуализации оборудования на мнемосхемах (ПМ ВОМ) включены современные инструменты и библиотеки, обеспечивающие формирование графических элементов, обработку данных и их отображение в пользовательском интерфейсе. Подробнее про каждый из компонентов:
– язык программирования C#;
– платформа.NET;
– технология WPF (Windows Presentation Foundation) для построения пользовательского интерфейса;
– XAML — язык разметки, используемый для описания структуры и визуального представления графических компонентов;
– пользовательские элементы управления (UserControl), реализующие визуальные компоненты оборудования;
– механизм DependencyProperty для хранения и управления параметрами компонентов и обеспечения привязки данных;
– механизм Data Binding для связи графических элементов с источниками данных;
– интерфейс INotifyPropertyChanged для реализации обновления данных в интерфейсе;
– библиотека System.Windows.Media для работы с графикой и цветами;
– использование векторной графики (Path, Rectangle и др.) для построения масштабируемых элементов мнемосхем.
Использование указанных технологий позволяет обеспечить гибкость разработки, расширяемость модуля и его интеграцию во внешние программные системы.
5. Алгоритм функционирования
Работа программного модуля визуализации оборудования на мнемосхемах начинается с инициализации и загрузки графических компонентов в пользовательский интерфейс. После добавления элемента в рабочую область мнемосхемы выполняется его начальная настройка, включающая создание визуального представления и регистрацию свойств.
В процессе инициализации формируется структура компонента, задаются базовые параметры отображения и устанавливаются значения свойств по умолчанию. Далее выполняется привязка свойств компонента к источникам данных, что обеспечивает автоматическое обновление визуального состояния при изменении входных параметров.
Система функционирует в рамках событийно-ориентированной модели, при которой обновление отображения осуществляется без использования механизма периодического опроса состояния. Изменения данных или параметров инициируют соответствующие обработчики, обеспечивающие актуализацию визуального представления.
В зависимости от типа события возможны следующие сценарии:
– изменение состояния элемента — выполняется обновление состояния и соответствующее изменение визуальных характеристик (например, цвета);
– изменение числовых и текстовых параметров — осуществляется проверка наличия соответствующих свойств, после чего выполняется форматирование и обновление отображаемых значений;
– изменение параметров отображения — применяются новые визуальные настройки элемента (цвет, размеры, толщина линий и др.);
– удаление графического элемента из рабочей области — происходит завершение работы компонента и его удаление из пользовательского интерфейса.
Обработка событий выполняется автоматически за счёт механизмов привязки данных и обработки изменений свойств, что обеспечивает синхронизацию визуального состояния элементов с текущими значениями параметров.
Таким образом, каждый графический компонент функционирует как независимый элемент, обеспечивающий корректное и актуальное отображение состояния оборудования на мнемосхеме.
Схема алгоритма работы программного модуля представлена на рис. 2.
Рис. 2. Схема алгоритма работы ПМ ВОМ
6. Результаты
Разработанный программный модуль обеспечивает построение и динамическое обновление мнемосхем оборудования с возможностью отображения состояния элементов и обновления данных в реальном времени. Реализована поддержка переиспользуемых графических компонентов, интегрируемых во внешние программные системы.
Экспериментально подтверждена корректность отображения состояния элементов при изменении входных данных, а также стабильность работы модуля в рамках событийно-ориентированной модели.
Использование разработанного решения позволяет повысить информативность представления данных, сократить трудозатраты на разработку интерфейсов и обеспечить гибкость при расширении набора графических компонентов.
Перспективы: расширение библиотеки визуальных элементов, интеграция с промышленными протоколами обмена и совершенствование пользовательского интерфейса.
Литература:
- Microsoft. Windows Presentation Foundation (WPF) Documentation. — URL: https://learn.microsoft.com/en-us/dotnet/desktop/wpf/
- Microsoft..NET Documentation. — URL: https://learn.microsoft.com/en-us/dotnet/
- Microsoft. Data Binding Overview (WPF). — URL: https://learn.microsoft.com/en-us/dotnet/desktop/wpf/data/
- Inductive Automation. What is SCADA? — URL: https://inductiveautomation.com/resources/article/what-is-scada
- Мак-Дональд М. WPF: Windows Presentation Foundation в.NET 4.5 с примерами на C# 5.0 для профессионалов. — СПб.: Питер, 2015.
- Freeman A. Pro WPF in C# with.NET. — 4th ed. — New York: Apress, 2019.

