Концептуальную модель СВУ опишем языком UML с помощью диаграмм вариантов использования (use case diagram).
В качестве актёра, в случае разработки, выступает инженер настройки верхнего уровня "АСУ ТП", в случае исполнения — оператор.
В режиме разработки выделим такие варианты использования СВУ:
- Операции над проектом:
- открытие/сохранение существующего проекта визуализации в БД;
- создание/удаление проекта визуализации;
- работа с открытым проектом:
- добавление/удаление кадра в проект визуализации;
- связывание кадра проекта с динамикой (динамизация свойств кадров), создавая страницу интерфейса визуализации или шаблон общей динамики для страниц основанных на данном кадре;
- создание/удаление страницы интерфейса визуализации основанной на кадре проекта;
- связывание страницы интерфейса управления с динамикой.
- открытие/закрытие/подключение к сеансу исполнения проекта.
- Операции над кадром (виджетом):
- открытие/сохранение виджета/кадра в библиотеке БД;
- создание/удаление виджета/кадра;
- работа с открытым кадром:
- добавление/удаление вложенного виджета на рабочий кадр;
- выделение виджетов на рабочем кадре;
- изменение свойств выделенных виджетов с помощью супервизора виджетов;
- группировка/разгруппировка выделенных виджетов;
- перемещение выделенных виджетов посредством манипулятора мышь и/или клавиатуры;
- визуальное изменение размеров и других геометрических параметров виджета;
- назначение слотов привязки динамики (параметров) виджетов или-же кадра в целом, а также прямая привязка динамики для виджетов конечной визуализации (кадров);
- формирование процедуры описания связей, и другой логики виджета, на одном из языков пользовательского программирования, предоставляемого системой OpenDCADA;
- ассоциативная установка простых и групповых логических связей как графическим, так и конфигурационным образом.
Диаграмма вариантов использования при функционировании СВУ в режиме разработки приведена на рис. 4.2.1.
Рис.4.2.1 Диаграмма вариантов использования СВУ в режиме разработки.
Варианты использования в режиме исполнения:
- слежение за ТП по мгновенным значениям, графикам и др.
- управление техническими или другими процессами (ТП) через конечный интерфейс визуализации;
- навигация по кадрам и страницам интерфейса визуализации;
- горячая замена динамизированных свойств кадров и страниц;
- формирование и печать отчётной документации, документов и экранов интерфейса визуализации;
- смена пользователя.
Диаграмма использования СВУ в режиме исполнения приведена на рис.4.2.2.
Рис.4.2.2 Диаграмма использования СВУ в режиме исполнения.
СВУ, в целом, может работать в двух режимах — разработки и исполнения. В режиме разработки формируется интерфейс СВУ, его компоненты и определяются механизмы взаимодействия. В режиме исполнения выполняется формирование интерфейса СВУ и производится взаимодействие с конечным пользователем на основе разработанных СВУ.
Интерфейс СВУ формируется из кадров, каждый из которых, в свою очередь, формируется из элементов примитивов или пользовательских элементов интерфейса. При этом пользовательские элементы интерфейса также формируются из примитивов или других пользовательских элементов. Таким образом обеспечивается иерархичность и повторное использования уже разработанных компонентов.
Кадры и пользовательские элементы размещаются в библиотеках виджетов. Из элементов этих библиотек формируются проекты интерфейсов конечной визуализации СВУ. На основе же этих проектов формируются сеансы визуализации.
Описанная структура СВУ приведена на рисунке.
Данная архитектура СВУ позволяет реализовать поддержку трёх уровней сложности процесса разработки интерфейсов управления:
- Формирования интерфейса ВУ (визуализации и управления) с помощью библиотеки шаблонных кадров путём помещения шаблонов кадров в проект и назначения динамики.
- В дополнении к первому уровню производится формирование собственных кадров на основе библиотеки производных и базовых виджетов. Возможно как прямое назначение динамики в виджете, так и последующее её назначение в проекте.
- В дополнении ко второму уровню производится самостоятельное формирование производных виджетов, новых шаблонных кадров, а также кадров с использованием механизма описания логики взаимодействия и обработки событий на одном из языков пользовательского программирования системы OpenSCADA.