Библиотеки/Основные графические элементы - OpenSCADAWiki

# Библиотеки/Основные графические элементы

This page is a translated version of the page Libs/Main graphical elements and the translation is 78% complete.

English • ‎mRussian • ‎Українська

Название | Версия | Лицензия | Источник | Языки | Автор | Иконка
--- | --- | --- | --- | --- | --- | ---
Библиотека основных элементов интерфейса пользователя | 2.3 | GPLv2 | vcaBase.db (SQL, GZip) > VCA.wlb_Main | en, uk, ru | Роман Савоченко |
Описание
Предоставляет библиотеку основных элементов пользовательского интерфейса общей и промышленной автоматизации. Основано: Сентябрь 2007 Изначально создано: в старой Wiki Использовано: большинство проектов на OpenSCADA Задачи (To Do):

Библиотека создаётся для предоставления основных элементов пользовательского интерфейса и содержит графические элементы, которые часто востребованы при формировании пользовательского интерфейса автоматизации технологических и общих процессом. Строится библиотека на основе примитивов виджетов и языка внутреннего программирования JavaLikeCalc.

Названия элементов и их параметров доступны на языках: Английский, Украинский и mRussian. Их исходный код написан в языко(человеческий)-независимом режиме с вызовом функции перевода tr() и перевод этих сообщений также доступен Английским, Украинским и mRussian.

Для подключения библиотеки к проекту станции OpenSCADA Вы можете получить файл БД как:

- такой что поставляется с готовым и соответствующим пакетом дистрибутива Linux вроде "openscada-libdb-vca", "openscada-LibDB.VCA";
- наиболее актуальный и непосредственно полученный из репозиторию subversion, преобразованный в файл БД SQLite путём:

    wget http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/vcaBase.sql
    sqlite3 -init vcaBase.sql vcaBase.db .exit

- загрузка прикреплённого тут.

Этот полученный файл Вы далее можете разместить в каталоге проекта станции и создать объект базы данных модуля БД "SQLite", зарегистрировав файл базы данных в конфигурации.

## 1 Виджеты — графические элементы

Содержит элементы-виджеты общего применения, которые предназначены для размещения на основных кадрах. Этими основными кадрами могут быть и кадры за этой концепцией объектов сигнализации корневой страницы "RootPgSo", но нужно учитывать, что они часто ссылаются и вызывают те или иные панели управления!

### 1.1 Отображение аналогового (anShow) | 1.3 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент на рисунке 1.1 служит для отображения текущего значения аналогового параметра и режима регулятора, если параметр является таковым. Также этот элемент генерирует уведомления про нарушения по соответствующим уставкам параметра. Элемент в целом использует и представляет представительскую структуру DAQ-шаблона "Аналоговый сигнал".

Рис.1.1. Элемент "Отображение аналогового" в режиме разработки и исполнения (слева направо).

Использование — разработка
Этот виджет может быть использован разработчиком при создании мнемосхем с отображением значений аналоговых параметров и ПИД-регуляторов. Для использования нужно добавить данный виджет на мнемосхему, подстроить горизонтальный, вертикальный размер масштабом и связать с параметром источника данных.

Использование — исполнение
В режиме исполнения, в основном поле элемента, отображается название параметра, режим регулятора (только для регулятора) и текущее значение-переменная этого параметра; которые, в зависимости от наличия нарушения, отображаются цветом стиля: labColorGood, labColorWarning, labColorAlarm; и которым изображение несквитированного параметра может мигать. При аппаратных ошибках и недостоверности данных, последнее значение отображается серым цветом и перечёркивается. В подсказке пользователь может получить описание связанного параметра и его ошибки.

В активном режиме элемента можно получить паспорт путём нажатия правой клавиши мыши на поле виджета. В паспорте будут представлены все свойства параметра. При нажатии левой клавишей мыши в области панелей появится панель управления параметром, а выбор данного виджета будет отображаться мигающей рамкой.

The widget supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent widget/page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Linking and configuring the attributes

Identifier | Name | Type | Configuration | Configuration template | Description
--- | --- | --- | --- | --- | ---
pErr | Parameter: error | String | Input link | Parameter|err | Code and text of the parameter error. It is used to generate alarm. The following error codes are processed: 1,2 — failure, parameter is not valid, be shown in gray and cross out besides the case with redEVAL; 3,4 — above and below the alarm limit, be shown in the styled color labColorAlarm; 5,6 — above and below the warning limit, be shown in the styled color labColorWarning; 10,11 — the user alarm codes of the statuses warning and alarm, be sown accordingly in the styled color labColorWarning and labColorAlarm.
pModeA | Parameter: regulator mode: auto | Boolean | Input link | Parameter|auto | The large letter "A" is displayed on the left when the value checked.
pModeC | Parameter: regulator mode: cascade | Boolean | Input link | Parameter|casc | The large letter "C" is displayed on the left when the value checked.
pName | Parameter: name | String (translate) | Input link | Parameter|NAME | Short name of the parameter displayed over the value and inserted to the alarm messages.
pPrec | Parameter: precision | Integer | Input link | Parameter|prec | Number signs after the dot, for positive values, and precision (signs in whole), for negative, to display the real end variable on the screen.
pVal | Parameter: value | Real | Input link | Parameter|var | Engineeric real value of the parameter.
redEVAL | Red parameter name in case of failure | Boolean | Constant |  | By default, the color of the parameter's name for the "failure" state (EVAL value) is gray. But some critical for the process parameters must have the "failure" state displayed with the red parameter's name.
spName | Speech name | String (translate) | Constant |  | The parameter name for speech synthesis during the formation of alarm messages taking into account accents of words, pauses, etc. Empty value disables the speech notification!

### 1.2 Отображение аналогового 1 (anShow1); Отображение аналогового 1, короткий (anShow1s) | 1.4 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент на рисунке 1.2 служит для отображения текущего значения аналогового параметра и краткого префиксу измеренного значения. Также этот элемент генерирует уведомления про нарушения по соответствующим уставкам параметра. Элемент в целом использует и представляет представительскую структуру DAQ-шаблона "Аналоговый сигнал".

Эти два элемента отличаются один от одного только начальным горизонтальным размером, т.е. второй "Отображение аналогового 1, короткий" является коротким вариантом для очень коротких случаев и он прямо наследуется от первого.

Рис.1.2. Элемент "Отображение аналогового 1" в режиме разработки и исполнения (слева направо).

Использование — разработка
Этот виджет может быть использован разработчиком при создании мнемосхем с отображением значений аналоговых параметров с префиксом и/или как элемент статической экранной таблицы. Для использования нужно добавить данный виджет на мнемосхему, подстроить горизонтальный, вертикальный размер масштабом и связать с параметром источника данных.

Использование — исполнение
В режиме исполнения, в основном поле элемента, отображается короткий префикс и текущее значение-переменная этого параметра; которые, в зависимости от наличия нарушения, отображаются цветом стиля: labColorGood, labColorWarning, labColorAlarm; и которым изображение несквитированного параметра может мигать. При аппаратных ошибках и недостоверности данных, последнее значение отображается серым цветом и перечёркивается. В подсказке пользователь может получить описание связанного параметра и его ошибки.

В активном режиме элемента можно получить паспорт путём нажатия правой клавиши мыши на поле виджета. В паспорте будут представлены все свойства параметра. При нажатии левой клавишей мыши в области панелей появится панель управления параметром, а выбор данного виджета будет отображаться мигающей рамкой.

The widget supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent widget/page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Linking and configuring the attributes

Identifier | Name | Type | Configuration | Configuration template | Description
--- | --- | --- | --- | --- | ---
pErr | Parameter: error | String | Input link | Parameter|err | Code and text of the parameter error. It is used to generate alarm. The following error codes are processed: 1,2 — failure, parameter is not valid, be shown in gray and cross out; 3,4 — above and below the alarm limit, be shown in the styled color labColorAlarm; 5,6 — above and below the warning limit, be shown in the styled color labColorWarning; 10,11 — the user alarm codes of the statuses warning and alarm, be sown accordingly in the styled color labColorWarning and labColorAlarm.
pNAME | Parameter: name | String (translate) | Input link | Parameter|NAME | Short name of the parameter inserted to the alarm messages.
prec | Parameter: precision | Integer | Input link | Parameter|prec | Number signs after the dot, for positive values, and precision (signs in whole), for negative, to display the real end variable on the screen.
pVal | Parameter: value | Real | Input link | Parameter|var | Engineeric real value of the parameter.
spName | Speech name | String (translate) | Constant |  | The parameter name for speech synthesis during the formation of alarm messages taking into account accents of words, pauses, etc. Empty value disables the speech notification!
pName | Short name | String | Constant |  | Short name-prefix value.
pNameSz | Short name size | Integer | Constant |  | Size of the short name-prefix in pixels, use the zero value to disable the field.

### 1.3 Текстовая метка (TextLab) | 1.3 | GPLv2 | * | en, uk, ru | Roman Savochenko | -1 ms (parent)

The element on Figure 1.3 is used to display the dynamic text labels, which form on basis of the discrete signals. Also this element generates notifications of violations on the locally defined condition, the attribute ntf, additionally it cans generate alarms from the attribute "Error (err)". The element commonly uses and represents the representative structure of DAQ-templates of the discrete block and the code state.

- Спонсирование: Василий Григорьев, Лаборатория Вакуумных Технологий

Рис.1.3. Элемент "Текстовая метка" в режиме разработки и выполнения (слева направо)
.

Использование — разработка
Этот виджет может быть использован разработчиком при создании мнемосхем с отображением текстовых меток и/или как элемент статической экранной таблицы. Для использования нужно добавить данный виджет на мнемосхему, подстроить горизонтальный, вертикальный размер и связать с параметром источника данных.

Использование — исполнение
В режиме исполнения, в основном поле элемента, отображается текстовая метка и на фоне, которые соответствуют значениям дискретных сигналов параметра и конфигурации состояний в атрибуте digStts; где фон, зависимо от наличия нарушения соответствующего условию атрибута ntf, устанавливается в цвет нарушения; и которым изображение несквитированного параметра может мигать. При аппаратных ошибках и недостоверности данных, фон отображается серым цветом.

В активном режиме элемента можно получить паспорт дважды нажав левую клавиши мыши на поле виджета. В паспорте будут представлены все свойства параметра. При нажатии левой клавишей мыши в области панелей появится панель управления параметром, а выбор данного виджета будет отображаться мигающей рамкой. Команды дублируются в контекстном меню, которое появляется при нажатии правой клавиши мыши в области виджета.

The widget supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent widget/page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Linking and configuring the attributes

Identifier | Name | Type | Configuration | Configuration template | Description
--- | --- | --- | --- | --- | ---
err | Parameter: error | Address | Input link | Parameter|err | Used as the address for accessing the DAQ-Parameter object of messages sending and the value also used for alarms generation.
NAME | Parameter: name | String (translate) | Input link | Parameter|NAME | Short name of the parameter to be inserted in the notification of violations and actions of the user-operator.
DESCR | Parameter: description | String (translate) | Input link | Parameter|DESCR | Description or long name of the parameter to be inserted in the notification of violations and actions of the user-operator.
st_open | Parameter: status-open | Boolean | Input link | Parameter|st_open | The state "Opened" of the parameter or the common state of the switch at missing the state signal "Closed".
st_close | Parameter: status-close | Boolean | Input link | Parameter|st_close | The state "Closed" of the parameter.
st_text | Parameter: status (text) | String (translate) | Input link | Parameter|st_text | Text of the parameter state, at the mode "Code state".
digStts | Parameter: statuses | String (translate) | Input link | Parameter|digStts | Configuration of the parameter statuses with the structure {openedLabel}-{color};{closedLabel}-{color};{noOpenedClosedLabel}-{color};{OpenedClosedLabel}-{color};{errLabel}-{color}, for the discrete block.
com | Parameter: command | Boolean | Full link | Parameter|com | The command "Open" of the parameter or the common command of the switch at missing the command signal "Close".
close | Parameter: close | Boolean | Full link | Parameter|close | The command "Close" of the parameter.
stop | Parameter: stop | Boolean | Full link | Parameter|stop | The command "Stop" of the parameter.
com_text | Parameter: command text (from digComs) | String | Full link | Parameter|com_text | Text of the parameter command, at the mode "Code state".
digComs | Parameter: commands | String (translate) | Input link | Parameter|digComs | Configuration of the parameter commands with the structure {openLabel}-{color};{closeLabel}-{color}, for the discrete block, and {com1Label}-{color};{com2Label}-{color};...;{comNLabel}-{color}, for the code status.
ntf | Notification "{st}:{modes}:{Speech text}" | String (translate) | Constant |  | Configuration of the notification forming at the status (st) [0|1|2(both)|3(err)] and the notification modes-methods (modes), as a string of the digital methods, and by the speech, if pointed such method. The speech message for "3(err)" is taken from the "Error (err)" attribute.

### 1.4 Метка изображением (ImgLab) | 1.3 | GPLv2 | * | en, uk, ru | Roman Savochenko | -1 ms (parent)

The element on Figure 1.4 is used to display the dynamic image labels, which form on basis of the discrete signals. Also this element generates notifications of violations on the locally defined condition, the attribute ntf, additionally it cans generate alarms from the attribute "Error (err)". The element commonly uses and represents the representative structure of DAQ-templates of the discrete block and the code state.

- Спонсирование: Винницкая Птицефабрика

Рис.1.4. Элемент "Метка изображением" в режиме разработки и выполнения (слева направо)
.

