Имя: | wlb_Main |
Основан: | сентябрь 2007г |
Версия: | 1.1.0 |
Статус: | Открытый (GPL) |
Автор: | Роман Савоченко, Максим Лысенко (2011-2012) |
Описание: | Предоставляет библиотеку основных элементов пользовательского интерфейса. |
Источник: | БД основных библиотек графических элементов, в файле: SQLite.vcaBase.wlb_Main (vcabase.db.gz) |
Библиотека создаётся для предоставления основных элементов пользовательского интерфейса. Строится библиотека на основе примитивов виджетов и модуля JavaLikeCalc, позволяющего создавать вычисления на Java-подобном языке.
Подключить библиотеку основных элементов пользовательского интерфейса к новому проекту станции OpenSCADA можно путём загрузки вложенного файла БД, размещения его в директории БД "SQLite" нового проекта, и создания объекта БД для модуля БД "SQLite", указав файл БД в конфигурации.
В своём составе библиотека содержит около двух десятков графических элементов, часто востребованных при формировании пользовательского интерфейса управления технологическим процессом. Названия элементов и их текстовые параметры доступны на трёх языках: Английский, Украинский и Российский.
Элемент, представленный на рис. 1, служит для отображения текущего значения аналогового параметра и режима регулятора, если параметр является таковым. Также этот элемент генерирует сигнализации (alarms) по соответствующим уставкам параметра.
Данный виджет может быть использован разработчиком при создании мнемосхем для отображения значений аналоговых параметров и ПИД регуляторов. Для использования нужно добавить данный виджет на мнемосхему и связать с параметром источника данных.
В режиме исполнения для параметра можно получить паспорт путём нажатия правой клавиши мыши на поле виджета. В паспорте будут представлены все свойства параметра. При нажатии левой клавишей мыши в область виджета справа появится панель управления параметром, а выбор данного виджета будет отображаться мигающей рамкой.
Элемент, представленный на рис. 2, служит для отображения текущего значения аналогового параметра с односимвольным префиксом типа измеряемой величины.
Данный виджет может быть использован разработчиком при создании мнемосхем для отображения значений аналоговых параметров. Для использования нужно добавить данный виджет на мнемосхему и связать с параметром источника данных.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
pName | Имя параметра | Строка | Постоянная | Parametr|NAME | Односимвольный префикс типа измеряемой величины. |
pVal | Значение параметра | Веществ. | Входная связь | Parametr|var | Непосредственно значение параметра. |
pPrec | Точность (знаков) | Целый | Входная связь | Parametr|prec | Количество знаков после запятой у значения. |
Элемент, представленный на рис. 3, является по сути универсальной панелью управления различными устройствами:
Данный виджет не предназначен для специального размещения и конфигурации пользователем, поскольку заложен в шаблоне проекта "Объекты сигнализации", и, если новый проект создаётся на основе этого шаблона, вызов данного виджета осуществляется автоматически с его отображением в области панелей управления при выборе виджета параметра, который предусматривает управление параметром, например, ранее рассмотренный "anShow".
На рис. 4 представлены режимы этого элемента в режиме исполнения.
Режимы:
Каждое действие на этой панели управления (смена задания ПИД регулятора, изменение состояния дискретного параметра...) регистрируется в журнале (протоколе) вмешательств посредством генерации соответствующих сообщений.
Для любого отображаемого или управляемого параметра можно получить паспорт в режиме исполнения путём нажатия правой клавиши мыши на поле контура. В паспорте будут представлены все свойства параметра.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
prmId | Идентификатор | Строка | Входная связь | Parametr|SHIFR | Идентификатор параметра используется для помещения в протокол действий оператора. |
prmShifr | Шифр | Строка | Входная связь | Parametr|NAME | Краткое наименование параметра, шифр. Помещается снизу кадра. |
prmDescr | Описание | Строка | Входная связь | Parametr|DESCR | Описание параметра используется для помещения в протокол действий оператора. |
prmColor | Цвет рамки | Строка | Входная связь | Parametr|color | Устанавливает цвет рамки контура. |
Параметры аналогового устройства | |||||
prmDemention | Единица измерения | Строка | Входная связь | Parametr|ed | |
prmPrec | Точность (знаков) | Целый | Входная связь | Parametr|prec | Количество знаков после запятой у параметра и шаг изменения ручного ввода значения, а также задания и выхода ПИД регулятора. |
prmVar | Переменная | Веществ. | Полная связь | Parametr|var | Непосредственно значение аналогового параметра. |
max | Максимум | Веществ. | Входная связь | Parametr|max | Максимальная граница значения параметра. |
min | Минимум | Веществ. | Входная связь | Parametr|min | Минимальная граница значения параметра. |
prmAMax | Граница верхняя аварийная | Веществ. | Входная связь | Parametr|aMax | |
prmAMin | Граница нижняя аварийная | Веществ. | Входная связь | Parametr|aMin | |
prmWMax | Граница верхняя предупредительная | Веществ. | Входная связь | Parametr|wMax | |
prmWMin | Граница нижняя предупредительная | Веществ. | Входная связь | Parametr|wMin | |
Ручной аналоговый ввод | |||||
prmVarIn | Ввод переменной | Веществ. | Полная связь | Parametr|varIn | Выход для ручного ввода значения аналогового параметра. Наличие этого параметра является признаком того, что параметр - определяется "Ручной аналоговый ввод". |
ПИД регулятор | |||||
prmAnalog | Аналоговый регулятор | Логич. | Входная связь | Parametr|analog | Признак аналогового регулятора, при отсутствии этого параметра регулятор считается аналоговым. |
prmAuto | Автомат | Логич. | Полная связь | Parametr|auto | Режим регулятора "Автомат". |
prmCasc | Каскад | Логич. | Полная связь | Parametr|casc | Режим регулятора "Каскад". |
prmSp | Задание | Веществ. | Полная связь | Parametr|sp | Задание ПИД регулятора, оно может быть установлено пользователем. |
prmImpQdwnTm | Импульсный выход вниз | Логич. | Входная связь | Parametr|impQdwn | Выход "Вниз" для импульсного регулятора. |
prmImpQupTm | Импульсный выход вверх | Логич. | Входная связь | Parametr|impQup | Выход "Вверх" для импульсного регулятора. |
prmOut | Выход | Веществ. | Полная связь | Parametr|out | Выход аналогового ПИД-регулятора для отображения и ручного ввода значения выхода ПИД в ручном режиме. |
prmManIn | Ручной ввод | Веществ. | Полная связь | Parametr|manIn | Ручной ввод нового значения выхода ПИД регулятора в ручном режиме. |
Параметры дискретных устройств | |||||
prmCom | Команда - "Открыть" | Логич. | Полная связь | Parametr|com | |
prmClose | Команда - "Закрыть" | Логич. | Полная связь | Parametr|close | |
prmStop | Команда - "Стоп" | Логич. | Полная связь | Parametr|stop | |
prmOpenSt | Состояние - "Открыто" | Логич. | Входная связь | Parametr|st_open | |
prmCloseSt | Состояние - "Закрыто" | Логич. | Входная связь | Parametr|st_close | |
digComs | Команды дискретных сигналов | Строка | Входная связь | Parametr|digComs | Наименования и цвет кнопок команд в формате: {On}[-color]:{Off}[-color][:{Stop}[-color]]. По умолчанию цвета: зеленый, красный и жёлтый. |
digStts | Состояния дискретных параметров | Строка | Входная связь | Parametr|digStts | Наименования и цвет надписей состояний в формате: {On}[-color]:{Off}[-color]. По умолчанию цвета - зеленый и красный. |
Элемент, представленный на рис. 5, служит для одновременного наблюдения и управления несколькими контурами, до восьми, включает в себя как экземпляры виджета "Элемент кадр" для каждого контура, так и виджет "Диаграмма" для наблюдения за трендами контуров и просмотра истории.
Данный виджет предназначен для выполнения роли страницы-шаблона, а, следовательно, должен непосредственно помещаться в дерево проекта. В проекте-шаблоне "Группы сигнализаций", для каждого объекта сигнализации этот виджет-кадр включен в роли шаблона, что позволяет создавать на его основе множество страниц групп контуров. К каждому виджету-кадру может подключаться до восьми параметров путём установки связей. Контура, для которых не будут установлены связи, будут скрыты при исполнении.
В режиме исполнения отображаются контура и графики, для которых установлены связи. Управление параметрами с контуров соответственно детально описано в разделе виджета "Элемент кадр (ElCadr) ". В дополнении к этому можно управлять свойствами отображения графиков, для чего необходимо левой клавишей мыши нажать в область графика и с помощью появившейся панели управления графиком осуществить необходимые действия.
На рис. 6 представлен пример этого элемента в режиме исполнения.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
grpName | Имя группы | Строка | Постоянная | Имя группы | |
Элемент {n} от 1 до 8. | |||||
el{n} | Перечень связываемых атрибутов соответствует перечню виджета "Элемент кадр (ElCadr)" |
Элемент, представленный на рис. 7, служит основой обзорного кадра и обычно не используется самостоятельно. Элемент отражает текстовую информацию о параметре в виде наименования и значения, а также график (тренд) параметра за небольшой (настраиваемый) промежуток времени для наблюдения за текущей тенденцией поведения параметра с авто-масштабированием по шкале значения.
Хотя данный виджет не предназначен для самостоятельного использования, в отрыве от обзорного кадра, использовать его можно, например, поместив на мнемосхему и установив связь с параметром источника данных.
В режиме исполнения для параметра можно получить паспорт путём нажатия правой клавиши мыши на поле виджета. В паспорте будут представлены все свойства параметра. При нажатии левой клавишей мыши в область виджета справа появится панель управления параметром, а выбор данного виджета будет отображаться мигающей рамкой.
На рис. 8 представлены примеры этого элемента в режиме исполнения для аналогового и дискретного параметра.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
name | Имя | Строка | Входная связь | Parametr|NAME | Имя параметра, шифр, для отображения в поле имени. |
addr | Адрес | Адрес | Входная связь | Parametr|var | Адрес к атрибуту значения параметра для построения графика. |
var | Значение | Веществ. | Входная связь | Parametr|var | Непосредственно значение параметра для отображения в поле значения. |
Элемент, представленный на рис. 9, служит для отображения текущих трендов по параметрам объекта сигнализации в количестве до 24 штук, поддерживает функцию масштабирования элементов в зависимости от их количества. Состоит из виджетов "Элемент обзорного кадра (ElViewCadr) ".
Данный виджет предназначен для выполнения роли страницы-шаблона, а, следовательно, должен непосредственно помещаться в дерево проекта. В проекте-шаблоне "Группы сигнализаций" для каждого объекта сигнализации этот виджет-кадр включен в роли шаблона, что позволяет создавать на его основе множество страниц групп обзорных графиков. К каждому виджету-кадру может подключаться до 24х параметров путём установки связей. Графики, для которых не будут установлены связи, будут скрыты при исполнении, а при потребности выполнено расширение и масштабирование подключенных для заполнения области всего виджета.
В режиме исполнения отображаются контура графиков, для которых установлены связи. Управление параметрами с контуров соответственно детально описано в разделе виджета "Элемент обзорного кадра (ElViewCadr) ".
На рис. 10 представлен пример этого элемента в режиме исполнения.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
name | Имя | Строка | Постоянная | Имя кадра | |
Элемент {r}_{c}, где строки {r} от 1 до 4 и колонки {c} от 1 до 6. | |||||
el{r}_{c} | Перечень связываемых атрибутов соответствует перечню виджета "Элемент обзорного кадра (ElViewCadr)" |
Элемент, представленный на рис. 11, служит для создания групп графиков. Элемент содержит информацию о параметре, режим регулятора, если параметр является таковым, единицы измерения аналогового параметра, а также цвет, соответствующий параметру тренда.
Хотя данный виджет не предназначен для самостоятельного использования в отрыве от группы графиков, использовать его можно, например, поместив на мнемосхему и установив связь с параметром источника данных.
В режиме исполнения, кроме непосредственно доступных визуальных данных, предоставляется ряд элементов контроля:
На рис. 12 представлены различные примеры этого элемента в режиме исполнения.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
name | Имя параметра | Строка | Входная связь | Parametr|NAME | Имя параметра, шифр, для отображения в поле имени. |
addr | Адрес | Адрес | Входная связь | Parametr|var | Адрес к атрибуту значения параметра для построения графика. |
color | Цвет графика | Строка. | Постоянная | ||
Параметры аналогового устройства | |||||
ed | Единица измерения | Строка | Входная связь | Parametr|ed | |
prec | Точность | Целый | Входная связь | Parametr|prec | Количество знаков после запятой у параметра. |
max | Максимум | Веществ. | Входная связь | Parametr|max | Максимальная граница значения параметра. |
min | Минимум | Веществ. | Входная связь | Parametr|min | Минимальная граница значения параметра. |
aMax | Граница верхняя аварийная | Веществ. | Входная связь | Parametr|aMax | |
aMin | Граница нижняя аварийная | Веществ. | Входная связь | Parametr|aMin | |
wMax | Граница верхняя предупредительная | Веществ. | Входная связь | Parametr|wMax | |
wMin | Граница нижняя предупредительная | Веществ. | Входная связь | Parametr|wMin | |
pModeA | Режим регулятора (автомат) | Логич. | Входная связь | Parametr|auto | Режим регулятора "Автомат". |
pModeC | Режим регулятора (каскад) | Логич. | Входная связь | Parametr|casc | Режим регулятора "Каскад". |
Параметры дискретных устройств | |||||
digComs | Команды дискретных сигналов | Строка | Постоянная | Наименования и цвет кнопок команд в формате: {On}[-color]:{Off}[-color][:{Stop}[-color]]. По умолчанию цвета: зеленый, красный и жёлтый. | |
digStts | Состояния дискретных параметров | Строка | Постоянная | Наименования и цвет надписей состояний в формате: {On}[-color]:{Off}[-color]. По умолчанию цвета - зеленый и красный. | |
digRevers | Реверс | Логич. | Постоянная | Реверс дискретного сигнала. |
Элемент, представленный на рис. 13, служит для одновременного наблюдения тренда и управления параметрами объекта сигнализации, включает в себя как экземпляры виджета "Элемент группы графиков (ElViewGraph) " для каждого параметра, так и виджет "Диаграмма" для наблюдения за графиками параметров и просмотра истории, а так-же горизонтальную полосу прокрутки для быстрой навигации по доступной истории выбранных для отображения параметров.
Данный виджет предназначен для выполнения роли страницы-шаблона, а, следовательно, должен непосредственно помещаться в дерево проекта. В проекте-шаблоне "Группы сигнализаций", для каждого объекта сигнализации этот виджет-кадр включен в роли шаблона, что позволяет создавать на его основе множество страниц групп графиков. К каждому виджету-кадру может подключаться до восьми параметров путём установки связей. Графики, для которых не будут установлены связи, будут скрыты при исполнении или доступны для пользовательского выбора в случае наличия списка выборных параметров в атрибуте "Параметры доступные для выбора" (формат списка описан в диалоге выбора параметров).
В режиме исполнения отображаются графики, для которых установлены связи. Управление параметрами с элементов текста графиков соответственно детально описано в разделе виджета "(Элемент группы графиков (ElViewGraph)". В дополнение к этому можно управлять свойствами отображения графиков, для чего необходимо левой клавишей мыши нажать в область графика и с помощью появившейся панели управления графиком осуществить необходимые действия.
На рис. 14 представлен пример этого элемента в режиме исполнения.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
grpName | Имя группы | Строка | Постоянная | Имя группы | |
Элемент {n} от 1 до 8. | |||||
el{n} | Перечень связываемых атрибутов соответствует перечню виджета "Элемент группы графиков (ElViewGraph)". |
Элемент, представленный на рис. 15, служит для создания сводных графиков. Элемент позволяет отображать тренды по пяти параметрам за указанный промежуток время и до текущего времени.
Хотя данный виджет не предназначен для самостоятельного использования в отрыве от сводных графиков, использовать его можно, например, поместив на мнемосхему и установив связь с параметром источника данных.
На рис. 16 представлен пример этого элемента в режиме исполнения.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
title | Заголовок | Строка | Постоянная | Отображается сверху графика. При опускании заголовка поле графика расширится вверх. | |
График {n} от 1 до 5. | |||||
p{n}_addr | Параметр{n}:адрес | Адрес | Входная связь | Parametr_{n}|var | Адрес к атрибуту значения параметра для построения графика {n}. |
p{n}_clr | Параметр{n}:цвет | Цвет | Постоянная | Parametr_{n} | |
p{n}_max | Параметр{n}:максимум | Веществ. | Входная связь | Parametr_{n}|max | Максимальная граница графика. |
p{n}_min | Параметр{n}:минимум | Веществ. | Входная связь | Parametr_{n}|min | Минимальная граница графика. |
p{n}_name | Параметр{n}:имя | Строка | Входная связь | Parametr_{n}|NAME | Короткое имя параметра для отображения в поле слева. |
Элемент, представленный на рис. 17, служит для отображения трендов основных параметров по всему проекту визуализации.
Данный виджет предназначен для выполнения роли страницы-шаблона, а, следовательно, должен непосредственно помещаться в дерево проекта. В проекте-шаблоне "Группы сигнализаций" на уровне корневой страницы для него предусмотрена специальная виртуальная страница "Сводные графики" с шаблоном сводных графиков, что позволяет создавать на его основе множество страниц сводных графиков. К каждому виджету-кадру может подключаться до 16*5 параметров путём установки связей. Графики, для которых не будут установлены связи, будут скрыты при исполнении, и при потребности будет выполнено расширение и масштабирование подключенных графиков для заполнения области всего виджета.
В режиме исполнения отображаются контура графиков, для которых установлены связи.
На рис. 18 представлен пример этого элемента в режиме исполнения.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
grpName | Имя группы | Строка | Постоянная | Имя группы | |
Элемент {n} от 1 до 16. | |||||
el{n} | Перечень связываемых атрибутов соответствует перечню виджета "Элемент сводных графиков (ResultGraphEl) ". |
Элемент, представленный на рис. 19, служит для настройки ПИД регулятора, включает в себя информацию о параметре-регуляторе, поля настроек регулятора, и виджет "Диаграмма" для наблюдения за трендами регулятора и просмотра истории.
Данный виджет может использоваться как в роли панели, вызываемой из панели управления параметрами "ElCadr", так и в роли страницы-шаблона. Виджет должен непосредственно помещаться в дерево проекта, а именно в контейнер панелей, где будет осуществляться динамическая линковка на параметр регулятора. Для создания статического перечня контуров настроек регуляторов, с возможностью последующего листания по ним, необходимо поместить их в контейнер контуров регуляторов "greg" каждого объекта сигнализации и статически связать с соответствующим параметром, а также обеспечить равенство идентификатора панели и связанного параметра.
В режиме исполнения отображается:
У пользователя есть возможность изменить коэффициенты ПИД-регулятора, режим, задание, выход и сразу же увидеть реакцию на графике. Кроме этого, пользователь может изучить историю работы регулятора, для чего необходимо левой клавишей мыши нажать в область графика и с помощью появившейся панели управления графиком осуществить необходимые действия навигации. Для возврата панели параметра регулятора необходимо левой клавишей мыши нажать в свободную область данного кадра.
На рис. 20 представлен пример этого элемента в режиме исполнения.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
SHIFR | Шифр | Строка | Входная связь | Parameter|SHIFR | |
NAME | Имя | Строка | Входная связь | Parameter|NAME | |
DESCR | Описание | Строка | Входная связь | Parameter|DESCR | |
max | Максимум шкалы | Веществ. | Входная связь | Parameter|max | |
min | Минимум шкалы | Веществ. | Входная связь | Parameter|min | |
ed | Единицы измерения | Строка | Входная связь | Parameter|ed | |
prec | Точность | Целый | Входная связь | Parametr|prec | Количество знаков после запятой в значении и задании параметра ПИД. |
var | Переменная | Веществ. | Входная связь | Parameter|var | |
var_addr | Адрес переменной | Адрес | Входная связь | Parameter|var | Адрес для построения графика переменной. |
ПИД - регулятор | |||||
auto_addr | Режим | Адрес | Входная связь | Parameter|auto | Адрес для построения графика режима "Автомат". |
sp | Задание | Веществ. | Входная связь | Parameter|sp | |
sp_addr | Адрес задания | Адрес | Входная связь | Parameter|sp | Адрес для построения графика задания. |
out | Выход | Веществ. | Входная связь | Parameter|out | |
out_addr | Адрес выхода | Адрес | Входная связь | Parameter|out | Адрес для построения графика аналогового выхода. |
Hdwn | Нижняя граница выхода | Веществ. | Полная связь | Parameter|Hdwn | Ограничение значения аналогового выхода по низу. |
Hup | Верхняя граница выхода | Веществ. | Полная связь | Parameter|Hup | Ограничение значения аналогового выхода по верху. |
Kp | Коэф. пропорциональности | Веществ. | Полная связь | Parameter|Kp | |
Ki | Коэф. пропорциональности интеграла | Веществ. | Полная связь | Parameter|Ki | |
Ti | Время интегрирования | Веществ. | Полная связь | Parameter|Ti | |
Kd | Коэф. пропорциональности производной | Веществ. | Полная связь | Parameter|Kd | |
Td | Время дифференцирования | Веществ. | Полная связь | Parameter|Td | |
Tzd | Время задержки дифференциальной части | Веществ. | Полная связь | Parameter|Tzd | |
Zi | Зона нечувствительности | Веществ. | Полная связь | Parameter|Zi | |
K1 | Коэф. входа 1 | Веществ. | Полная связь | Parameter|K1 | |
K2 | Коэф. входа 2 | Веществ. | Полная связь | Parameter|K2 | |
K3 | Коэф. входа 3 | Веществ. | Полная связь | Parameter|K3 | |
K4 | Коэф. входа 4 | Веществ. | Полная связь | Parameter|K4 | |
Импульсный ПИД - регулятор | |||||
impQup_addr | Адрес выхода импульса вверх | Адрес | Входная связь | Parameter|impQup | Адрес для построения графика импульсного выхода "Вверх". |
impQdwn_addr | Адрес выхода импульса вниз | Адрес | Входная связь | Parameter|impQdwn | Адрес для построения графика импульсного выхода "Вниз". |
KImpRfact | Рейтинг фактор | Веществ. | Полная связь | Parameter|KImpRfact | Несимметрия в генерации ширины импульса вверх и вниз. |
TImpMin | Минимальное время импульса | Целый | Полная связь | Parameter|TImpMin | Будут генерироваться импульсы, начиная с указанной ширины. |
TImpPer | Период повторения импульсов | Целый | Полная связь | Parameter|TImpPer | Периодичность повторения генерации импульса. |
Элемент "Корневая страница", представленный на рис. 21, служит базой для создания пользовательских интерфейсов управления технологическими процессами, основанными на объектах сигнализации. Корневая страница содержит четыре области:
Под контейнером панелей управления располагается кнопка запуска демонстрационного режима — режима при котором осуществляется периодическое переключение показательных кадров, изменение режимов и других операций согласно сценарию.
Данный виджет может использоваться только в режиме корневой страницы, которая должна помещаться в дерево проекта как элемент "/*/so". Кроме этого вокруг главной страницы должна быть развёрнута следующая древовидная иерархия:
При наличии демонстрационного режима необходимо в атрибуте "Проц. проигрывания демо" описать процедуру демонстрации на внутреннем языке OpenSCADA DAQ.JavaLikeCalc. В качестве примера ниже приведена процедура демонстрации "Динамической модели АГЛКС":
stepCur++; stepTm = 20; //>> Open main mnemo if(stepCur == 0) { this.pg_1.pg_mn.pg_1.attrSet("pgOpen",true); this.attrSet("tipStatus","Открытие главной мнемосхемы."); } //>> Open main graphics else if(stepCur == 1) { this.pg_1.pg_ggraph.pg_1.attrSet("pgOpen",true); this.attrSet("tipStatus","Открытие главных графиков."); } //>> Setpoint set more for PC KRD1 else if(stepCur == 2) { SYS.DAQ.BlockCalc.Anast1to2node_cntr.PC_КРД1.sp.set(6); this.attrSet("tipStatus","Увеличение задания регулятора PC_КРД1."); } //>> Open contours group else if(stepCur == 3) { this.pg_1.pg_gcadr.pg_1.attrSet("pgOpen",true); this.attrSet("tipStatus","Открытие группы контуров."); } //>> Open overview cadr else if(stepCur == 4) { this.pg_1.pg_gview.pg_1.attrSet("pgOpen",true); this.attrSet("tipStatus","Открытие обзорного кадра."); } //>> Open document else if(stepCur == 5) { this.pg_1.pg_doc.pg_1.attrSet("pgOpen",true); this.attrSet("tipStatus","Открытие документа."); } //>> Open result graphics else if(stepCur == 6) { this.pg_rg.pg_rg.pg_1.attrSet("pgOpen",true); this.attrSet("tipStatus","Открытие сводных графиков."); } //>> Open mnemo for KM101 else if(stepCur == 7) { this.pg_2.pg_mn.pg_KM101.attrSet("pgOpen",true); this.attrSet("tipStatus","Открытие мнемосхемы КМ101."); } //>> Open graphics for KM101 else if(stepCur == 8) { this.pg_2.pg_ggraph.pg_1.attrSet("pgOpen",true); this.attrSet("tipStatus","Открытие графиков КМ101."); } //>> Open PID-control panel else if(stepCur == 9) { this.ownerSess().pg_control.pg_ElCadr.attrSet("pgOpenSrc",this.pg_1.pg_mn.pg_1.wdg_PC1.attr("path")); this.attrSet("tipStatus","Открытие панели управления параметра PC_КРД1."); stepTm = 1; } //>> Open PID-control page else if(stepCur == 10) { this.ownerSess().pg_control.pg_cntrRegul.attrSet("pgOpenSrc",this.ownerSess().pg_control.pg_ElCadr.attr("path")); this.attrSet("tipStatus","Открытие панели управления регулятора PC_КРД1."); } //>> Setpoint restore for PC KRD1 else if(stepCur == 11) { SYS.DAQ.BlockCalc.Anast1to2node_cntr.PC_КРД1.sp.set(5.8); this.attrSet("tipStatus","Восстановление задания регулятора PC_КРД1."); } else { stepCur = -1; stepTm = 0; }
В случае отсутствия Демо-режима нужно на странице проекта, данного кадра, отключить кнопку запуска демонстрации, а поле панелей управления расширить.
В режиме исполнения пользователь может выбрать нужный из доступных объект сигнализации (Ctrl+1...0), выбрать вид отображения (Ctrl+M,G,C,V,D,R), осуществить квитацию нарушений, а также вызвать панель управления нужного элемента. После осуществления выбора пользователю предоставляется мнемосхема или общий кадр в области контейнера мнемосхем, а также панели управления в области контейнера панелей управления. После чего пользователь может наблюдать состояния на мнемосхемах и панелях, а также осуществлять воздействия, предусмотренные ими.
На рис. 22 представлен пример этого элемента в режиме исполнения.
Элемент, представленный на рис. 23, служит для отображения паспорта параметра: детальной информации, включающей шифр, описание, единицы измерения, аварийные границы и т.д. Документ формируется полностью динамически.
Данный элемент должен помещаться в логический контейнер панелей дерева проекта. В режиме редактирования этот виджет представляет из себя пустой "Документ", поэтому приведен только снимок экрана с этим виджетом в режиме исполнения проекта. Связывание с параметром осуществляется динамически при вызове из элементов представления данных параметра.
Вызов паспорта осуществляется из элементов представления данных параметра, например: по правому клику мыши на элементе "Аналоговый параметр" (anShow) и области виджета "Элемент кадр" (ElCadr). После вызова открывается отдельное окно виджета-паспорта со списком и значениями всех свойств параметра в виде таблицы.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
pName | Имя параметра | Адрес | Входная связь | Parametr|NAME | Адрес к имени параметра для обращения к параметру целиком и изъятия всех его свойств. |
Элемент, представленный на рис. 24, служит для управления документами и навигации по их истории. Элементом поддерживаются динамические и архивные документы.
Данный элемент должен помещаться в логический контейнер панелей дерева проекта. Связывание с параметром осуществляется динамически при вызове из элемента документа.
Вызов панели осуществляется из элементов документа. На панели предоставляются инструменты, которые несколько отличаются для динамического и архивного документа.
Для динамического документа предусматривается:
Для архивного документа предусматривается только навигация по документам в архиве путём их перелистывания, а также информация о текущем и общем количестве документов в архиве.
На рис. 25 представлены примеры этого элемента в режиме исполнения: динамический (слева) и архивный (справа).
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
Динамический документ | |||||
time | Время документа | ДатаВремя | Полная связь | <page>|time | |
bTime | Начало документа | ДатаВремя | Полная связь | <page>|bTime | |
doc | Документ | Строка | Полная связь | <page>|doc | |
Архивный документ | |||||
n | Размер архива | Целый | Входная связь | <page>|n | |
vCur | Курсор отображения | Целый | Полная связь | <page>|vCur | |
aCur | Курсор текущего документа архива | Целый | Входная связь | <page>|aCur | |
aSize | Размер архива | Целый | Входная связь | <page>|aSize |
Элемент, представленный на рис. 26, служит для управления виджетом "Диаграмма", он позволяет просмотреть историю графиков за необходимый период времени и в нужном разрешении, поддерживается масштабирование шкалы, выбор архиваторов для отображения, а также представление графиков в виде спектра присутствующих частот или XY.
Данный элемент должен помещаться в логический контейнер панелей дерева проекта. Связывание с параметром осуществляется динамически при вызове из элемента диаграмма.
Вызов панели осуществляется из элементов диаграммы. На панели предоставляются следующие инструменты:
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
tSek | Время тренда | ДатаВремя | Полная связь | <page>|tSek | |
tSize | Размер тренда | Вещественный | Полная связь | <page>|tSize | Временной размер графика в историю от времени тренда. |
trcPer | Период слежения | Целый | Полная связь | <page>|trcPer | Период обновления графика. |
type | Тип | Целый | Полная связь | <page>|type | Тип графика: "График", "Спектр частот", "XY". |
valArch | Архиватор | Строка | Полная связь | <page>|valArch | |
curSek | Курсор | ДатаВремя | Полная связь | <page>|curSek | Время установки курсора. |
curUSek | Курсор, мкс | Целый | Полная связь | <page>|curUSek | Время установки курсора, микросекунд. |
sclVer | Вертикальный масштаб | Вещественный | Полная связь | <page>|sclVerScl | Процент вертикального масштаба. |
sclVerOff | Смещение вертикального масштаба | Вещественный | Полная связь | <page>|sclVerSclOff | Процент смещения по вертикальной шкале. |
sclHor | Горизонтальный масштаб | Вещественный | Полная связь | <page>|sclHorScl | Процент горизонтального масштаба. |
sclHorOff | Смещение горизонтального масштаба | Вещественный | Полная связь | <page>|sclHorSclOff | Процент смещения по горизонтальной шкале. |
sclWin | Масштаб окном | Логический | Полная связь | <page>|sclWin | Переключение режима масштабирования окном. |
sclWinCtx | Масштаб: окном, сохранённый контекст | Объект | Входная связь | <page>|sclWinCtx | Контекст сохранения исходных параметров масштабирования окном, для возврата. |
Элемент, представленный на рис. 27, служит для заполнения пустого места, когда не выбран элемент для управления.
Данный элемент должен помещаться в логический контейнер панелей дерева проекта.
Вызов панели осуществляется из главной страницы "RootPgSo" при смене объекта сигнализации или режима отображения.
Элемент "Рецепт: редактирование", представленный на рис. 28, является одним из группы кадров работы с рецептами, который служит для пользовательского редактирования программ-рецептов.
Программа-рецепт представляет собой последовательный вызов блоков функций — команды (макросы), принимающие до пяти аргументов и возвращающие строку результата, с кодом завершения в начале: "Работа" (0), "Завершен" (> 0) и "Ошибка" (< 0). Вызов команды шага производится циклически пока возвращается результат "Работа" (0). Переход к следующему шагу осуществляется в случае результата "Завершен" (> 0) и команды "Пропуск" (2). В случае ошибки, результат "Ошибка" (< 0), выполнение рецепта прерывается. Вычисление рецепта осуществляется через параметр контроллера рецепта, который поддерживает два способа исполнения рецепта:
Команды-макросы, которые пользователь может выбирать при формировании рецепта-программы, формируются программистом SCADA-системы под реализуемую прикладную область путём редактирования таблицы команд в OpenSCADA или перечня параметров выбранного логического контроллера. Таблица команд помещается в одну из БД доступных в конкретной конфигурации OpenSCADA. В качестве примера, эта таблица помещена в БД данной библиотеки под именем "PrescrComs". Таблица команд имеет структуру PrescrComs = (name, proc, arg1, arg2, arg3, arg4, arg5), Где:
JavaLikeCalc.JavaScript if(f_start) tmp1 = arg1; var curTm = tmp1.toReal(); if(curTm <= 0) { rez = "1:Время истекло для "+arg1+"с"; return; } curTm -= 1/f_frq; tmp1 = max(0,curTm); rez = "0:Ожидание сейчас "+curTm+"с";
Для специальных целей зарезервировано несколько команд с именами:
Команды-параметры логического контроллера формируются в виде шаблона параметров подсистемы "Сбор данных", которые затем используются в логическом контроллере рецепта, с рядом обязательных, служебных и внутренних атрибутов:
Особенностью использования команд-параметров является независимое их исполнение и возможность оставлять ряд команд исполняющимися в фоне, например, регуляторы.
В процессе формирования рецепта-программы пользователем, посредством данного кадра, осуществляется работа с таблицей программ. В качестве примера эта таблица помещена в БД данной библиотеки под именем "PrescrProgs". Таблица программ имеет структуру: PrescrProgs = (name, prgTxt), Где:
Кадр "Рецепт: редактирование" содержит слева на право:
Данный кадр должен быть помещен в логический контейнер мнемосхем или панелей дерева проекта.
Для корректной работы кадра необходимо скопировать существующую таблицу "PrescrComs" (если режим команд не в логическом контроллере) и "PrescrProgs" из БД в данной библиотеки в нужную БД или создать там новые пустые таблицы, SQL командами в нужной БД, например, для SQLite:
Пустую или скопированную таблицу команд необходимо отредактировать и наполнить нужными пользователю командами, на странице "Таблица" БД, если использован первый режим команд, или указать логический контроллер, с перечнем команд, в объекте контроллера рецепта для второго режима.
После формирования необходимо, в связях данного кадра, установить значения БД с таблицами и названия самих таблиц, указать имя экспортного/импортного файла и установить связь на объект контроллера рецепта.
В режиме исполнения пользователь может добавлять новые рецепты-программы, удалять, копировать и экспортировать существующие, а также импортировать рецепты других станций OpenSCADA. В выбранном рецепте-программе пользователь может выполнить: добавление или вставку нового шага, удаление или изменение положения выбранного шага. Для выбранного шага рецепта-программы пользователь может установить команду и ввести значения доступных параметров-аргументов выбранной команды, после чего сохранить изменения шага.
На рис. 29 представлен пример кадра в режиме исполнения.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
Общая конфигурация | |||||
dbDB | БД:База данных | Строка | Постоянная | DB | Адрес БД с таблицами в виде {ТипБД}.{ИмяБД}. |
dbProgs | БД:Программы | Строка | Постоянная | DB | Имя таблицы рецептов-программ. |
fileExpImp | Файл экспорта/импорта | Строка | Постоянная | File | Файл экспорта/импорта рецептов-программ пользователя. |
Связывание с контроллером рецепта. Пример реализации контроллера рецепта присутствует в БД Динамической модели "АГЛКС" | |||||
prExtComLs | Список доступных команд рецепта | Объект | Входная связь | Controller|comLs |
Элемент "Рецепт: исполнение", представленный на рис. 30, является одним из группы кадров работы с рецептами, который служит для непосредственного исполнения или наблюдения за исполнением во внешнем вычислителе программ-рецептов, ранее сформированных в кадре Рецепт: редактирование.
Кадр "Рецепт: исполнение" содержит слева на право:
Исполняемый рецепт-программа может быть приостановлен путём нажатия кнопки "Пауза" в месте кнопки "Запуск" или прерван путём нажатия кнопки "Останов". Также возможно пропустить шаг нажав кнопку "Пропустить", в момент исполнения шага.
По любому завершению рецепта-программы происходит генерация сообщения с параметрами сеанса, а также архивирование документа сеанса. Сообщение с параметрами сеанса может быть использовано просто при просмотре архива сообщений, или же для формирования списка сеансов, например, в группе графиков для перехода к истории на время сеанса. Для просмотра истории отчётов исполнения программ можно нажать на поле документа и полистать на появившейся справа панели навигации по архивному документу. По умолчанию архив документов настроен на глубину 10 документов.
В дополнении к полноформатному кадру исполнения рецептов предусмотрен упрощённый, который позволяет компактно управлять и отслеживать исполнение рецептов в составе других кадров технологического процесса (рис.30).
Данные кадры должны быть помещены в логический контейнер мнемосхем или панелей дерева проекта, для полноформатного, и на мнемосхему, для упрощённого.
В связях кадров необходимо установить значения БД с таблицами и названия самой таблицы программ, а так-же связать с контроллером рецепта, как в Рецепт: редактирование.
Для возможности архивирования завершённых сеансов, пока оператор переключается по другим кадрам, необходимо для полноформатного кадра в дереве проекта установить параметр "Страница: обрабатывать закрытой".
В режиме исполнения пользователь может выбрать нужный рецепт-программу и запустить на исполнение, после чего отслеживать процесс исполнения или перейти к другим кадрам. Исполняемую программу пользователь может приостановить путём нажатия кнопки "Пауза" в месте кнопки "Запуск" или прервать путём нажатия кнопки "Останов". Кроме этого пользователь может пропустит исполнение текущего шага, нажав кнопку "Пропустить". Также пользователь может пересмотреть или распечатать отчёты ранее исполняемых рецептов, полноформатного кадра, для чего нужно нажать левой клавишей мыши на поле документа и полистать на появившейся справа панели навигации по архиву исполняемых рецептов.
На рис. 31 представлен пример полноформатного и упрощённого кадров в режиме исполнения.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
Общая конфигурация | |||||
dbDB | БД:База данных | Строка | Постоянная | DB | Адрес БД с таблицами в виде {ТипБД}.{ИмяБД}. |
dbProgs | БД:Программы | Строка | Постоянная | DB | Имя таблицы рецептов-программ. |
Связывание с контроллером рецепта. Пример реализации контроллера рецепта присутствует в БД Динамической модели "АГЛКС" | |||||
prExtCurCom | Контроллер:текущая команда | Целый | Входная связь | Controller|curCom | |
prExtMode | Контроллер:режим | Целый | Полная связь | Controller|mode | |
prExtProg | Контроллер:программа | Строка | Полная связь | Controller|prog | |
prExtStartTm | Контроллер:запуск | Целый | Входная связь | Controller|startTm | |
prExtWork | Контроллер:рабочая | Объект | Входная связь | Controller|work |
Элемент "Подтверждение", представленный на рис. 32, реализует простейший диалог подтверждения операций. Элемент содержит сообщение с вопросом и две кнопки "Принять" и "Отмена". Данный диалог, например, использован в кадре Рецепт: редактирование для подтверждения операции удаления.
Данный виджет может быть использован разработчиком при создании кадров динамического взаимодействия в операциях, требующих подтверждения у пользователя. Для использования нужно добавить данный элемент в логический контейнер панелей дерева проекта. Для взаимодействия данный виджет открывается кадром-инициатором в результате чего происходит динамическое связывание диалога с атрибутами "event" и "mess" кадра-инициатора. Из атрибута "mess" берётся сообщение вопроса, а в "event" передаётся сигнал "dlg_Apply", при подтверждении.
Вызов диалога осуществляется из кадра инициатора, а закрытие происходит по нажатию любой кнопки на диалоге. В случае нажатия кнопки "Применить" кадру-инициатору будет отправлен сигнал "dlg_Apply", по которому он может выполнить нужные действия.
ID | Параметр | Тип | Конфигурация | Конфигурационный шаблон | Описание |
elEvent | Элемент:событие | Строка | Полная связь | <page>|event | Используется для отправки события "dlg_Apply" в случае подтверждения. |
elMess | Элемент:сообщение | Строка | Входная связь | <page>|mess | Источник сообщения вопроса в диалоге. |
Элемент "Выбор параметра графика", представленный на рис. 33, реализует диалог выбора источника данных, часто архивных, для формирования графика в кадре "Группа графиков". Выбор предоставляется из перечня указанного в атрибуте "Параметры доступные для выбора (allowSelLst)", кадра-инициатора. Для выбранного источника можно указать имя, шкалу, единицу измерения и цвет графика.
В атрибуте "Параметры доступные для выбора (allowSelLst)" должны помещаться источники данных в виде:
Пример содержимого атрибута "Параметры доступные для выбора (allowSelLst)":
Данный кадр должен быть помещен в логический контейнер панелей дерева проекта. В "Группах графиков", которые должны предоставлять возможность пользовательского выбора источника, должен быть определён атрибут "Параметры доступные для выбора (allowSelLst)", перечнем источников согласно правилам указанным выше. Как результат в контекстном меню элемента графика появится пункт "Выбор".
Вызов диалога осуществляется посредством пункта "Выбор", контекстного меню элемента графика. Диалогом пользователю предоставляется выбор источника данных из списка, а так-же указание основных его параметров: имя, шкала, единица измерения и цвет графика. При подтверждении выбранные параметры применяются к элементу графика, заменяя ссылки. Выбор и подтверждение пустого элемента приведёт к очистке всех ссылок и элемента графика. В текстовом поле под списком можно быстро найти нужный параметр.