Использование — разработка
Этот виджет может быть использован разработчиком при создании мнемосхем с отображением меток изображением и/или как элемент статической экранной таблицы. Для использования нужно добавить данный виджет на мнемосхему, подстроить горизонтальный, вертикальный размер и связать с параметром источника данных.

Использование — исполнение
В режиме исполнения, в основном поле элемента, отображается изображение метки на фоне, которые соответствуют значениям дискретных сигналов параметра и конфигурации состояний в атрибуте imgs; где фон, зависимо от наличия нарушения соответствующего условию атрибута ntf, устанавливается в цвет нарушения; и которым изображение несквитированного параметра может мигать. При аппаратных ошибках и недостоверности данных, фон отображается серым цветом.

В активном режиме элемента можно получить паспорт, двойным кликом левой клавиши мыши на поле виджета. В паспорте будут представлены все свойства параметра. При нажатии левой клавиши мыши в области виджета появится панель управления параметром, и выбор данного виджета будет отображаться мигающей рамкой. Команды дублируются в контекстном меню, которое появляется при нажатии правой клавиши мыши в области виджета.

The widget supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent widget/page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Linking and configuring the attributes

Identifier | Name | Type | Configuration | Configuration template | Description
--- | --- | --- | --- | --- | ---
err | Parameter: error | Address | Input link | Parameter|err | Used as the address for accessing the DAQ-Parameter object of messages sending and the value also used for alarms generation.
NAME | Parameter: name | String (translate) | Input link | Parameter|NAME | Short name of the parameter to be inserted in the notification of violations and actions of the user-operator.
DESCR | Parameter: description | String (translate) | Input link | Parameter|DESCR | Description or long name of the parameter to be inserted in the notification of violations and actions of the user-operator.
st_open | Parameter: status-open | Boolean | Input link | Parameter|st_open | The state "Opened" of the parameter or the common state of the switch at missing the state signal "Closed".
st_close | Parameter: status-close | Boolean | Input link | Parameter|st_close | The state "Closed" of the parameter.
st_img | Parameter: status "{img}:{bCol}:{blink}" | String | Input link | Parameter|st_text | Image of the parameter state, at the mode "Code state", where: img — image name, see the image attributes; bCol — background color; blink — blink sign [0|1] of the background.
imgs | Images, for "{openedImage}-{bCol}:{closedImage}-{bCol}:{noOpenedClosedImage}-{bCol}:{OpenedClosedImage}-{bCol}:{errImage}-{bCol}" | String | Constant |  | Configuration of the parameter statuses with the structure {openedImage}-{bCol}:{closedImage}-{bCol}:{noOpenedClosedImage}-{bCol};{OpenedClosedImage}-{bCol};{errImage}-{bCol}, for the discrete block.
digStts | Parameter: statuses | String (translate) | Input link | Parameter|digStts | Standard configuration of the parameter statuses with the structure {notUsed}-{openedColor};{notUsed}-{closedColor};{notUsed}-{noOpenedClosedColor};{notUsed}-{OpenedClosedColor};{notUsed}-{errColor}', for the discrete block and missing of the attribute imgs.
com | Parameter: command | Boolean | Full link | Parameter|com | The command "Open" of the parameter or the common command of the switch at missing the command signal "Close".
close | Parameter: close | Boolean | Full link | Parameter|close | The command "Close" of the parameter.
stop | Parameter: stop | Boolean | Full link | Parameter|stop | The command "Stop" of the parameter.
com_text | Parameter: command text (from digComs) | String | Full link | Parameter|com_text | Text of the parameter command, at the mode "Code state".
digComs | Parameter: commands | String (translate) | Input link | Parameter|digComs | Configuration of the parameter commands with the structure {openLabel}-{color};{closeLabel}-{color};{stopLabel}-{color}, for the discrete block, and {com1Label}-{color};{com2Label}-{color};...;{comNLabel}-{color}, for the code status.
ntf | Notification "{st}:{modes}:{Speech text}" | String (translate) | Constant |  | Configuration of the notification forming at the status (st) [0|1|2(both)|3(err)] and the notification modes-methods (modes), as a string of the digital methods, and by the speech, if pointed such method. The speech message for "3(err)" is taken from the "Error (err)" attribute.

### 1.5 Нарушения — активное (alarmsAct) | 1.4 | GPLv2 | * | en, uk, ru | Роман Савоченко

Элемент на рисунке 1.5 служит для динамического отображения активных нарушений в табличном виде и с выделением их цветом и текстом. Нарушения получаются из буфера текущих-активных нарушений OpenSCADA. Фактически элемент реализует функции примитива "Протокол" для нарушений и с расширением возможностей.

Сортирование сообщений зафиксировано по правилу "активные + наибольший уровень + последние" для сообщений вверху, что можно изменить только редактированием исходного текста елемента.

Для детального изучения актуальных нарушений элементом предусмотрено функцию увеличения высоты вверх или вниз при получении фокуса.

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

Основным пользовательским расширением является возможность определения видимых полей таблицы из перечня вариантов:

- atm — время возникновения нарушения;
- qttm — время подтверждения (квитации) нарушения, для подтверждённых нарушений;
- lev — уровень нарушения;
- type — тип-название нарушения из уровня lev и атрибута "types";
- cat — категория нарушения;
- mess — полный и неразобранный текст сообщения нарушения;
- prm — адрес DAQ-параметра источника нарушения;
- dscr — описание нарушения из DAQ-параметра источника;
- dscrCust{N} — описание пользовательского поля N;
- alrm — текст нарушения;
- cmnt — комментарий к нарушению.

Этот элемент и его поля в целом представляют структуру сообщения нарушения, которая детально описана в руководстве пользователя.

Как можно видеть из перечня возможных полей таблицы, этот элемент поддерживает механизм подтверждения (квитации), комментирования и пользовательские поля.

- Спонсирование: Устьянцев Михаил
- Спонсировано, добавление нового пользовательского поля "Тип" на 0.2 ЧД[!]: INSERTEC LTDA

Рис.1.5. Элемент "Нарушения — активное" в режиме разработки и исполнения (сверху вниз).

Использование — разработка
Этот виджет может быть использован разработчиком при создании мнемосхем с постоянным отображением активных нарушений или для общего их отображения на корневой странице. Для использования необходимо добавить этот виджет на мнемосхему или корневую страницу, подстроить горизонтальный, вертикальный размер, настроить вертикальное расширение и откорректировать другие свойства вроде перечня и последовательности отображаемых полей таблицы.

Если нужно выключить функцию подтверждения то вы должны исключить время подтверждения "qttm" из перечня полей и установить элемент неактивным.

Использование — исполнение
В режиме использования строится таблица из перечня активных нарушений, для определённых полей, правила сортирования и выделения; содержимое которой периодически и динамически обновляется. При выборе таблицы, получение фокуса, её высота может расширяться, отобразив больше сообщений, если эта функцию включена и есть соответствие условию из определённого количества нарушений.

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

Ещё пользователь может оставить комментарий к нарушению, откорректировав соответствующее поле таблицы.

Linking and configuring the attributes

Identifier | Name | Type | Description
--- | --- | --- | ---
active | Active | Boolean | Turn off if there disabled confirmation, focus gaining and editing in general — purely displaying.
hHdrVis | Show header: horizontal | Boolean |
vHdrVis | Show header: vertical | Boolean |
formDtTm | Data and time format (%Y-%m-%d %H.%M.%S[.%MS,%US]) | String | Format of displaying the time of violation and confirmation.
expOnItems | Expand on focus: items (<=0-disabled) | Integer | Maximum number of messages to trigger the element expansion, height increasing, at focus gaining.
expOnFocus | Expand on focus: pixels (0-disabled,>-down,<-up) | Integer | Set to the desired value of the element extension, height increasing, at focus gaining.
colms | Columns List separated by ',' from the variants: atm, qttm, lev, type, cat, mess, prm, dscr, dscrCust{N}, alrm, cmnt. | String | Determine in the desired sequence and the fields filling.
highLght | Highlight rules Rows in the form "{lev}[{slev}]{quitt}:{color}:{font}:{fontColor}". | Text | Highlight rules, where: lev — main level of the message [0...7]; slev — sub-level of the message [0...9], optional; quitt — sign of the message confirmation (quietation) [0|1]; color — background color of the message row; font — text font of the message row; fontColor — text color of the message row. To example:
    #<SnthHgl font="monospace">
    # <rule expr="^#[^\n]*" color="gray" font_italic="1"/>
    # <rule expr="^[0-9]*" color="blue">
    #  <rule expr="[01]$" color="red"/>
    # </rule>
    # <rule expr="(?<=:).*" font_weight="1"/>
    #</SnthHgl>
    50:gray
    40:red
    150:yellow
colDscrCustNames | Перечень наименований пользовательских полей, поделённых ';' | Строка (перевод) | При поддержке пользовательских полей, и их видимости, тут приводятся их наименования.
types | Перечень типов по уровню от 0, разделены ';' | Строка (перевод) | Типы-названия нарушений за их уровнем, типично "Отладка;Информ.;Отметка;Предупр.;Ошибка;Критически;Тревога;Авария".
messCat | Категория сообщений | Строка | Категория обрабатываемых сообщений нарушений, типично пусто для всей нарушений.

### 1.6 Свойства объекта (objProps) | 1.2 | GPLv2 | * | en, uk, ru | Роман Савоченко

Элемент на рисунке 1.6 служит для отображения свойств источника данных в табличном виде и с выделением их цветом, как объект, и предоставления возможности изменения значения свойств с правом записи. Также этот элемент генерирует сообщения про нарушения согласно особенностям объекта. Элемент в целом использует и предоставляет представительскую структуру DAQ-шаблонов "Комплексный объект".

- Спонсировано: ПАТ ХАРТРОН

Рис.1.6. Элемент "Свойства объекта" в режиме разработки и выполнения (слева направо).

Использование — разработка
Этот виджет может быть использован разработчиком при создании мнемосхем с консолидированным отображением объекта как целое и сущности со свойствами. Для использования необходимо добавить этот виджет на мнемосхему, подстроить горизонтальный, вертикальный размер масштабом и связать с параметром источника данных от DAQ-шаблона "Комплексный объект".

Использование — исполнение
В режиме исполнения отображается таблица со свойствами в строках, где первая колонка это название свойства, а вторая её значение. Строка может подсвечиваться фоном аварийного цвета, в случае нарушения по этому свойству. Особенное значение имеет и заголовок виджета где отображается название объекта, фон цвета которого может приобретать аварийные цвета, при наличии нарушений у объекта.

Таблица свойств является активной и при выборе строки свойства, которое предусматривает запись, снизу появится поле установки значения свойства.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
objName | Объект: имя | Строка | Входная связь | Object|NAME | Имя объекта для заголовка.
objDescr | Объект: описание | Текст | Входная связь | Object|DESCR | Описание объекта для подсказки к заголовку.
objErr | Объект: ошибка | Строка | Входная связь | Object|err | Ошибка объекта для формирования сообщения и подсвечивания заголовка, обрабатываются коды концепции.
objItems | Объект: элементы | Объект | Входная связь | Object|items | Описательный объект свойств физического объекта, согласно концепции.

### 1.7 Календарь (calendar) | 1.0 | GPLv2 | * | en, uk, ru | Роман Савоченко

Элемент на рисунке 1.7 служит для отображения месяца календаря по неделям, который предусматривает возможность выбора года, месяца и отдельного дня, а также переход к текущему дню.

- Спонсировано: ООО "СВІТоВИР"

Рис.1.7. Элемент "Календарь" в режиме разработки и выполнения (слева направо).

Использование — разработка
Этот виджет может быть использован разработчиком при создании мнемосхем с отображением календаря. Для использования необходимо добавить этот виджет на мнемосхему, подстроить горизонтальный, вертикальный размер масштабом и использовать атрибут "selTime" этого виджета для получения и установки даты.

Использование — исполнение
В режиме исполнения отображается соответствующий выбранному год, месяц и подсвечен день, согласно значению атрибута "selTime".

Пользователь имеет возможность выбрать год и месяц из перечня, а также день в изображении недель. Для быстрого возврата к текущим суткам предусмотрено соответствующую кнопку.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Описание
--- | --- | --- | ---
selTime | Выбранное время | Целое | Время календаря в секундах от UNIX-эпохи.

### 1.8 Weather (weather) | 1.0 | GPLv2 | * | en, uk | Roman Savochenko

The element on Figure 1.8 is used to display weather data from parameters on the DAQ-template "Weather".

Fig.1.8. The element "Weather" in the development and runtime modes (left to right).

Using — development
This widget can be used the developer to create mnemonic schemes with displaying the weather. To use it you need to add this widget to a mnemonic scheme, adjust for the horizontal, vertical size, by scaling, and link to the data source parameter at the DAQ-template "Weather".

Using — runtime
In the runtime mode, the current weather is displayed in the top and forecast displayed in the bottom with details on the images' tooltip.

Images for some weather conditions can be missed yet due to the images are still appended!

Linking and configuring the attributes

Identifier | Name | Type | Configuration | Configuration template | Description
--- | --- | --- | --- | --- | ---
current | Weather: Current | Object | Input link | Parameter|current | The object with current data.
forecast | Weather: Forecast | Object | Input link | Parameter|forecast | The object with forecast data.

## 2 Корневая страница (СО) (RootPgSo) | 2.7 | GPLv2 | * | en, uk, ru | Роман Савоченко | 1000 мс

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

Корневая страница содержит четыре области:

- область кнопок-индикаторов объектов сигнализации (вверху);
- область навигации по видами отображения (справа-вверху);
- контейнер основных кадров пользовательского интерфейса (в центре);
- контейнер панелей управления (справа-внизу).

Область кнопок-индикаторов объектов сигнализации служит для предоставления информации о наличии нарушений в объекте сигнализации, а также для переключения между ними.

Для отображения выбранного объекта сигнализации используется цвет фона, согласно стилям: backColorButton и backColorButtonSel. А нарушения отображаются цветом текста, согласно стилям: labColorGood, labColorWarning, labColorAlarm; и которыми текст несквитированного объекта сигнализации может мигать.

Buttons are currently generated dynamically by copying the first and only, according to the virtual pages of the signal objects in the project tree, with the serial digital identification from 1 (one). The limitation on the number of buttons or signal objects is only the total length of the names of the signal objects that can be placed in two rows of these buttons. That is, for short names we can get up to near 100 signal objects. If the signal object is one, even this single base button is hidden.

Область навигации по видами отображения — индикация выбора и выбор вида отображения как, например: "Мнемосхемы", "Группы графиков", "Группы контуров", "Документы" и другое; и кнопки перелистывания или комбобокс прямого выбора кадров в объекте сигнализации.

Пространство кнопок видов отображения является динамическим, в смысле занимания пространства отсутствующих, и значение самих видов отображения настраивается на другое от типичного значение, т.е. предусмотрено два основных вида отображения (view1 и view2), три дополнительных (view3, view4 и view5), а также один общий на весь интерфейс (view6).

Ниже также содержаться кнопки квитации, которые появляются при возникновении нарушений, а сверху изображение логотипа, которое настраивается.

Контейнер основных кадров пользовательского интерфейса — область контейнера для включения в неё основных кадров при выборе их кнопками режимов отображения или смене объекта сигнализации.

Общая таблица активных нарушений — содержит цветные строки актуальных нарушений, которые упорядочены по их важности с наиболее важными наверху. Изначально виджет выключен.

Контейнер панелей управления — область контейнера для включения в неё панелей управления различными объектами в области контейнера основных кадров, например — панель параметра, документа, графика и т.д.

Под контейнером панелей управления располагается кнопка запуска демонстрационного режима — режима при котором осуществляется периодическое переключение показательных кадров, изменение режимов и других операций согласно сценарию.

- Спонсирование динамизации: Винницкая Птицефабрика

Рис.2a. Кадр "Корневая страница (СО)" в режиме разработки.

Использование — разработка
Данный виджет может использоваться только в режиме корневой страницы, которая должна помещаться в дерево проекта как элемент "so". Кроме этого, вокруг главной страницы должна быть развёрнута следующая древовидная иерархия:

  /control/* — логический контейнер, содержит различные панели управления;
  /so/ — этот кадр как контейнер, содержит логические контейнеры объектов сигнализации:
    {n}/ — логический контейнер объекта сигнализации n (1...), содержит логические контейнера и шаблоны видов отображения:
      [view1|mn]/* — вид отображения 1 (обычно и ранее это мнемосхемы), содержит множество страниц конечных кадров;
      [view2|ggraph]/* — вид отображения 2 (обычно и ранее это шаблон группы графиков), содержит множество страниц конечных кадров;
      [view3|gcadr]/* — вид отображения 3 (обычно и ранее это шаблон группы контуров), содержит множество страниц конечных кадров;
      [view4|gview]/* — вид отображения 4 (обычно и ранее это шаблон группы обзорных кадров), содержит множество страниц конечных кадров;
      [view5|doc]/* — вид отображения 5 (обычно и ранее это логический контейнер документов), содержит множество страниц конечных кадров;
      greg/* — специфический шаблон страницы настройки ПИД-регулятора, содержит множество страниц конечной конфигурации ПИД-регуляторов, подключенных статически и которые вызываются только кнопкой "ПИД" элемента кадра.
    [view6|rg]/ — логический контейнер глобального вида отображения 6 (обычно и ранее это сводные графики — общие графики для всего интерфейса):
      [view6|rg]/* — вид отображения 6 (обычно и ранее это шаблон сводных графиков), содержит множество страниц конечных кадров.

Identifiers of the pages of the types of view, specified as [view1|mn], must be specified in the tree either in the new scheme "view1" or in the old scheme "mn". Mixing is not supported and the view items must not be empty, that is contain at least one active page!

В качестве текста кнопок объектов сигнализации используется название логического контейнера с соответствующим идентификатором n. Из описания этого контейнера также берётся и текст всплывающей подсказки к этой кнопке, если он не пуст.

Все дальнейшие настройки и редактирования около этого кадра нужно осуществлять для его копии-ссылки в дереве проекта, и настойчиво не рекомендуется редактировать его в библиотеке, иначе Вы потеряете возможность обновления библиотеки или эти изменения, при её обновлении!

Текст и подсказка кнопок видов отображения изменяется непосредственно в соответствующих свойствах этих виджетов. Быстрые клавиши вида отображения берутся из скобок всплывающей подсказки, вроде "Графики (CtrlAlt+G)", и соответственно обрабатываются. Для изменения изображения вида отображения достаточно переопределить иконку соответствующего вида, вроде "view1", путём загрузки изображения с соответствующим именем в Mime-данные проекта.

Для включения общей таблицы активных нарушений просто установить 1 (один) в конфигурации связей кадра для "alarms > en".

Для включения и конфигурации возврата к некоторому непривилегированному пользователю после некоторого времени неактивности, просто установить {минуты)-{пользователь} в конфигурации связей кадра для "defUser".

Изображение логотипа можно изменить также само, как и изображение вида отображения, т.е. загрузить в Mime-данные проекта новое изображение с названием "logo", после чего можно откорректировать геометрию виджета логотипа под нужные пропорции. Виджет изображения можно перенести влево, подвинув предварительно кнопку объекта сигнализации вправо на размер логотипа. Если логотип вообще не нужен то обнулить ширину его виджета, но не удаляйте его!

Панель навигации и контейнер панелей управления потенциально также можно перенести влево, подвинув контейнер основных кадров, а может и кнопку объекта сигнализации вправо.

При необходимости, корневую страницу можно дополнить дополнительными элементами, которые не нуждаются в особенной обработке, т.е. — изменение исходной процедуры кадра, что уже является не использованием, а редактированием. Тут нужно отметить, что уменьшение размеров этого контейнера, как и любого другого, приведёт к появлению полос прокрутки и-или будет требовать корректировки кадров размещения в контейнер, но этого может быть не нужно совершать, учитывая расширение контейнера на неиспользованные строки кнопок объектов сигнализации.

Использование — исполнение
При запуске кадра в режиме исполнения, сначала осуществляется построение кнопок объектов сигнализации, которые формируются в два ряда, после чего контейнер основных кадров расширяется вверх на ряд, если достаточно было одного, или на два, если объект сигнализации один. Далее формируются кнопки видов отображения, присутствующие из которых активируются и расширяются для заполнения места отсутствующих.

После динамического формирования, кадр осуществляет периодический контроль за сменой кадра в контейнере основных кадров, что отображается соответствующим цветом фона в кнопке объекта сигнализации и вида отображения, к которым кадр принадлежит. Между кнопками листания обновляется информация про общее количество кадров и позицию актуального, а также сами кнопки активируются согласно возможностям листания в актуальной позиции кадра. Для комбобокса прямого выбора кадра из списка, соответственно осуществляется формирование актуального перечня кадров и установка названия текущего. Также осуществляется контроль состояния нарушения-уведомления по объектам сигнализации, который соответственно отображается цветом текста кнопок объекта сигнализации и его миганием, а также активируются или дизактивируются кнопки квитации.

The frame supports now of working with very big "Periodic processing" value or disabling the periodic processing in whole (the value -2) and that value also propagated to the child pages and widgets if they want such behaviour (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Смена кадра в контейнере панелей управления не отслеживается и они в целом вызываются из интерфейса основных кадров, разве-что он очищается со сменой основного кадру путём открытия панели-заглушки.

Из основных действий, кадром предоставляется возможность пользователю выбрать объект сигнализации, вид отображения и соответствующий кадр. Нажав кнопку объекта сигнализации, вида отображения, прямо выбрав в комбобоксе или полистав; результатом чего является вызов соответствующего кадра в контейнере основных кадров. Из дополнительных действий, пользователь может сквитировать нарушение-уведомление и запустить Демо-режим, если он предусмотрен. Типовая настройка кадра предусматривает обслуживание ряда горячих клавиш, таких как CtrlAlt+[1...0] для вызова объектов сигнализации от 1 до 10, и CtrlAlt+[MGCVDR] для вызова соответствующих видов отображения.

Рис.2b. Кадр "Корневая страница (СО)" в режиме исполнения.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Описание
--- | --- | --- | ---
alarms > en (конфигурация) | Сигналы > Включено | Логический | Включение общей таблицы активных нарушений
defUser (конфигурация) | Типичное для возврата, {минут)-{пользователь} | Строка | Включение и конфигурация возврата к некоторому непривилегированному пользователю после некоторого времени неактивности, строкой {минуты)-{пользователь}.
demoPlayProc | Проц. проигрывания демо | Текст | Процедура на языке JavaLikeCalc для проигрывания некоторой демонстрации. Включает кнопку Демо-режима в режиме исполнения. Для примера такой процедуры смотрите демонстрационные-проекты АГЛКС и Котел!
Специфические для визуализатора атрибуты для UI.Vision (больше) и UI.WebVision (больше)
keepAspectRatio | Сохранять пропорцию при масштабировании | Логический | Сохранять пропорцию страниц при масштабировании.
stBarNoShow | Не показывать строку статуса | Логический | Скрыть строку статуса главного окна.
Специфические для визуализатора атрибуты для UI.Vision (больше)
runWin | Окно исполнения | Выбор целых чисел | Установка режима исполнения главного окна: "Оригинальный размер (0)". "Максимизировать (1)". "На весь экран (2)".
statLine | Элементы строки статуса | Текст | Текстовое поле с описанием элементов строки статуса пользователя.
winPosCntrSave | Управление и сохранение положений окон | Логический | Включение управления и сохранения положения окон исполнения.
Основные процедуры механизма уведомлений
notify0 | Уведомление: тип 0 (Свет) | Текст |
notify1 | Уведомление: тип 1 (Гудок) | Текст |
notify2 | Уведомление: тип 2 (СинтезРечи) | Текст |

## 3 Основные кадры

Содержит элементы-кадры шаблонного и конечного типов, а также элементы-виджеты и панели из которых они строятся и которые имеют отношение к их использованию. Эти кадры предназначены для размещения в дереве страниц проекта, построенного по концепции объектов сигнализации корневой страницы "RootPgSo". Однако они могут быть размещены как отдельные сущности или в составе собственной концепции управления страницами, но тут нужно учитывать, что кадры часто ссылаются и вызывают те или иные панели управления общего применения и связанные элементы!

### 3.1 Graphics group (grpGraph); Graphics group 10 (grpGraph10) | 1.6 | GPLv2 | * | en, uk, ru | Roman Savochenko | -1 ms (parent)

The element-frame shown in Figure 3.1 is provided for simultaneous observation of trends and control the parameters in the signal object, includes both instances of the widget "Graphics group element" of each parameter (up to 8 or 10) and the primitive "Diagram" to monitor the parameters' trends and browsing history, and also the scroll bar for fast navigation on allowed history of selected parameters for show. The variant in 10 trends is inherited from the base variant in 8 trends and you can create your own variants by inherit the base and append more graphics group elements.

Рис.3.1a. Кадр "Группа графиков" в режиме разработки.

Использование — разработка
Кадр предназначен для выполнения роли страницы-шаблона, а, следовательно, он должен непосредственно помещаться в дерево проекта. В проекте-шаблоне "Группы сигнализаций", для каждого объекта сигнализации, этот кадр включен в роли шаблона, что позволяет создавать на его основе множество страниц групп графиков. К каждому кадру могут подключаться до восьми-десяти параметров, путём установки связей. Графики, для которых не будут установлены связи, будут скрыты при исполнении или доступны для пользовательского выбора в случае наличия списка выборных параметров в атрибуте "Выбор: параметры доступные для выбора" (формат списка описан в диалоге выбора параметров).

Типичная глубина трендов в прошлое установлена в 10 минут — для текущего оперативного контроля, что, при необходимости, можно изменить непосредственно отредактировав соответствующее поле виджета диаграммы, например, для шаблонной страницы проекта, чтобы оно распространилось на все конечные страницы.

Использование — исполнение
В режиме исполнения отображаются графики, для которых установлены связи. Управление параметрами с элементов группы графиков детально описано в разделе виджета "Элемент группы графиков (ElViewGraph)". Дополнительно можно управлять свойствами отображения графиков, для чего автоматически с этой страницей открывается панель управления графиком, или необходимо левой клавишей мыши нажать в области графика.

The frame supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Рис.3.1b. Кадр "Группа графиков" в режиме исполнения.

Linking and configuring the attributes

Identifier | Name | Type | Configuration | Configuration template | Description
--- | --- | --- | --- | --- | ---
name | Name | String (translate) | Constant |  | Group name
allowSelLst | Select: parameters accessible to select | Text | No |  | Place here the parameters for selection by the user in a list of the DAQ-paths to them (for more details see the "Graph parameter selection" dialog):
    /LogicLev/proc/prm_CPU/prm_load
    /LogicLev/proc/prm_MEM/prm_use
    /LogicLev/proc/prm_CPU/prm_T
perUserSel | Select: save the selection per user | Boolean | No |  | Set to save the user selection separately
Element {n} from 1 to 8(10)
el{n} | List of the linking parameters corresponds to the list of the "Graphics group element (ElViewGraph)" widget

#### 3.1.1 Graphics group element (ElViewGraph) | 1.5 | GPLv2 | * | en, uk, ru | Roman Savochenko | 2000 ms

The element-widget shown in Figure 3.1.1 is provided to create graphics groups. The widget contains information about parameter, the regulator mode, if the parameter is such, the units of analog parameter, as well as the color corresponding to the parameter's trend. The widget commonly uses and represents the representative structure of the DAQ-templates "Analog signal" and "Discrete block".

Рис.3.1.1a. Виджет "Элемент группы графиков" в режиме разработки.

Using — development
Though this widget is not intended for independent use in isolation from the graphics groups, it can be used, for example, placing it to the mnemonic scheme and linking with the data source parameter.

Использование — исполнение
В режиме исполнения, в основном поле элемента, отображается название параметра, режим регулятора (только для регулятора), текущее значение-переменная и единица измерения этого параметра; которые, в зависимости от наличия нарушения, отображаются цветом стиля: labColorGood, labColorWarning, labColorAlarm. При аппаратных ошибках и недостоверности данных, последнее значение отображается серым цветом.

Except the available visual data, a number of control elements are provided:

- "Selection" — at pressing the left mouse button in the widget area, in the right side will appear the control panel, and the widget selection will be displayed by the border flashing.
- "Hide/Show" — double-clicking in the widget area toggles the show-hiding of the item's graph.
- "Context menu functions" — a number of functions are provided through the context menu:
  - "Passport" — getting the passport of the parameter, which will present all it properties.
  - "Hide/Show" — toggling the display or hiding of a graph of this element, similar to a double click.
  - "Show one" — single graph display of the selected parameter in its native scale by hiding the rest of the items in the group.
  - "Show all" — display all parameter graphs in the group.
  - "Calculating" — calling the calculating dialog above the visible data of the selected parameter.
  - "Select" — calling the selection dialog of the parameter from the list of ones available for selection — the attribute "Select: parameters accessible to select" of the owner cadre. This item is only available if a selection list is available. From the dialog the user can clear the parameter also and what for statically preset parameters means of return to the static parameter.

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

The widget supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent widget/page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Рис.3.1.1b. Виджет "Элемент группы графиков" в режиме исполнения.

Linking and configuring the attributes

Identifier | Name | Type | Configuration | Configuration template | Description
--- | --- | --- | --- | --- | ---
name | Name | String (translate) | Input link | Parameter|NAME | Parameter name-code, to display in the name field.
dscr | Description | Text (translate) | Input link | Parameter|DESCR | Parameter description, to place in the tooltip and statusbar.
addr | Address | Address | Input link | Parameter|var | Address to the parameter attribute for the trend building.
color | Graphic color | String | No |  | Working color of the trend
colorDef | Default color from the style | String | No |  | Default color of the trend on the cadre level
Analog parameters
ed | Dimension | String (translate) | Input link | Parameter|ed |
prec | Precision | Integer | Input link | Parameter|prec | Number signs after the dot, for positive values, and precision (signs in whole), for negative, to display the real end variable on the screen.
log | Logarithmic scale | Boolean | Input link | Parameter|log |
max | Maximum | Real | Input link | Parameter|max | Upper limit value of the parameter.
min | Minimum | Real | Input link | Parameter|min | Minimum limit values of the parameter.
aMax | Border up alarm | Real | Input link | Parameter|aMax |
aMin | Border down alarm | Real | Input link | Parameter|aMin |
wMax | Border up warning | Real | Input link | Parameter|wMax |
wMin | Border down warning | Real | Input link | Parameter|wMin |
pModeA | Regulator mode: auto | Boolean | Input link | Parameter|auto | The regulator mode "Automatic".
pModeC | Regulator mode: cascade | Boolean | Input link | Parameter|casc | The regulator mode "Cascade".
Discrete parameters
digComs | Digital: commands | String (translate) | Constant |  | Names and colors of the buttons of the commands are in the format {On}[-color]:{Off}[-color][:{Stop}[-color]]. Default colors are: green, red and yellow.
digStts | Digital: states | String (translate) | Constant |  | Names and colors of the labels of the states are in the format {On}[-color]:{Off}[-color]. Default colors are: green and red.
digRevers | Digital: reversion | Boolean | Constant |  | Discrete signal reverse.

#### 3.1.2 Выбор параметра графика (graphSelPrm) | 1.5 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент, представленный на рисунке 3.1.2, реализует диалог пользовательского выбора источников данных, часто архивных, для формирования графика в кадре "Группа графиков". Выбор предоставляется из перечня указанного в атрибуте "Выбор: параметры доступные для выбора (allowSelLst)", кадра-инициатора. Для выбранного источника можно указать имя, шкалу, логарифмичность, единицу измерения и цвет графика.

В атрибуте "Выбор: параметры доступные для выбора (allowSelLst)" должны помещаться источники данных в виде:

- {DAQ_Arh_addr}[:Name[:min:max[:dim]], где:
  - "DAQ_Arh_addr" — адрес параметра, при групповом связывании, или атрибута с данными из подсистемы "Сбор данных (DAQ)", а также адрес архива значений, например:
    - /LogicLev/gen/prm_F3 — адрес параметра "F3";
    - /DAQ/System/AutoDA/prm_CPULoad/load — адрес атрибута "load", параметра "CPULoad";
    - /Archive/va_LC21_1_var — адрес архива "LC21_1_var".
  - "Name" — имя источника, для отображения. При групповом связывании имя будет браться из атрибута "NAME".
  - "min", "max" — шкала отображения. При групповом связывании шкала будет браться из атрибута "min" и "max", соответственно. В случае отсутствия шкалы (min >= max) включится автоматический выбор шкалы.
  - "dim" — единица измерения параметра, для отображения. При групповом связывании будет браться из атрибута "ed".
- <varhs> — шаблон группового выбора, при указании которого в список выбора попадут все доступные в системе архивы.

Примеры содержимого атрибута "Выбор: параметры доступные для выбора (allowSelLst)":

    /System/AutoDA/prm_CPULoad/load:CPU Load:0:100:%
    /LogicLev/gen/prm_F3
    <varhs>

Рис.3.1.2. Кадр "Выбор параметра графика" в режиме разработки и исполнения.

Использование — разработка
Данный кадр должен быть помещен в логический контейнер панелей дерева проекта. В "Группах графиков", которые должны предоставлять возможность пользовательского выбора источника, должен быть определён атрибут "Выбор: параметры доступные для выбора (allowSelLst)", перечнем источников согласно правилам указанным выше. Как результат, в контекстном меню элемента графика появится пункт "Выбор".

Использование — исполнение
Вызов диалога осуществляется посредством пункта "Выбор", контекстного меню элемента графика. Диалогом пользователю предоставляется выбор источника данных из списка, а так-же указание основных его параметров: имя, шкала, логарифмичность, единица измерения и цвет графика, который вы также можете выбрать типичным/стилевым через очистку. При подтверждении, выбранные параметры применяются к элементу графика, заменяя ссылки. Выбор и подтверждение пункта "<Очистить>" приведёт к очистке всех ссылок и элемента графика. В текстовом поле под списком можно быстро найти нужный параметр.

#### 3.1.3 Вычисление параметра графика (graphCalc) | 1.0 | GPLv2 | * | en, uk, ru | Роман Савоченко

Элемент, представленный на рисунке 3.1.3, реализует диалог пользовательского вычисления параметра выбранного графика для видимых на графике данных. Пользователю предоставляется возможность выбрать вычисление из встроенной библиотеки, привилегированный пользователь ("root" или в группе "ITW") имеет возможность отредактировать или написать собственную процедуру вычисления.

В целом, встроенная библиотека, на данное врем, содержит следующие функции пользовательского вычисления:

- Сумма, на час.
- Среднее и диапазон.

Рис.3.1.3. Кадр "Вычисление параметра графика" в режиме разработки и исполнения.

Использование — разработка
Этот кадр должен быть размещён в логическом контейнере панелей дерева проекта.

Использование — исполнение
Вызов диалога осуществляется посредством пункта "Вычисление", контекстного меню элемента графика. Диалогом пользователю предоставляется выбор функции вычисления видимых данных выбранного параметра и возможность отредактировать-написать собственную функцию, для привилегированного пользователя. Результат вычисления помещается в соответствующем текстовом поле.

### 3.2 Группа контуров (grpCadr) | 1.3 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент-кадр, представленный на рисунке 3.2, служит для одновременного наблюдения и управления контурами нескольких параметров, до восьми, включает в себя как экземпляры виджета "Элемент кадр" для каждого контура, так и примитив "Диаграмма" для наблюдения за трендами контуров и просмотра истории.

Рис.3.2a. Кадр "Группа контуров" в режиме разработки.

Использование — разработка
Кадр предназначен для выполнения роли страницы-шаблона, а, следовательно, он должен непосредственно помещаться в дерево проекта. В проекте-шаблоне "Группы сигнализаций", для первого объекта сигнализации, этот кадр включен в роли шаблона, что позволяет создавать на его основе множество страниц групп контуров. К каждому кадру могут подключаться до восьми параметров, путём установки связей. Контура и графики, для которых не будут установлены связи, будут скрыты при исполнении.

Типичная глубина трендов в прошлое установлена в 10 минут — для текущего оперативного контроля, что, при необходимости, можно изменить непосредственно отредактировав соответствующее поле виджета диаграммы, например, для шаблонной страницы проекта, чтобы оно распространилось на все конечные страницы.

Использование — исполнение
В режиме исполнения отображаются контура и графики, для которых установлены связи. Управление параметрами с контуров детально описано в разделе панели "Элемент кадр". В дополнении к этому можно управлять свойствами отображения графиков, для чего необходимо левой клавишей мыши нажать в область графика и с помощью появившейся панели управления графиком осуществить необходимые действия.

The frame supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Рис.3.2b. Кадр "Группа контуров" в режиме исполнения.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
grpName | Имя группы | Строка | Постоянная |  | Имя группы
Элемент {n} от 1 до 8.
el{n} | Перечень связываемых атрибутов соответствует перечню панели "Элемент кадр (ElCadr)"

### 3.3 Группа обзорных кадров (ViewCadr) | 1.1 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент-кадр, представленный на рисунке 3.3, служит для отображения текущих трендов параметров в отдельных кадрах-виджетах количеством до 24 единиц (6x4), относительно которых поддерживается масштабирование в зависимости от их конфигурируемого количества. Кадры-виджеты трендов параметров реализуются сопутствующим виджетом "Кадр обзорной группы".

Рис.3.3a. Кадр "Группа обзорных кадров" в режиме разработки.

Использование — разработка
Кадр предназначен для выполнения роли страницы-шаблона, а, следовательно, он должен непосредственно помещаться в дерево проекта. В проекте-шаблоне "Группы сигнализаций", для первого объекта сигнализации, этот кадр включен в роли шаблона, что позволяет создавать на его основе множество страниц обзорных групп. К каждому кадру могут подключаться до 24 параметров, путём установки связей. Кадры-виджеты, для которых не будут установлены связи, будут скрыты при исполнении, и осуществлено пропорциональное масштабирование на отсутствующие полные строки и колонки с целью заполнения всего кадра.

Использование — исполнение
В режиме исполнения отображаются кадры-виджеты, для которых установлены связи. Управление параметрами с кадров-виджетов детально описано в разделе виджета "Кадр обзорной группы".

Рис.3.3b. Кадр "Группа обзорных кадров" в режиме исполнения.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
name | Имя | Строка | Постоянная |  | Имя кадра
Кадр-виджет {r}_{c}, где строки {r} от 1 до 4 и колонки {c} от 1 до 6.
el{r}_{c} | Перечень связываемых атрибутов соответствует перечню виджета "Кадр обзорной группы (ElViewCadr)"

#### 3.3.1 Кадр группы обзора (ElViewCadr) | 1.2 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент-виджет, представленный на рисунке 3.3.1, служит основой группы обзорных кадров и обычно не используется самостоятельно. Виджет отображает текстовую информацию о параметре в виде наименования и значения, а также тренд параметра за небольшой промежуток времени (2 минуты) для наблюдения за текущей тенденцией поведения параметра с авто-масштабированием по шкале значения. Виджет в целом использует и представляет представительскую структуру DAQ-шаблона "Аналоговый сигнал".

Рис.3.3.1. Виджет "Кадр группы обзора" в режиме разработки и исполнения (слева направо).

Использование — разработка
Хотя данный виджет не предназначен для самостоятельного использования, в отрыве от группы обзора, использовать его всё-же можно, например, поместив на мнемосхему и установив связь с параметром источника данных.

Использование — исполнение
В режиме исполнения, в основном поле елемента, отображается название параметра, текущее значение-переменная и тренд параметра; которые всегда отображаются цветом стиля: labColorGood.

В активном режиме элемента можно получить паспорт путём нажатия правой клавиши мыши на поле виджета. В паспорте будут представлены все свойства параметра. При нажатии левой клавишей мыши в области панелей появится панель управления параметром, а выбор данного виджета будет отображаться мигающей рамкой.

The widget supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent widget/page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
name | Имя | Строка | Входная связь | Parameter|NAME | Имя параметра (шифр) для отображения в поле имени.
addr | Адрес | Адрес | Входная связь | Parameter|var | Адрес к атрибуту значения параметра для построения тренда.
var | Переменная | Вещественный | Входная связь | Parameter|var | Непосредственно значение параметра для отображения в поле значения.

### 3.4 Сводные графики (ResultGraph) | 1.1 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент-кадр, представленный на рисунке 3.4, служит для отображения группы текущих трендов параметров (до 5) в отдельных кадрах-виджетах количеством до 16 единиц (4x4), относительно которых поддерживается масштабирование в зависимости от их конфигурируемого количества. Кадры-виджеты трендов параметров реализуются сопутствующим виджетом "Кадр сводных графиков".

Суммарно общее количество отображаемых графиков на одном кадре достигает 80 и он предназначен для формирования отдельного вида отображения, который применяется за объектами сигнализации — глобально по всему проекту визуализации.

Кадр не поддерживает никакого управления.

Рис.3.4a. Кадр "Сводные графики" в режиме разработки.

Использование — разработка
Кадр предназначен для выполнения роли страницы-шаблона, а, следовательно, он должен непосредственно помещаться в дерево проекта. В проекте-шаблоне "Группы сигнализаций", на уровне корневой страницы для него предусмотрено специальную виртуальную страницу "Сводные графики" с шаблоном сводных графиков, что позволяет создавать на его основе множество страниц сводных графиков. К каждому кадру могут подключаться до 80 параметров, путём установки связей. Кадры-виджеты, для которых не будет установлено ни одной связи, будут скрыты при исполнении, и осуществлено пропорциональное масштабирование на отсутствующие полные строки и колонки с целью заполнения всего кадра.

Использование — исполнение
В режиме исполнения отображаются кадры-виджеты, для которых установлены связи.

Рис.3.4b. Кадр "Сводные графики" в режиме исполнения.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
grpName | Имя группы | Строка | Постоянная |  | Имя группы
Кадр-виджет {n} от 1 до 16.
el{n} | Перечень связываемых атрибутов соответствует виджету "Кадр сводных графиков (ResultGraphEl)".

#### 3.4.1 Кадр сводных графиков (ResultGraphEl) | 1.2 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент-виджет, представленный на рисунке 3.4.1, служит основой сводных графиков и обычно не используется самостоятельно. Виджет отображает название группы и до пяти трендов, с их текстовыми метками, за фиксированный промежуток времени (10 минут) для наблюдения за текущей тенденцией поведения параметров. Виджет в целом использует и представляет представительскую структуру DAQ-шаблона "Аналоговый сигнал".

Рис.3.4.1. Виджет "Кадр сводных графиков" в режиме разработки и исполнения (слева направо).

Использование — разработка
Хотя данный виджет не предназначен для самостоятельного использования, в отрыве от сводных графиков, использовать его всё-же можно, например, поместив на мнемосхему и установив связь с параметром источника данных.

Использование — исполнение
В режиме исполнения, в основном поле элемента, отображается заголовок группы, заголовки и тренды параметров в определённых конфигурацией или стилем цветах.

The widget supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent widget/page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
title | Заголовок | Строка | Постоянная |  | Отображается сверху графика, при отсутствии поле графика расширится вверх.
Параметр {n} от 1 до 5.
p1_addr | Параметр{n}: адрес | Адрес | Входная связь | Parameter {n}|var | Адрес к атрибуту значения параметра для построения графика {n}.
p{n}_clr | Параметр{n}: цвет | Цвет | Из стиля | labColorGrph{n} |
p{n}_max | Параметр{n}: максимум | Вещественный | Входная связь | Parameter {n}|max | Максимальная граница графика.
p{n}_min | Параметр{n}: минимум | Вещественный | Входная связь | Parameter {n}|min | Минимальная граница графика.
p{n}_name | Параметр{n}: имя | Строка | Входная связь | Parameter {n}|NAME | Короткое имя параметра для отображения в поле слева.

### 3.5 Панель настройки регулятора (cntrRegul) | 1.2 | GPLv2 | * | en, uk, ru | Роман Савоченко

Элемент-кадр, представленный на рисунке 3.5, служит для настройки ПИД-регулятора, включает в себя информацию о параметре-регуляторе, поля настроек регулятора и примитив "Диаграмма", для наблюдения за трендами регулятора и просмотра истории. Кадр в целом использует и представляет представительскую структуру DAQ-шаблона аналогового и импульсного ПИД-регуляторов.

- Спонсировано: ООО "ДІЯ"

Рис.3.5a. Кадр "Панель настройки регулятора" в режиме разработки.

Использование — разработка
Кадр может использоваться как в роли панели, вызываемой из панели управления параметрами, так и в роли страницы-шаблона. Кадр должен непосредственно помещаться в дерево проекта, а именно в контейнер панелей, где будет осуществляться динамическое связывание на параметр регулятора. Для создания статического перечня контуров настроек регуляторов, с возможностью последующего листания по ним, необходимо поместить их в контейнер контуров регуляторов "greg" каждого объекта сигнализации и статически связать с соответствующим параметром, а также обеспечить равенство идентификатора панели и связанного параметра.

Типичная глубина трендов в прошлое установлена в 20 минут — для текущего оперативного контроля, что, при необходимости, можно изменить непосредственно отредактировав соответствующее поле виджета диаграммы.

Использование — исполнение
В режиме исполнения отображается:

- имя параметра регулятора;
- поле со свойствами регулятора в составе: идентификатор, имя, описание, единица измерения, задание, переменная, выход, шкала и режим;
- коэффициенты настройки регулятора: Кп, Ки, Ти, Кд, Тд, Тзд, Зн, Н1, Н2, К1, К2, К3, К4, ТпИ, ТмИ и Rфкт;
- область графика с отображением графиков: переменной (зелёный, стиль "labColorGrph4"), задания (синий, стиль "labColorGrph3"), выход аналоговый (голубой, стиль "labColorGrph5"), режим регулятора "Автомат" (магента, стиль "labColorGrph7") и дискретные выходы импульсного регулятора (оранжевый, стиль "labColorGrph2").

Пользователь имеет возможность изменить коэффициенты ПИД-регулятора, режим, задание, выход и сразу-же увидеть реакцию на графике. Кроме этого, пользователь может изучить историю работы регулятора, для чего необходимо левой клавишей мыши нажать в область графика и, с помощью появившейся панели управления графиком, осуществить необходимые действия навигации. Для возврата панели параметра регулятора необходимо левой клавишей мыши нажать в свободную область данного кадра.

Рис.3.5b. Кадр "Панель настройки регулятора" в режиме исполнения.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
SHIFR | Параметр: шифр | Строка | Входная связь | Parameter|SHIFR |
NAME | Параметр: шифр | Строка | Входная связь | Parameter|NAME |
DESCR | Параметр: описание | Строка | Входная связь | Parameter|DESCR |
max | Параметр: максимум шкалы | Вещественный | Входная связь | Parameter|max |
min | Параметр: минимум шкалы | Вещественный | Входная связь | Parameter|min |
ed | Параметр: единица измерения | Строка | Входная связь | Parameter|ed |
prec | Параметр: точность | Целый | Входная связь | Parameter|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 |
Импульсный ПИД-регулятор
impQdwn_addr | Параметр: адрес выхода импульса вниз | Адрес | Входная связь | Parameter|impQdwn | Адрес для построения графика импульсного выхода "Вниз".
impQup_addr | Параметр: адрес выхода импульса вверх | Адрес | Входная связь | Parameter|impQup | Адрес для построения графика импульсного выхода "Вверх".
KImpRfact | Параметр: рейтинг фактор | Вещественный | Полная связь | Parameter|KImpRfact | Асимметрия в генерации ширины импульса вверх и вниз.
TImpMin | Параметр: минимальное время импульса | Целый | Полная связь | Parameter|TImpMin | Генерируются импульсы начиная с указанной ширины.
TImpPer | Параметр: период повторения импульсов | Целый | Полная связь | Parameter|TImpPer | Периодичность повторения генерации импульса.

### 3.6 Нарушение — состояние (alarmsSt) | 1.5 | GPLv2 | * | en, uk, ru | Роман Савоченко

Элемент-кадр на рисунке 3.6 служит для отображения истории нарушений и динамического их обновление для текущего времени в полноформатном табличном виде, с выделением их цветом и текстом и возможностью многоуровневого фильтрования. Нарушения получаются из буфера текущих-активных сообщений OpenSCADA и архива(ов), определённого конфигурационным полем "alArch". Фактически элемент реализует функции примитива "Протокол" для нарушений и с расширением возможностей.

В целом кадр содержит элементы:

- таблица сообщений — основное поле;
- кнопка массового подтверждения — вверху слева;
- комбобокс выбора правила сортирования уровня модели данных, предусматривает сортировку по выбранной колонке из перечня определённых в colms и по умолчанию это время, как второй критерий, (последнее вверху) — следующий вверху слева;
- панель навигации по истории-архиву сообщений — вверху в центре и справа, в составе:
  - времени вершины данных;
  - размера — глубины запроса данных;
  - кнопок быстрого перелистывания — на один или пять интервалов-глубин вперед и назад и в текущее время;
  - кнопка быстрого перехода к следующей части большого интервала запроса, разделённого по лимиту на количество сообщений в таблице — для очень плотной-активной генерации сообщений;
  - кнопка вызова-формирования отчётного документа для текущих данных таблицы.
- элементы пятиуровневого фильтра с отображением элементов следующего уровня по активации последнего, путём выбора колонки из перечня определённых в colms — вверху после предыдущего.

Согласно объявленному перечню элементов контроля, сортировка сообщений может меняться пользователем, как путём встроенного механизма сортировки колонок отдельно взятого визуализатора, так и на уровне модели данных, если визуализатором такой функции не предусмотрено. Учитывая основное назначение кадра — состояние нарушений (т.е. история), типовым правилом сортировки является "последние" для сообщений сверху.

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

Основным пользовательским расширением является возможность определения видимых полей таблицы из перечня вариантов:

- atm — время возникновения нарушения;
- qttm — время подтверждения нарушения;
- nrmtm — время перехода-возврата нарушения в состояние "НОРМА";
- lev — уровень нарушения;
- type — тип-название нарушения из уровня lev и атрибута "types";
- cat — категория нарушения;
- mess — полный и неразобранный текст сообщения нарушения;
- prm — адрес DAQ-параметра источника нарушения;
- dscr — описание нарушения из DAQ-параметра источника;
- dscrCust{N} — описание пользовательского поля N;
- alrm — текст нарушения;
- cmnt — комментарий к нарушению.

Этот кадр и его поля в целом представляют структуру сообщения нарушения, которая детально описана в руководстве пользователя.

Как можно видеть из перечня возможных полей таблицы, этот элемент поддерживает механизм подтверждения, комментирования и пользовательские поля.

- Спонсирование: Устьянцев Михаил
- Спонсировано, добавление нового пользовательского поля "Тип" на 0.2 ЧД[!]: INSERTEC LTDA

Рис.3.6a. Кадр "Нарушение — состояние" в режиме разработки.

Использование — разработка
Виджет предназначен для выполнения роли страницы, а, соответственно, он должен непосредственно располагаться в дереве проекта. После добавления, для кадра нужно отредактировать свойства вроде перечня и последовательности отображаемых полей таблицы.

Поскольку кадр предусматривает отображение состояния и истории нарушений, то создание и использование архиватора сообщений является обязательным. Поэтому создайте или используйте шаблонный архиватор стартового проекта "Нарушения (alarms)" с опциями исключения дублирования, и укажите его (FSArch.alarms) в свойстве кадра "alArch".

Комбобокс выбора правила сортировки по умолчанию выключен из соображений использования встроенной функции сортирования по колонке таблицы соответствующего визуализатора. Если такая функция визуализатором не предоставляется то включите этот комбобокс.

Если нужно выключить функцию подтверждения то вы должны исключить время подтверждения "qttm" из перечня полей и установить элемент таблицы неактивным.

Построение отчёта от текущих данных в таблице также, по умолчанию, выключено. Для включения вы должны разместить кадр отчёта нарушений в логическом контейнере панелей дерева проекта, а затем включить характерную кнопку генерации отчётов в правом верхнем углу этого кадра.

Использование — исполнение
В режиме исполнения строится таблица из перечня активных нарушений, для текущего времени, и нарушений из истории по определённым полям, с контролем и отметкой активности и правилом выделения; содержимое которой периодически и динамически обновляется для текущего времени.

Определить промежуток времени данных в таблице пользователь может с помощью панели навигации, указав вершину и глубину необходимых данных. В процессе запроса очень плотных промежутков данных читаться будет только указанное в свойстве messLim количество сообщений и для перехода к следующему куску пользователь может воспользоваться кнопкой за панелью навигации, которая появится в таком случае.

Полученные в таблице данные можно отфильтровать по содержимому соответственно выбранной колонки, что можно осуществить на до пяти уровнях, элементы фильтрования которых будут появляться при выборе последнего уровня фильтрования.

Пользователю предоставляется возможность подтвердить нарушения, изменив значение поля времени подтверждения или с помощью панели управления, которая выплывет при выборе элемента таблицы и строки нарушения. Также пользователь может подтвердить все активные нарушения, нажав кнопку массового подтверждения.

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

Ещё пользователь может оставить комментарий к нарушению, откорректировав соответствующее поле таблицы.

Для генерации отдельного отчёта пользователь может нажать характерную кнопку в правом верхнем углу, если такая функцию включена.

Рис.3.6b. Кадр "Нарушение — состояние" в режиме исполнения.

Linking and configuring the attributes

Identifier | Name | Type | Description
--- | --- | --- | ---
messCat | Message category | String | Category of the processing messages, typically it is "al*:*".
messLim | Messages limit, quantity | Integer | Maximum quantity of the messages in the table, typically it is 1000.
alArch | Alarms archiver, "{ArhMod}.{Arh}" | String | An archiver from which the violations will be taken, empty for all ones.
alarms.active | Active | Boolean | Turn off if there disabled confirmation, focus gaining and editing in general — purely displaying.
hHdrVis | Show header: horizontal | Boolean |
vHdrVis | Show header: vertical | Boolean |
formDtTm | Data and time format (%Y-%m-%d %H.%M.%S[.%MS,%US]) | String | Format of displaying the time of violation and confirmation.
colms | Columns List separated by ',' from the variants: atm, qttm, nrmtm, lev, type, cat, mess, prm, dscr, dscrCust{N}, alrm, cmnt. | String | Determine in the desired sequence and the fields filling.
highLght | Highlight rules Rows in the form "{lev}[{slev}]{quitt}{act}:{color}:{font}:{fontColor}". | Text | Highlight rules, where: lev — main level of the message [0...7]; slev — sub-level of the message [0...9], optional; quitt — sign of the message confirmation [0|1]; act — sign of the message activity [0|1]; color — background color of the message row; font — text font of the message row; fontColor — text color of the message row. To example:
    #<SnthHgl font="monospace">
    # <rule expr="^#[^\n]*" color="gray" font_italic="1"/>
    # <rule expr="^[0-9]*" color="blue">
    #  <rule expr="[01]{2}$" color="red">
    #   <rule expr="[01]$" color="darkorange"/>
    #  </rule>
    # </rule>
    # <rule expr="(?<=:).*">
    #  <rule expr="[^:]*" font_weight="1"/>
    #  <rule expr="(?<=:).*" font_italic="1"/>
    # </rule>
    #</SnthHgl>
    501:gray
    401:red
    1501:yellow
    511:gray:Arial 11 0 1
    411:red:Arial 11 0 1
    1511:yellow:Arial 11 0 1
colDscrCustNames | Перечень наименований пользовательских полей, поделённых ';' | Строка (перевод) | При поддержке пользовательских полей, и их видимости, тут приводятся их наименования.
types | Перечень типов по уровню от 0, разделены ';' | Строка (перевод) | Типы-названия нарушений за их уровнем, типично "Отладка;Информ.;Отметка;Предупр.;Ошибка;Критически;Тревога;Авария".

#### 3.6.1 Report (alarmsStReport) | 1.0 | GPLv2 | * | en, uk, ru | Roman Savochenko

The element-frame, shown in Figure 3.6.1, implements a dialog to display a report document based on a list of violations received from the full-format frame of presenting the violations history.

Основным назначением и функцией этого кадра является предоставление возможности распечатать таблицу истории нарушений и экспортировать из неё данные.

- Спонсирование: Устьянцев Михаил

Рис.3.6.1. Кадр "Нарушения — отчёт".

Использование — разработка
Этот кадр должен быть размещён в логическом контейнере панелей дерева проекта.

Использование — исполнение
Вызов диалога осуществляется посредством характерной кнопки, вверху справа, кадра полноформатного представления истории нарушений. Диалогом предоставляется текст отчётного документа и кнопка, внизу справа, для его закрытия.

### 3.7 Менеджер пользователей (userManager) | 1.7 | GPLv2 | * | en, uk, ru | Roman Savochenko | -2 ms (disabled)

The element-frame, shown in Figure 3.7, serves to control users from the user interface itself. That is, typically this feature is provided to the SCADA programmer at the Security subsystem configuration, but sometimes there is a need to provide this capability from the user interface and with a few restrictions on controlled users and their groups that this frame performs and generally provides:

- forming a list of controlled users;
- the ability to view and change user information for: name, full name, description, password and groups;
- adding new and deleting existing users;
- the possibility to edit the unprivileged user own information and password.

- Спонсирование: Винницкая Птицефабрика

Рис.3.7a. Кадр "Менеджер пользователей" в режиме разработки.

Использование — разработка
Виджет предназначен для выполнения роли страницы, а, следовательно, он должен непосредственно помещаться в дерево проекта. Дополнительно, Вы должны поместить диалог приёмки в директорию панелей проекта и необходимо осуществить некоторую конфигурацию атрибутов, ниже, где никаких связей не предусмотрено.

Использование — исполнение
В режиме исполнения формируется перечень с доступными пользователями, при выборе которых справа предоставляется информация про них, и которую можно изменить. Пользователя можно добавить и удалить соответствующими командами интерфейса под перечнем пользователей.

Рис.3.7b. Кадр "Менеджер пользователей" в режиме исполнения.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Описание
--- | --- | --- | ---
owner | Владелец | Строка | Владелец и группа кадра, которые имеют к нему доступ, типично "root:Security" — для предоставления доступа к кадру нужно пользователя включить в группу "Security".
perm | Доступ | Выбор целых чисел | Правила доступа к кадру, типично "RWRW__" — кадр видимый и контролируемый только для пользователя "root" и пользователей в группе "Security".
denyUsers | Запрещённые для редактирования: пользователи, разделённые ';' Строка | Перечень запрещённых для контроля пользователей, типично "root;".
denyGroups | Запрещённые для редактирования: группы, разделённые ';' | Строка | Перечень запрещённых для контроля групп, типично "root;users;Archive;BD;DAQ;ModSched;Protocol;Security;Special;Transport;UI;".
newUseGrps | Группы новосозданного пользователя | Строка | Группы в которые включать пользователя автоматически после создания, типично "UI;Guest".
storeDB | БД хранения новых пользователей | Строка | БД хранения новосозданных пользователей, типично — рабочая.

### 3.8 Storehouse (storeHouse) | 2.3 | GPLv2 | * | en, uk | Roman Savochenko | -1 ms (parent)

The element-frame, shown in Figure 3.8, serves to manage of storehouses on different classes-categories of the storing-managing things. Initially that was developed and tested on the class "Library". The frame means of the direct accessing the DB by SQL and currently supports only MySQL/MariaDB.

During the frame implementing, the view "Table" of the primitive "FormEl" significantly expanded on both visualizers, also as other OpenSCADA parts:

    - VCAEngine,QTStarter,Vision,WebVision: Appended by the new cell type 't'-text mostly for allowing the edition confirming the type 's'-string by pressing Enter.
    - VCAEngine,Vision,WebVision: Appended of the column, row and cell space option "prec" of the real value precision control; and by the column and cell attribute "align" implementation.
    - WebVision,Vision: Appended for switching the tables in preventing of double storing the source content at the content size more for 10000.
    - FIX:Vision: Using the common table delegate with the feature of multiline edition.
      - Improved in the columns, rows and cells show at the table updation and commonly:
        - in limiting the visual size of the cell content in 300 symbols and the rows height in 70% from the whole table size;
        - more precision columns width alignment;
        - in fitting at the development mode and also at the vertical header show;
        - in the table close filling by consideration the visible vertical scrollbar size;
        - in fitting after the table whole resizing only, so allow the columns resizing manually also and to provide that true fitting always.
      - Implemented for the light processing of the width changing and updating:
        - light edition without the columns refitting all updating time, only at: first row appearing, columns count change and the column title change, font change and resize;
        - apply the column force width and the row height calculation with limits independently from the common attribute "colsWdthFit" value;
        - setting the value, early resizing and the table fitting, moved to the space of the table content presence and after the sorting.
      - The export function in runtime append of export the view Table of the primitive "FormEl" in CSV.
    - WebVision:
      - Improved in the columns, rows and cells show at the table updating and commonly:
        - the not fitting mode (the attribute "colsWdthFit" missing) implementation, using the automatic table layout mode for calculation the fixed widths and next switching to the fixed table layout mode;
        - multiline text edition of the text cells in whole width and height of the cell, with the edition apply by Ctrl+Enter;
        - view limiting the string cells in 300 symbols;
        - display the boolean cells as an image at the TRUE state;
        - table cells in the editing mode allowed for the system-browser context menu.
      - Implemented for the light processing of the width changing and updating:
        - the table changes detection and updating switched to the mode of not storing double source content;
        - prevented from the complete updating at the attribute "value" modification.
      - Appended for the sorting support by columns. Set to the first visible column for sorting at the sorting enable.

    - VCAEngine: Appending of the not processed events sending to a page who opened the source page.
    - JavaLikeCalc: Implementing the "var" statement for true scope processing, that is defining new variables in functions with the statement and using global ones without.

The frame provides currently and in future for next features:

- Class edition mode: observing, creation and edition the storehouse classes with a function of storing data at the field type change.
- Main data observing and edition mode:
  - observing main data of the selected or fixed storehouse classes in a big table with possibility of sorting and filtering by up to five columns;
  - editing of content of the table cells in the edition mode;
  - adding, copying and removing of records-rows of the table in the edition mode;
  - generation of the report document of the selected item, which is ready to print and convenient in complete observing;
  - generation of the report document of the main table with accounting the filter settings and natural show the specific fields;
  - detailed control panel-form of the selected item with the specific fields;
  - fast control and accessing data of the complex fields through the dynamic Control Panel based on the Terminator frame.

The storehouse classes are stored in the table "classes" with the fixed table structure "CLASS, ID, NAME, TP , TBL, FILTER, PROC", where:

- CLASS [varchar(20)] — class ID;
- ID [varchar(20)] — specific field ID of the class;
- NAME [text] — specific field localised name of the class, where the first line for the default value and the next lines form in the view {2SymbolLang}:{LocalizedText};
- TP [varchar(100)] — specific field type of the class, which correspond directly to the MySQL data types and some specific ones:

  - "file[:{max}[:{storage}[:{MIME}[:{OverViewSz}]]]]" — attaching files with the parameters:
    - max — maximum files allowed to attach;
    - storage — storage of the files on the File System with the specified path, and empty to store directly in the DB field of the type LONGTEXT;
    - MIME — files type, allowed to attach-load, where empty for any and like to "image/*" for only images;
    - OverViewSz — enable a field of the image files overview on the item form with the specified size in pixels.

- TBL [varchar(100)] — specific field properties of representing data in the table, has the format {align}:{width}:{pos}, where:

  - align — column alignment, supports the values: "left", "center", "right"; where the "left" value is default one for strings and "center" for other;
  - width — forced width for the column, in percents at symbol "%" in the end or in pixels;
  - pos — the column position in the string view, so you can write that like to "005" for true sort.

- FILTER [text] — specific field properties of filtering and indexing lists preparing for the filter selection, for the variants: index and list{SepSymb}, where:

  - index — the column value means as whole one for indexing;
  - list{SepSymb} — the column value means as a list of items for indexing, separated by symbol SepSymb.
  From the second line you can specify rules of the highlighting in the form "{ID}:{FLGS}:{color}:{font}", where:
  - ID — indexed or listed value in the cell;
  - FLGS — flags list in values [0|1], currently that is only "Highlight [Cell|Row]";
  - color — the background color;
  - font — the text font.

- PROC [text] — a procedure of calculation the cell value on the internal language JavaLikeCalc.JavaScript of OpenSCADA, the column is become the logical one; cells of the logical columns aren't accessible for the manual edition; all cells of the record-row are accessed in the procedure as them IDs, including the calculated one which you have to assign in some value; you can use that feature also as a temporary one, that is install a procedure for calculation and next clean up that;

  Setting here a procedure will clean up (set to NULL) all the column cells!

Data of storehouse of the corresponded class stores in different table with name "sh_{CLASS}" and the structure "ID, NAME, DSCR, SP_{ID}1, ..., SP_{ID}N", where:

- ID [INT] — automatic index of the table, allowed for change the visibility;
- NAME [varchar(200)] — name of the item, allowed for change the type;
- DSCR [text] — description of the item;
- SP_{ID}X — specific field of the class corresponding to ID in the class table.

For the special means there in the table "classes" reserved and forcibly created fields "*TITLE" for the whole storehouse localised name and "*NAME", "*DSCR" which control the corresponded fixed fields.

Fig.3.8a. The "Storehouse" frame in the development mode.

Using — development
The widget is designed to perform the role of a page, and should therefore be placed directly in the project's tree. Additionally, into the panels folder of the project, you need to place the accepting dialog frame and some attribute configuration is required, below, where no links are provided.

To enable the reporting, you have to place the frame of alarms reporting in the logical container of panels of the project tree.

Using — runtime
In the runtime mode you will see a single big table for class (Fig.3.8b) and data (Fig.3.8c) representing with edition right in the table, on the control panel or in the item edition form (Fig.3.8d).

In the main class data representing mode the users can observe the table, filter and sort the representing data at the specified fields.

In the main class data edition mode the users, allowed to edit, can add, copy, remove the rows/records and edit the fields.

In the class edition mode, the users, allowed to edit, can add new and remove present (after removing the last item) classes; and add, remove the specific class fields and edit properties of that fields.

For user access limitation there provided now only a mechanism of including the allowed for the class and data edition users to the group "ITW".

To generate a separate report, the user can click a characteristic button in the top right corner.

The frame supports now of working with very big "Periodic processing" value and that value is set now to from parent (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Fig.3.8b. The "Storehouse" frame in the runtime mode at the class representing.
Fig.3.8c. The "Storehouse" frame in the runtime mode at the data representing with the control panel.
Fig.3.8d. The "Storehouse" frame in the runtime mode at the item edition form.

Linking and configuring the attributes

Identifier | Name | Type | Description
--- | --- | --- | ---
class | Class: initial | String | Forced/initial class for first opening.
classEditable (Constant) | Class: editable | Boolean | Flag of allowing for the class edition.
classFix (Constant) | Class: fixed | String | The fixed class for which the frame performed only, denying access for other classes.
dataEditable (Constant) | Data: editable | Boolean | Flag of allowing for the main data edition.
db (Constant) | DB: Data base | String | Database of the classes and data in the view {Type}.{DB}.

### 3.9 Dynamic frame (dynFrame) | 1.2 | GPLv2 | * | en, uk | Roman Savochenko | -1 ms (parent)

The element-frame, shown in Figure 3.9, serves to form frames in runtime whether by the user or automatically, and it is initially created to represent data of the initiative connections.

During the frame implementing there significantly expanded some OpenSCADA parts:

- VCAEngine, Vision, WebVision: allowing of frame's geometry tracing and adjusting-expanding the content to its real size;
- Vision: fixing in processing small scale and unexpected apply events in LineEdit.

The frame provides currently and in future for next features:

- specifying sources as fixed or selectable; also as relinking changed sources of the same type and tracing their appearance/disappearance with automatic placing;
- specifying visual items in a XML-Tree with the possibility to configure all interface here or manually from the running interface;
- providing a hiding table of the sources and the dynamically formed control panel for adding/removing visual items per source with control their parameters: position, geometry, constants;
- providing visual items without sources, as constants-static, and setting attributes directly;
- enabling the archiving locally and remotely for DAQGate.

XML-Tree of the visual elements allowed to place in the root node, placed visual items in the visual elements and sources with constants in the visual items.

    <vEls>
      <el id='Main.anShow' wId="aShw" geom="100-1:40-1"
          lnkAttrs='pVal-var'
          constAttrs='pName-;pPrec-;pErr-;pDscr-;pModeA-;pModeC-;spName;redEVAL'>
        <it id='aShw_1' geom="100:40" pos="0:0">
          <src id="LogicLev.gen.prm_F3" />
          <const id="pName" isLnk="1" lnk="prm:/LogicLev/gen/F3/NAME (+)">Test</const>
        </it>
      </el>
      <el id="Main.TextLab" wId="txtLb" geom="60-1:22-1"
          lnkAttrs="st_open;st_close;st_text;com;close;com_text"
          constAttrs="digStts-;digComs-;NAME-;err-;DESCR-">
        <it id="txtLb_1" geom="100:22" pos="10:10">
          <src id="LogicLev.gen.prm_BC6close" sAttr="a_st_open" vAttr="st_open" />
          <src id="LogicLev.gen.prm_BC6close" sAttr="a_st_close" vAttr="st_close" />
        </it>
      </el>
      <el id="originals.Text" wId="txt" geom="100:20" preset="color=red;" resize="1"
          constAttrs="*text;*alignment;*font;*color;*orient">
        <it id="txt_2" geom="100:20" pos="0:50">
          <const id="*text" isLnk="0">Text label</const>
          <const id="*color" isLnk="0">blue</const>
        </it>
      </el>
    </vEls>

Where:

- id — identifier;
- wId — widget identifier base;
- geom — typical geometry with scale or for concrete visual item;
- lnkAttrs — list of the generic attributes through ';' for linking as data source in the form "{vis}[-{src}]":
  - vis — ID of the visual attribute;
  - src — ID of the source attribute, it is the same as visual one at missing;
- constAttrs — list of the additional attributes through ';' for specifying manually in the form "{vis}[-[{src}]]";
  - src — ID of the source attribute, it is the same as visual one at missing and that is a constant at missing even the symbol -, it is spare here and pointed only for its storing for lnkAttrs.
- pos — position of the visual item;
- isLnk — the link sign;
- lnk — link value for restoring;
- sAttr, vAttr — source and visual attributes of linking.

The default XML-Tree stored in the "visualEls" attribute and can be appended by the user for needed elements or restricted only needed by removing unnecessary ones.

After edition during running the "visualEls" attribute appended and stored in the session for using at next start.

Fig.3.9a. The "Dynamic frame" in the development mode.

Using — development
The widget is designed to perform the role of a page, and should therefore be placed directly in the project's tree.

Using — runtime
In the runtime mode you will see content dependent from the mode:

- at default "Visual elements (visualEls)" and first start you'll see nothing except title, combobox of selection the source and the button of call the sources table;
- at "Visual elements (visualEls)" with preset items and correct sources you'll see those items.

And both of the modes can be configured to show title, combobox of selection the source, the source table and the correspond control panel (Fig.3.9b), where you can add/remove items linked to a source and set parameters for them.

For user access limitation there provided now only a mechanism of including the allowed for edition users to the group "ITW".

Fig.3.9b. The "Dynamic frame" in the runtime mode.

Linking and configuring the attributes

Identifier | Name | Type | Description
--- | --- | --- | ---
srcDAQ | Source DAQ In the format "{type}.{cntr}[;{type}.{cntr}]", where: - type: DAQ type, as LogicLev, DAQGate, ...; - cntr: controller ID strictly or by RE as "/{RE}/". | String | Sources for representing on this frame with their selection for not fixed mode.
srcFIX | Fixed source(s) | Boolean | The fixed sources are appended all to the sources table and without a possibility to select ones by the user.
titleFIX | Fixed title | String | The fixed title without changing with changing the source.
visualEls | Visual elements | Text | XML-Tree of the visual elements and their preset items, which are saved in the session after edition in runtime.
btEdit > en | Enabled | Boolean | Enabling(default)/disabling a button of call the source table for editing.
srcTitle > en | Enabled | Boolean | Enabling(default)/disabling the source title.

## 4 Панели управления и простые диалоги

Содержит элементы-кадры панелей управления и простых диалогов, которые сложно или не нужно реализовывать в виде панелей. Эти кадры предназначены для размещения в соответствующей директории панелей дерева проекта, построенного согласно концепции объектов сигнализации корневой страницы "RootPgSo". Кадры в основном не предназначены для использования отдельно, поскольку часто репрезентуют специфику данных к которым предоставляют элементы управления или расширенную информацию, а соответственно должны использоваться вместе с ними, кроме случаев унификации, обобщения и расширения контроля примитивами!

Эти элементы в основном открываются динамически, при вызове из элемента-виджета первичного представления, осуществляя при этом динамическое связывание связей панели в группе "<page>" с виджетом (часто страницей), который вызывает эту панель. Дальнейшая работа, до закрытия, осуществляется с данными виджета, который вызывал.

### 4.1 Терминальная панель (terminator) | 1.1 | GPLv2 | * | en, uk, ru | Роман Савоченко

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

Рис.4.1. Элемент панели "Терминальная панель".

Использование — разработка
Данный элемент должен быть размещён в логическом контейнере панелей дерева проекта.

Использование — исполнение
Вызов панели осуществляется из главной страницы "RootPgSo" при смене объекта сигнализации или вида отображения.

### 4.2 Элемент кадр (ElCadr) | 1.4 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент, представленный на рисунках 4.2, фактически является универсальной панелью управления и расширенного контроля различными устройствами по всем известным и определённым представительским структурам базовых данных систем управления по DAQ-шаблонам:

- аналоговые: аналоговый сигнал, ручной ввод аналогового сигнала, ПИД-регулятор (аналоговый и импульсный);
- дискретные сборки: клапаны, отсекатели, задвижки, двигатели, вентиляторы и различные переключатели;
- произвольные дискретные состояния.

В первичной функции панели — расширенное и общее управление, этот элемент вызывается из:

- виджетов первичного представления данных этой библиотеки: "Отображение аналогового", "Отображение аналогового 1", "Текстовая метка", "Метка изображением";
- основных кадров: "Группа графиков", "Группа обзорных кадров", "Панель настройки регулятора".

Если использование этого элемента в качестве панели управления не является обязательным, в первую очередь в виджетах первичного представления и через их специализацию на отдельных типах данных, для которых можно создать отдельную панель. То благодаря высокой универсальности, через поддержку всех известных репрезентативных структур DAQ-шаблонов, её обязательно использовать в основных кадрах, как это сделано в кадре "Группа контуров".

Рис.4.2a. Виджет "Элемент кадр" в режиме разработки.

Использование — разработка
Панель не предусматривает специальной конфигурации пользователем, она должна лишь быть размещена в каталоге панелей дерева проекта концепции объектов сигнализации корневой страницы "RootPgSo", что будет предусматривать её динамический вызов и открытие в контейнере панелей управлений корневой страницы.

Идентификатор панели, при размещении, должен сохраняться и строка её вызова, при получении фокуса, в атрибуте обработки событий "evProc" первичного виджета приобретёт вид "ws_FocusIn::open:/pg_control/pg_ElCadr".

Использование — исполнение
Показания аналогового параметра — в этом режиме нет никакого управления, а осуществляется только отображение единицы измерения, значения, гистограммы значения и наименования параметра.

Ручной ввод аналогового параметра — кроме отображения показаний аналогового параметра отображаются кнопки ввода нового значения. Ввод значения отображается в поле значения сверху, в подсвеченном прямоугольнике. Для подтверждения правильности ввода необходимо нажать левой клавишей мыши в область подсвеченного прямоугольника, без чего набранное значение будет сброшено через несколько секунд.

Режим ПИД-регулятора — к значению переменной и её гистограмме добавляются значения и гистограммы задания и выхода ПИД-регулятора, кнопки для ввода нового значения, задания или выхода, а также кнопки установки режима регулятора и поле отображения текущего режима. Также, для пользователя с соответствующими правами ("root:ITW"), доступна кнопка перехода к кадру настройки коэффициентов ПИД-регулятора. В случае с импульсным ПИД-регулятором вместо гистограммы аналогового выхода отображаются треугольники состояния импульсного выхода "Вверх" и "Вниз", а ручной ввод выхода приводит к прямому формированию импульса, соответственно вниз или вверх.

Режим дискретного устройства — в этом режиме осуществляется отображение наименования и поле дискретной сборки параметра. Поле дискретной сборки содержит текущее состояние дискретного устройства, слева, и кнопки возможных команд устройству, справа. Предусмотрено два состояния устройства: "Открыт", "Закрыт" и три команды: "Открыть", "Закрыть", "Стоп". Наименования состояний и команд могут быть установлены при настройке. Смена состояния дискретного устройства определяется нажатием на кнопку соответствующей команды. В режиме прямых дискретных состояний формируется комбобокс из перечня элементов из digComs, текущим состоянием из st_text и отправкой команд в com_text.

Каждое действие на этой панели управления (смена задания ПИД-регулятора, изменение состояния дискретного параметра, ...) регистрируется в журнале (протоколе) вмешательств, посредством генерации соответствующих сообщений согласно структуре сообщений действий оператора.

Для каждого отображаемого или управляемого параметра можно получить паспорт, путём нажатия правой клавиши мыши на поле контура. В паспорте будут представлены все свойства параметра.

The frame supports now of working with very big "Periodic processing" value and that value is set now to inherit from parent page/session (the value -1). That is possible by a mechanism of the events early processing and the possibility of control the processing periodicity from the procedure.

Рис.4.2b. Виджет "Элемент кадр" в режиме исполнения.

Linking and configuring the attributes

Identifier | Name | Type | Configuration | Configuration template | Description
--- | --- | --- | --- | --- | ---
prmId | Parameter: identifier | String | Input link | <page>|SHIFR | Identifier of the parameter, used only to detect the appropriate PID-control pages.
prmShifr | Parameter: code | String (translate) | Input link | <page>|NAME | Short name of the parameter — code, to be placed below the frame and in actions of the user-operator.
prmDescr | Parameter: description | String (translate) | Input link | <page>|DESCR | Description of the parameter to be placed in actions of the user-operator.
prmColor | Parameter: border color | String | Input link | <page>|color | Sets the border color of the contour.
Properties of the Analog Devices
prmDemention | Parameter: dimension | String (translate) | Input link | <page>|ed |
prmPrec | Parameter: precision (signs) | Integer | Input link | <page>|prec | Number of digits after the dot in the parameter value and the step of changing the manual input of the value, as well as the set-point and output of the PID-regulator.
prmVar | Parameter: variable | Real | Full link | <page>|var | Directly the value of the analog parameter.
max | Parameter: maximum | Real | Input link | <page>|max | Maximum limit of the parameter value.
min | Parameter: minimum | Real | Input link | <page>|min | Minimum limit of the parameter value.
prmAMax | Parameter: border up alarm | Real | Input link | <page>|aMax |
prmAMin | Parameter: border down alarm | Real | Input link | <page>|aMin |
prmWMax | Parameter: border up warning | Real | Input link | <page>|wMax |
prmWMin | Parameter: border down warning | Real | Input link | <page>|wMin |
Manual Analog Input
prmVarIn | Parameter: variable input | Real | Full link | <page>|varIn | Output for manual input of analog parameter value. The presence of this parameter is an indication that the parameter is defined as "Manual Analog Input".
PID-regulator
prmAnalog | Parameter: analog regulator | Boolean | Input link | <page>|analog | The indication of the analog regulator, in the absence of which the regulator is considered as impulse.
prmAuto | Parameter: automate | Boolean | Full link | <page>|auto | The regulator mode "Automatic".
prmCasc | Parameter: cascade | Boolean | Full link | <page>|casc | The regulator mode "Cascade".
prmSp | Parameter: set-point | Real | Full link | <page>|sp | The PID-regulator set-point, which can be set by the user.
prmImpQdwnTm | Parameter: imp. out down | Boolean | Input link | <page>|impQdwn | The output "Down" of the impulse (PWM) regulator.
prmImpQupTm | Parameter: imp. out up | Boolean | Input link | <page>|impQup | The output "Up" of the impulse (PWM) regulator.
prmOut | Parameter: output | Real | Full link | <page>|out | Output of the analog PID-regulator to display and manual input of the output value of PID in the manual mode.
prmManIn | Parameter: manual input | Real | Full link | <page>|manIn | Manual input of the new output value of the PID-regulator in the manual mode.
prmNotPID | Parameter: Force disable PID | Boolean | Input link | <page>|notPID | Use when you want to disable PID representing for parameters with SP.
Properties of the discrete devices
prmCom | Parameter: command - "Open" | Boolean | Full link | <page>|com |
prmClose | Parameter: command - "Close" | Boolean | Full link | <page>|close |
prmStop | Parameter: command - "Stop" | Boolean | Full link | <page>|stop |
prmComText | Parameter: text of command | String | Full link | <page>|com_text | The command text directly, taken from digComs at building the selection combobox.
digComs | Parameter: discrete commands | String (translate) | Input link | <page>|digComs | Configuration of the parameter commands with the structure {openLabel}-{color};{closeLabel}-{color}, for the discrete block, and {com1Label}-{color};{com2Label}-{color};...;{comNLabel}-{color}, for the code status. Default colours for the discrete block are: "green", "red" and "yellow".
prmOpenSt | Parameter: state - "Opened" | Boolean | Input link | <page>|st_open |
prmCloseSt | Parameter: state - "Closed" | Boolean | Input link | <page>|st_close |
prmStText | Parameter: status text | String | Input link | <page>|st_text | The status text directly.
digStts | Parameter: discrete stats | String (translate) | Input link | <page>|digStts | Configuration of the parameter statuses with the structure {openedLabel}-{color};{closedLabel}-{color}, for the discrete block. Default colours are: "green" and "red".

### 4.3 Паспорт, расширенный (cntrPaspExt) | 1.2 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент, представленный на рисунке 4.3, является информационно-контрольным диалогом около параметра источника данных — расширенный паспорт параметра. В отличии от простого паспорта, расширенный, кроме информации, предоставляет возможность контроля атрибутов параметра и отображения истории стандартных атрибутов как в виде тренда, так и таблицы данных.

Информация и контроль атрибутов параметра остаётся основной функцией, которая предоставляется во вкладке "Обзор", где формируется таблица атрибутов как они есть, со столбцами "Имя" и "Значение". Таблица активная и при выборе доступных для записи атрибутов, и соответствующих прав (root:op), внизу предоставляется поле ввода новых значений.

История предоставляется в следующих двух вкладках "Тренды" и "Данные", которые могут и отсутствовать при отсутствии истории-архивов по стандартным атрибутам. Вкладка "Тренды" содержит область графиков, примитив "Диаграмма", на большей части окна, и таблицу внизу с названиями, цветом и шкалами графиков. Графики периодически обновляются и строятся с периодом 1 секунда, и на фиксированную глубину в 1 час. Вкладка "Данные" содержит только поле примитива "Документ" с таблицей со значениями атрибута в столбцах, которая обновляется с периодом 1 секунда для периода данных истории и на глубину в 100 записей. Стандартными атрибутами с историей считаются следующие элементы представительских структур параметра:

- Аналоговый сигнал:
  - var — переменная.
- ПИД-регулятор:
  - sp — задание;
  - out — выход;
  - auto — режим: автомат.
- Дискретные сборки:
  - com — команда "Открыть";
  - close — команда "Закрыть";
  - stop — команда "Остановить";
  - st_open — состояние "Открыто";
  - st_close — состояние "Закрыто".

Для построения трендов аналоговых параметров отдельно обрабатываются атрибуты общей шкалы [min...max], а также аварийные [aMin...aMax] и предупредительные шкалы [wMin...wMax], которые, кроме всего, отображаются и на графике.

На данный момент этот диалог является основным и он заменил простой диалог паспорта.

- Спонсировано: ПАТ ХАРТРОН

Рис.4.3. Диалог "Паспорт, расширенный" в режиме исполнения.

Использование — разработка
Диалог не предусматривает специальной конфигурации пользователем, он должен лишь быть размещён в каталоге панелей дерева проекта концепции объектов сигнализации корневой страницы "RootPgSo", что будет предусматривать его динамический вызов и открытие, как внешнее диалоговое окно.

Идентификатор диалога, при размещении, должен быть изменён в "cntrPasp" и строка его вызова, при нажатии правой клавиши мыши, в атрибуте обработки сообщений "evProc" первичного виджета приобретёт вид "key_mousePresRight::open:/pg_control/pg_cntrPasp".

Использование — исполнение
Диалог предоставляет пользователю, во вкладке "Обзор", информацию про параметр источника данных в виде перечня и значений всех свойств-атрибутов параметра в таблицы. Где атрибуты, доступные для записи, могут редактироваться согласно прав доступа "root:op" в поле редактирования, которое появляется внизу при выборе такого атрибута.

Что касается истории, пользователь может наблюдать тренды во вкладке "Тренды" и данные во вкладке "Данные". Для трендов, пользователь может также подсветить какой-то из них, выбрав его в таблице внизу, и отредактировать шкалу если она ошибочна.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
pName | Имя параметра | Адрес | Входная связь | Parameter|NAME | Адрес к имени параметра для обращения к параметру целиком и изъятия всех его свойств.

### 4.4 Паспорт (cntrPasp) | 1.0 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент, представленный на рисунке 4.4, является информационным диалогом около параметра источника данных — паспорт параметра, соответственно он позволяет получить такого рода информацию как: шифр, имя, описание, единица измерения, аварийные границы и другое, согласно представительской структуре параметра — атрибуты параметра. Диалог построен на основе примитива "Документ", содержимое которого формируется динамически и периодически обновляется.

При построении паспорта отдельно обрабатываются атрибуты аварийных [aMin...aMax] и предупредительных шкал [wMin...wMax], которые объединяются в одной записи и в целом могут скрываться при условии их отключения.

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

Рис.4.4. Диалог "Паспорт" в режиме исполнения.

Использование — разработка
Диалог не предусматривает специальной конфигурации пользователем, он должен лишь быть размещён в каталоге панелей дерева проекта концепции объектов сигнализации корневой страницы "RootPgSo", что будет предусматривать его динамический вызов и открытие, как внешнее диалоговое окно.

Идентификатор диалога, при размещении, должен сохраняться и строка его вызова, при нажатии правой клавиши мыши, в атрибуте обработки сообщений "evProc" первичного виджета приобретёт вид "key_mousePresRight::open:/pg_control/pg_cntrPasp".

Использование — исполнение
Диалог только предоставляет пользователю информацию про параметр источника данных в виде перечня и значений всех свойств-атрибутов параметра в таблице.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
pName | Имя параметра | Адрес | Входная связь | Parameter|NAME | Адрес к имени параметра для обращения к параметру целиком и изъятия всех его свойств.

### 4.5 Панель графиков (grph_panel) | 1.6 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент, представленный на рисунке 4.5, является специализированной панелью динамического управления основными пользовательскими свойствами примитива "Диаграмма". Так, панель позволяет просмотреть графики истории за необходимый период времени и в нужном разрешении, поддерживается: масштабирование шкалы, выбор архиваторов для отображения, а также представление графиков в виде спектра присутствующих частот или XY.

Рис.4.5. Панель графиков в режиме разработки и исполнения (слева направо).

Использование — разработка
Панель не предусматривает специальной конфигурации пользователем, она должна лишь быть размещена в каталоге панелей дерева проекта концепции объектов сигнализации корневой страницы "RootPgSo", что будет предусматривать её динамический вызов и открытие в контейнере панелей управлений корневой страницы.

Идентификатор панели, при размещении, должен сохраняться и строка её вызова, при получении фокуса, в атрибуте обработки событий "evProc" первичного виджета приобретёт вид "ws_FocusIn::open:/pg_control/pg_grph_panel".

Using — runtime
The panel allows the user to:

- select the diagram graphics mode: "Graph", "Spectrum of frequencies", "XY";
- select of the diagram formation time;
- perform of navigation through the diagram for the half or five sizes of the graph area and setting of the diagram generation time to the current time or in the cursor time;
- get information about the time or frequency in the current cursor's position;
- select of the trend's formation size (depth) or set the begin time, also to the cursor time;
- select of the archive, used for the trend building, at the access rule "root:ITW";
- control the vertical and horizontal scale of the presentation: zoom in and out the scale, shift the scale up and down, the scale returns to its original value;
- switch of the scale mode by the window drawn by the mouse.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
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 | Контекст сохранения исходных параметров масштабирования окном, для возврата.

### 4.6 Панель документов (doc_panel) | 1.3 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент, представленный на рисунке 4.6, является специализированной панелью динамического управления основными пользовательскими свойствами примитива "Документ". Так, панель позволяет управлять документами и осуществлять навигацию по их истории; поддерживаются динамические и архивные документы.

Рис.4.6. Панель документов в режиме разработки и исполнения (динамический и архивный), слева направа.

Использование — разработка
Панель не предусматривает специальной конфигурации пользователем, она должна лишь быть размещена в каталоге панелей дерева проекта концепции объектов сигнализации корневой страницы "RootPgSo", что будет предусматривать её динамический вызов и открытие в контейнере панелей управлений корневой страницы.

Идентификатор панели, при размещении, должен сохраняться и строка её вызова, при получении фокуса, в атрибуте обработки событий "evProc" первичного виджета приобретёт вид "ws_FocusIn::open:/pg_control/pg_doc_panel".

Использование — исполнение
Панелью предоставляются инструменты, которые несколько отличаются для динамического и архивного режимов.

Динамическим документом предусматривается:

- выбор времени формирования документа;
- выбор размера (глубины) формирования документа или времени начала;
- навигация по документу на один или пять размеров-глубины документа;
- установка времени генерации документа в текущее время.

Архивным документом предусматривается только навигация по документам в архиве путём их перелистывания, а также информация о текущем и общем количестве документов в архиве.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
Динамические документы
time | Время документа | ДатаВремя | Полная связь | <page>|time |
bTime | Начало документа | ДатаВремя | Полная связь | <page>|bTime |
doc | Документ | Строка | Полная связь | <page>|doc |
Архивные документы
n | Размер архива | Целый | Входная связь | <page>|n |
vCur | Курсор отображения | Целый | Полная связь | <page>|vCur |
aCur | Курсор архива | Целый | Входная связь | <page>|aCur |
aSize | Размер архива | Целый | Входная связь | <page>|aSize |

### 4.7 Подтверждение (accept) | 1.0 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент на рисунке 4.7 реализует простейший диалог подтверждения операций. Диалог содержит сообщение с вопросом и две кнопки "Принять" и "Отмена". Данный диалог, например, использован в кадре Менеджер пользователей для подтверждения операции удаления.

- Спонсирование: Василий Григорьев, Лаборатория Вакуумных Технологий

Рис.4.7. Диалог "Подтверждение" в режиме разработки и исполнения.

Использование — разработка
Диалог не предусматривает специальной конфигурации пользователем, он должен лишь быть размещён в каталоге панелей дерева проекта концепции объектов сигнализации корневой страницы "RootPgSo", что будет предусматривать его динамический вызов и открытие, как внешнее диалоговое окно.

Идентификатор диалога, при размещении, должен сохраняться и строка его вызова, при нажатии кнопки "progDel", в атрибуте обработки сообщений "evProc" первичного виджета приобретёт вид "ws_BtPress:/progDel:open:/pg_control/pg_accept". Из атрибута "mess" берётся сообщение вопроса, а в "event" передаётся сигнал "dlg_Apply", при подтверждении.

Использование — исполнение
Вызов диалога осуществляется из кадра-инициатора, а закрытие происходит по нажатию любой кнопки диалога. В случае нажатия кнопки "Применить" кадра-инициатора будет отправлен сигнал "dlg_Apply", по которому он может выполнить нужные действия.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
elEvent | Элемент: событие | Строка | Полная связь | <page>|event | Используется для отправки события "dlg_Apply" в случае подтверждения.
elMess | Элемент: сообщение | Строка | Входная связь | <page>|mess | Источник сообщения вопроса в диалоге.

### 4.8 Выбор элемента в дереве (treeSelect) | 1.0 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Элемент на рисунке 4.8 реализует простой диалог операции выбора пункта в дереве. Диалог содержит само дерево и две кнопки "Принять" и "Отменить". Этот диалог, например, использован, и первично для него разрабатывался, в кадре "Рецепт: исполнение (простой)" для иерархического выбора элемента в дереве.

- Спонсирование: Василий Григорьев, Лаборатория Вакуумных Технологий

Рис.4.8. Диалог "Выбор элемента в дереве" в режиме разработки и исполнения.

Использование — разработка
Диалог не предусматривает специальной конфигурации пользователем, он должен лишь быть размещён в каталоге панелей дерева проекта концепции объектов сигнализации корневой страницы "RootPgSo", что будет предусматривать его динамический вызов и открытие, как внешнее диалоговое окно.

Идентификатор диалога, при размещении, должен сохраняться и строка его вызова, при нажатии кнопки "lib", в атрибуте обработки сообщений "evProc" первичного виджета приобретёт вид "ws_BtPress:/lib:open:/pg_control/pg_treeSelect". Из атрибута "items" берётся перечень элементов, из "selValue" выбранное значение, а в "event" передаётся сигнал "dlg_Apply", при подтверждении.

Использование — исполнение
Вызов диалога осуществляется из кадра-инициатора, а закрытие происходит по нажатию любой кнопки диалога. В случае нажатия кнопки "Применить" кадра-инициатора будет отправлен сигнал "dlg_Apply", по которому он применит выбранный елемент.

Свойства связывания и конфигурации

Идентификатор | Имя | Тип | Конфигурация | Конфигурационный шаблон | Описание
--- | --- | --- | --- | --- | ---
elEvent | Элемент: событие | Строка | Полная связь | <page>|event | Используется для отправки события "dlg_Apply" в случае подтверждения.
elItems | Элемент: список элементов | Текст | Входная связь | <page>|items | Источник перечня элементов в диалоге.
selValue | Элемент: выбранное значение | Строка | Полная связь | <page>|selValue | Источник выбранного элемента в диалоге.

Libs/Main_graphical_elements/ru - GFDL | May 2026 | OpenSCADA 0.9.9