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

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

This page is a translated version of the page Libs/Main graphical elements and the translation is 96% 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; та яким зображення незквітованого параметру може блимати. За апаратних помилок та недостовірності даних, останнє значення відображається сірим кольором та перекреслюється. У підказці користувач може отримати опис пов'язаного параметра та його помилки.

У активному режимі елементу можна отримати паспорт, натиснувши праву клавішу миші на полі віджету. У паспорті будуть представлені всі властивості параметру. За натиском лівої клавіші миші у області панелей з'явиться панель управління параметром, та вибір даного віджету буде відображатися блимаючою рамкою.

Віджет наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківського віджету/сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
pErr | Параметр: помилка | Рядок | Вхідний зв'язок | Parameter|err | Код та текст помилки за параметром. Використовується для формування сигналізації про порушення. Коди помилок, що обробляються: 1,2 — відмова, параметр недостовірний, відображається сірим та перекресленим окрім випадку з redEVAL; 3,4 — вище та нижче аварійної границі, відображається кольором стилю labColorAlarm; 5,6 — вище та нижче попереджувальної границі, відображається кольором стилю labColorWarning; 10,11 — коди користувацьких порушень статусу попередження та аварія, відповідно відображається кольором стилю labColorWarning та labColorAlarm.
pModeA | Параметр: режим регулятору: автомат | Логічний | Вхідний зв'язок | Parameter|auto | Відображається велика літера "А" ліворуч від значення, при встановленні.
pModeC | Параметр: режим регулятору: каскад | Логічний | Вхідний зв'язок | Parameter|casc | Відображається велика літера "К" ліворуч від значення, при встановленні.
pName | Параметр: ім'я | Рядок (переклад) | Вхідний зв'язок | Parameter|NAME | Коротке найменування параметру, що відображається над значенням та вставляється у повідомлення про порушення.
pPrec | Параметр: точність | Цілий | Вхідний зв'язок | Parameter|prec | Кількість знаків після точки, для позитивних значень, та точність (знаків загалом), для негативних, для відображення кінцевого реального значення на екрані.
pVal | Параметр: значення | Реальний | Вхідний зв'язок | Parameter|var | Інженерне реальне значення параметру.
redEVAL | Червоне ім'я параметру у випадку відмови | Логічний | Стала |  | По замовченню, колір ім'я при "відмові" (значення EVAL) параметру сірий. Для деяких критичних для технологічного процесу параметрів стан відмови має бути яскраво виражено на мнемосхемі червоним кольором.
spName | Ім'я для синтезу | Рядок (переклад) | Стала |  | Ім'я параметру для синтезу мови при формуванні аварійних повідомлень з урахуванням наголосу слів, пауз та інше. Порожнє значення вимикає повідомлення мовою!

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

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

Ці два елементи відрізняються один від одного лише початковим горизонтальним розміром, тобто другий "Відображення аналогового 1, короткий" є коротким варіантом для дуже коротких випадків та він прямо успадковується від першого.

Рис.1.2. Елемент "Відображення аналогового 1" у режимі розробки та виконання (зліва праворуч).

Використання — розробка
Цей віджет може бути використано розробником при створені мнемосхем з відображенням значень аналогових параметрів із префіксом та/або як елемент статичної екранної таблиці. Для використання потрібно додати цей віджет на мнемосхему, підлаштувати горизонтальний, вертикальний розмір масштабом та зв'язати з параметром джерела даних.

Використання — виконання
У режимі виконання, у основному полі елементу, відображається короткий префікс та поточне значення-змінна цього параметру; які, залежно від наявності порушення, відображаються кольором стилю: labColorGood, labColorWarning, labColorAlarm; та яким зображення незквітованого параметру може блимати. За апаратних помилок та недостовірності даних, останнє значення відображається сірим кольором та перекреслюється. У підказці користувач може отримати опис пов'язаного параметра та його помилки.

У активному режимі елементу можна отримати паспорт, натиснувши праву клавішу миші на полі віджету. У паспорті будуть представлені всі властивості параметру. За натиском лівої клавіші миші у області панелей з'явиться панель управління параметром, та вибір даного віджету буде відображатися блимаючою рамкою.

Віджет наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківського віджету/сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
pErr | Параметр: помилка | Рядок | Вхідний зв'язок | Parameter|err | Код та текст помилки за параметром. Використовується для формування сигналізації про порушення. Коди помилок, що обробляються: 1,2 — відмова, параметр недостовірний, відображається сірим та перекресленим; 3,4 — вище та нижче аварійної границі, відображається кольором стилю labColorAlarm; 5,6 — вище та нижче попереджувальної границі, відображається кольором стилю labColorWarning; 10,11 — коди користувацьких порушень статусу попередження та аварія, відповідно відображається кольором стилю labColorWarning та labColorAlarm.
pNAME | Параметр: ім'я | Рядок (переклад) | Вхідний зв'язок | Parameter|NAME | Коротке найменування параметру, що вставляється у повідомлення про порушення.
prec | Параметр: точність | Цілий | Вхідний зв'язок | Parameter|prec | Кількість знаків після точки, для позитивних значень, та точність (знаків загалом), для негативних, для відображення кінцевого реального значення на екрані.
pVal | Параметр: значення | Реальний | Вхідний зв'язок | Parameter|var | Інженерне реальне значення параметру.
spName | Ім'я для синтезу | Рядок (переклад) | Стала |  | Ім'я параметру для синтезу мови при формуванні аварійних повідомлень з урахуванням наголосу слів, пауз та інше. Порожнє значення вимикає повідомлення мовою!
pName | Коротка назва | Рядок | Стала |  | Значення короткої назви-префіксу.
pNameSz | Розмір короткої назви | Ціле | Стала |  | Розмір короткої назви-префіксу, використовуйте 0 для вимкнення поля.

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

Елемент на рисунку 1.3 слугує для відображення динамічних текстових міток, що формується на основі дискретних сигналів. Також цей елемент генерує повідомлення про порушення за локально визначеною умовою, атрибут ntf, додатково він може генерувати сигнали із атрибуту "Помилка (err)". Елемент загалом використовує та представляє представницьку структуру DAQ-шаблонів дискретного блоку та стану за кодом.

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

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

Використання — розробка
Цей віджет може бути використано розробником при створені мнемосхем з відображенням текстових міток та/або як елемент статичної екранної таблиці. Для використання потрібно додати цей віджет на мнемосхему, підлаштувати горизонтальний, вертикальний розмір та зв'язати з параметром джерела даних.

Використання — виконання
У режимі виконання, у основному полі елементу, відображається текстова мітка та на фоні, що відповідає значенням дискретних сигналів параметру та конфігурації станів у атрибуті digStts; де фон, залежно від наявності порушення відповідного до умов атрибуту ntf, встановлюється у колір порушення; та яким зображення незквітованого параметру може блимати. За апаратних помилок та недостовірності даних, фон відображається сірим кольором.

У активному режимі елементу можна отримати паспорт, двічі натиснувши ліву клавішу миші на полі віджету. У паспорті будуть представлені всі властивості параметру. За натиском лівої клавіші миші у області панелей з'явиться панель управління параметром, та вибір даного віджету буде відображатися блимаючою рамкою. Команди дублюються у контекстному меню, яке з'являється за натиском правої клавіші миші у області віджету.

Віджет наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківського віджету/сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
err | Параметр: помилка | Адреса | Вхідний зв'язок | Parameter|err | Використовується у якості адреси для доступу до об'єкту DAQ-Параметру із надсилання повідомлень і значення також використовується для генерації сигналів.
NAME | Параметр: ім'я | Рядок (переклад) | Вхідний зв'язок | Parameter|NAME | Коротке найменування параметру, що вставляється у повідомлення про порушення та дії оператору-користувача.
DESCR | Параметр: опис | Рядок (переклад) | Вхідний зв'язок | Parameter|DESCR | Опис або розгорнута назва параметру, що вставляється у повідомлення про порушення та дії оператору-користувача.
st_open | Параметр: статус-відкрито | Логічний | Вхідний зв'язок | Parameter|st_open | Статус параметру "Відкрито" або загальний статус перемикача за відсутності сигналу стану "Закрито".
st_close | Параметр: статус-закрито | Логічний | Вхідний зв'язок | Parameter|st_close | Статус параметру "Закрито".
st_text | Параметр: статус (текст) | Рядок (переклад) | Вхідний зв'язок | Parameter|st_text | Текст стану параметру, за режимом "Стан за кодом".
digStts | Параметр: статуси | Рядок (переклад) | Вхідний зв'язок | Parameter|digStts | Конфігурація статусів параметру зі структурою {openedLabel}-{color};{closedLabel}-{color};{noOpenedClosedLabel}-{color};{OpenedClosedLabel}-{color};{errLabel}-{color}, для дискретного блоку.
com | Параметр: команда | Логічний | Повний зв'язок | Parameter|com | Команда параметру "Відкрити" або загальна команда перемикача за відсутності сигналу команди "Закрити".
close | Параметр: закрити | Логічний | Повний зв'язок | Parameter|close | Команда параметру "Закрити".
stop | Параметр: зупинка | Логічний | Повний зв'язок | Parameter|stop | Команда параметру "Зупинити".
com_text | Параметр: текст команди (з digComs) | Рядок | Повний зв'язок | Parameter|com_text | Текст команди параметру, за режимом "Стан за кодом".
digComs | Параметр: команди | Рядок (переклад) | Вхідний зв'язок | Parameter|digComs | Конфігурація команд параметру зі структурою {openLabel}-{color};{closeLabel}-{color};{stopLabel}-{color}, для дискретного блоку, та {com1Label}-{color};{com2Label}-{color};...;{comNLabel}-{color}, для статусу за кодом.
ntf | Повідомлення "{st}:{modes}:{Текст мови}" | Рядок (переклад) | Стала |  | Конфігурація формування повідомлення за статусом (st) [0|1|2(both)|3(err)] та режимами-методами повідомлення (modes), як рядок чисел методів, та мовою, якщо вказано такий метод. Повідомлення мови для "3(err)" береться із атрибуту "Помилка (err)".

### 1.4 Мітка зображенням (ImgLab) | 1.3 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Елемент на рисунку 1.4 слугує для відображення динамічних міток зображень, що формується на основі дискретних сигналів. Також цей елемент генерує повідомлення про порушення за локально визначеною умовою, атрибут ntf, додатково він може генерувати сигнали із атрибуту "Помилка (err)". Елемент загалом використовує та представляє представницьку структуру DAQ-шаблонів дискретного блоку та стану за кодом.

- Спонсорування: Вінницька Птахофабрика

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

Використання — розробка
Цей віджет може бути використано розробником при створені мнемосхем з відображенням міток зображення та/або як елемент статичної екранної таблиці. Для використання потрібно додати цей віджет на мнемосхему, підлаштувати горизонтальний, вертикальний розмір та зв'язати з параметром джерела даних.

Використання — виконання
У режимі виконання, у основному полі елементу, відображається зображення мітки на фоні, що відповідає значенням дискретних сигналів параметру та конфігурації станів у атрибуті imgs; де фон, залежно від наявності порушення відповідного до умов атрибуту ntf, встановлюється у колір порушення; та яким зображення незквітованого параметру може блимати. За апаратних помилок та недостовірності даних, фон відображається сірим кольором.

У активному режимі елементу можна отримати паспорт, двічі натиснувши ліву клавішу миші на полі віджету. У паспорті будуть представлені всі властивості параметру. За натиском лівої клавіші миші у області панелей з'явиться панель управління параметром, та вибір даного віджету буде відображатися блимаючою рамкою. Команди дублюються у контекстному меню, яке з'являється за натиском правої клавіші миші у області віджету.

Віджет наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківського віджету/сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
err | Параметр: помилка | Адреса | Вхідний зв'язок | Parameter|err | Використовується у якості адреси для доступу до об'єкту DAQ-Параметру із надсилання повідомлень і значення також використовується для генерації сигналів.
NAME | Параметр: ім'я | Рядок (переклад) | Вхідний зв'язок | Parameter|NAME | Коротке найменування параметру, що вставляється у повідомлення про порушення та дії оператору-користувача.
DESCR | Параметр: опис | Рядок (переклад) | Вхідний зв'язок | Parameter|DESCR | Опис або розгорнута назва параметру, що вставляється у повідомлення про порушення та дії оператору-користувача.
st_open | Параметр: статус-відкрито | Логічний | Вхідний зв'язок | Parameter|st_open | Статус параметру "Відкрито" або загальний статус перемикача за відсутності сигналу стану "Закрито".
st_close | Параметр: статус-закрито | Логічний | Вхідний зв'язок | Parameter|st_close | Статус параметру "Закрито".
st_img | Параметр: статус "{img}:{bCol}:{blink}" | Рядок | Вхідний зв'язок | Parameter|st_text | Зображення стану параметру, за режимом "Стан за кодом", де: img — ім'я зображення, дивіться атрибути зображення; bCol — фоновий колір; blink — ознака блимання [0|1] фону.
imgs | Зображення, для "{openedImage}-{bCol}:{closedImage}-{bCol}:{noOpenedClosedImage}-{bCol}:{OpenedClosedImage}-{bCol}:{errImage}-{bCol}" | Рядок | Стала |  | Конфігурація станів параметру зі структурою {openedLabel}-{color}:{closedLabel}-{color}:{noOpenedClosedImage}-{bCol}:{OpenedClosedImage}-{bCol}:{errImage}-{bCol}, для дискретного блоку.
digStts | Параметр: статуси | Рядок (переклад) | Вхідний зв'язок | Parameter|digStts | Стандартна конфігурація статусів параметру зі структурою {notUsed}-{openedColor};{notUsed}-{closedColor};{notUsed}-{noOpenedClosedColor};{notUsed}-{OpenedClosedColor};{notUsed}-{errColor}', для дискретного блоку та відсутності атрибуту imgs.
com | Параметр: команда | Логічний | Повний зв'язок | Parameter|com | Команда параметру "Відкрити" або загальна команда перемикача за відсутності сигналу команди "Закрити".
close | Параметр: закрити | Логічний | Повний зв'язок | Parameter|close | Команда параметру "Закрити".
stop | Параметр: зупинка | Логічний | Повний зв'язок | Parameter|stop | Команда параметру "Зупинити".
com_text | Параметр: текст команди (з digComs) | Рядок | Повний зв'язок | Parameter|com_text | Текст команди параметру, за режимом "Стан за кодом".
digComs | Параметр: команди | Рядок (переклад) | Вхідний зв'язок | Parameter|digComs | Конфігурація команд параметру зі структурою {openLabel}-{color};{closeLabel}-{color};{stopLabel}-{color}, для дискретного блоку, та {com1Label}-{color};{com2Label}-{color};...;{comNLabel}-{color}, для статусу за кодом.
ntf | Повідомлення "{st}:{modes}:{Текст мови}" | Рядок (переклад) | Стала |  | Конфігурація формування повідомлення за статусом (st) [0|1|2(both)|3(err)] та режимами-методами повідомлення (modes), як рядок чисел методів, та мовою, якщо вказано такий метод. Повідомлення мови для "3(err)" береться із атрибуту "Помилка (err)".

### 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" з переліку полів та встановити елемент неактивним.

Використання — виконання
У режимі виконання будується таблиця із переліку активних порушень, за визначеними полями, правилом сортування та виокремлення; вміст якої періодично та динамічно оновлюється. За обранням таблиці, отримання фокусу, її висота може розширюватися, відобразивши більше повідомлень, якщо цю функцію увімкнено та є відповідність умови із визначеної кількості порушень.

Користувачу надається можливість підтвердити порушення, змінивши значення поля часу підтвердження або за допомогою панелі керування, що спливе за обранням елементу та рядка порушення.

Ще користувач може залишити коментар до порушення, відкоригувавши відповідне поле таблиці.

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Опис
--- | --- | --- | ---
active | Активний | Логічний | Вимкнути якщо виключено підтвердження, розширення за отримання фокусу та редагування взагалі — суто відображення.
hHdrVis | Показувати заголовок: горизонтальний | Логічний |
vHdrVis | Показувати заголовок: вертикальний | Логічний |
formDtTm | Формат дати та часу (%Y-%m-%d %H.%M.%S[.%MS,%US]) | Рядок | Формат відображення часу порушення та підтвердження.
expOnItems | Розширяти при фокусі: елементів (<=0-відключено) | Цілий | Гранична кількість повідомлень для спрацювання функції розширення елементу, збільшення висоти, за отримання фокусу.
expOnFocus | Розширяти при фокусі: пікселів (0-відключено,>-донизу,<-догори) | Цілий | Встановити у потрібне значення розширення елементу, збільшення висоти, за набуттям фокусу.
colms | Стовпчики Перелік поділений ',' з варіантів: atm, qttm, lev, type, cat, mess, prm, dscr, dscrCust{N}, alrm, cmnt. | Рядок | Визначити у потрібну послідовність та наповнення полів.
highLght | Правила підсвітлення Рядки у формі "{lev}[{slev}]{quitt}:{color}:{font}:{fontColor}". | Текст | Правила підсвітлення, де: lev — основний рівень повідомлення [0...7]; slev — підрівень повідомлення [0...9], опціонально; quitt — ознака підтвердження (квітації) повідомлення [0|1]; color — колір фону рядка з повідомленням; font — шрифт тексту рядка з повідомленням; fontColor — колір тексту рядка з повідомленням. Наприклад:
    #<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) | 1.0 | GPLv2 | * | en, uk | Роман Савоченко

Елемент на рисунку 1.8 використовується для відображення даних погоди із параметрів на DAQ-шаблоні "Погода".

Рис.1.8. Елемент "Погода" у режимі розробки та виконання (зліва праворуч).

Використання — розробка
Цей віджет може бути використано розробником при створені мнемосхем з відображенням погоди. Для використання потрібно додати цей віджет на мнемосхему, підлаштувати горизонтальний, вертикальний розмір масштабом та зв'язати з параметром джерела даних за DAQ-шаблоном "Погода".

Використання — виконання
У режимі виконання відображається поточна погода на горі і прогноз знизу з деталізацією у спливаючій підказці на зображені.

Все ще можуть бути відсутні зображення для деяких погодних умов оскільки вони продовжують додаватися!

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
current | Погода: поточне | Об'єкт | Вхідний зв'язок | Parameter|current | Об'єкт із поточними даними.
forecast | Погода: прогноз | Об'єкт | Вхідний зв'язок | Parameter|forecast | Об'єкт із прогнозованими даними.

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

Елемент-кадр, представлений на рисунку 2, слугує базою для створення користувацьких інтерфейсів, пачатково для управління технологічними процесами, заснованими на об'єктах сигналізації (СО).

Коренева сторінка містить чотири області:

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

Область кнопок-індикаторів об'єктів сигналізації слугує для надання інформації про наявність порушень у об'єкті сигналізації, а також для перемикання між ними.

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

Кнопки наразі генеруються динамічно, шляхом копіювання першої та єдиної, відповідно до наявних у дереві проекту віртуальних сторінок об'єктів сигналізації з послідовною цифровою ідентифікацією від 1 (один). Обмеження на кількість кнопок, або об'єктів сигналізації, полягає лише у сумарній довжині назв об'єктів сигналізації, які можна розташувати у два ряди цих кнопок. Тобто, за коротких назв можна отримати до близька 100 об'єктів сигналізація. Якщо об'єкт сигналізації один то навіть ця єдина-базова кнопка ховається.

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

Простір кнопок видів відображення є динамічним, у сенсі зайняття простору відсутніх, та значення самих видів відображення налаштовується на інше від типового значення, тобто передбачено два основних види відображення (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 (зазвичай та раніш це шаблон зведених графіків), містить багато сторінок кінцевих кадрів.

Ідентифікатори сторінок видів відображення, вказані як [view1|mn], мають вказуватися у дереві або за новою схемою "view1", або за старою "mn". Їх змішування не підтримується і елементи огляду не мають бути порожніми, тобто містити принаймні одну активну сторінку!

У якості тексту кнопок об'єктів сигналізації використовується назва логічного контейнеру з відповідним ідентифікатором n. З опису цього контейнеру також береться і текст спливаючої підказки до цієї кнопки, якщо він не порожній.

Всі подальші налаштування та редагування довкола цього кадру треба здійснювати для його копії-посилання у дереві проекту, та наполегливо не рекомендується редагувати його у бібліотеці, інакше Ви втратите можливість оновлення бібліотеки або ці зміни, при її оновленні!

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

Для увімкнення загальної таблиці активних порушень просто встановіть 1 (один) у конфігурації зв'язків кадру для "alarms > en".

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

Зображення логотипу можна змінити так само, як і зображення виду відображення, тобто завантажити до Mime-даних проекту нове зображення із назвою "logo", після чого можна підкоригувати геометрію віджету логотипу під потрібні пропорції. Віджет зображення можна перенести ліворуч, посунувши попередньо кнопку об'єкту сигналізації праворуч на розмір логотипу. Якщо логотип у загалі не потрібен то онуліть ширину його віджету, але не видаляйте його!

Панель навігації та контейнер панелей управління потенційно також можна перенести ліворуч, посунувши контейнер основних кадрів, а може й кнопку об'єкту сигналізації праворуч.

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

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

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

Кадр наразі підтримує функціювання із дуже великим значенням "Період опрацювання" або й вимкнення періодичного опрацювання взагалі (значення -2) та це значення також розповсюджується до дочірніх сторінок та віджетів якщо вони бажають такої поведінки (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

Зміна кадру у контейнері панелей управління не відстежуються та вони загалом викликаються із інтерфейсу основних кадрів, хіба-що він очищується зі зміною основного кадру шляхом відкриття панелі-заглушки.

З основних дій, кадром надається можливість користувачу обрати об'єкт сигналізації, вид відображення та відповідний кадр. Натиснувши кнопку об'єкту сигналізації, виду відображення, прямо обравши у комбобоксу або погортавши; результатом чого є виклик відповідного кадру у контейнері основних кадрів. Із допоміжних дій, користувач може сквітувати порушення-повідомлення та запустити Демо-режим, якщо він передбачений. Типове налаштування кадру передбачає обслуговування низки гарячих клавіш, як то 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 Група графіків (grpGraph); Група графіків 10 (grpGraph10) | 1.6 | GPLv2 | * | en, uk, ru | Роман Савоченко | -1 мс (предок)

Елемент-кадр представлений на рисунку 3.1 слугує для одночасного спостереження трендів та управління параметрами у об'єкті сигналізації, включає у себе екземпляри віджету "Елемент групи графіків" кожного параметру (до 8 або 10) і віджет "Діаграма" для спостереження за графіками параметрів та перегляду історії, а також горизонтальну стрічку гортання для швидкої навігації за доступною історією обраних для відображення параметрів. Варіант у 10 трендів успадковано від базового варіанту у 8 трендів і ви можете створити власні варіанти спадкуючи базу і додати більше елементів групи графіків.

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

Використання — розробка
Кадр призначено для виконання ролі сторінки-шаблону, а, відповідно, він має безпосередньо розташовуватися у дерево проекту. У проекті-шаблоні "Групи сигналізацій", для кожного об'єкту сигналізації, цей кадр включено у ролі шаблону, що дозволяє створювати на його основі багато сторінок груп графіків. До кожного кадру можуть підключатися до восьми-десяти параметрів, шляхом встановлення зв'язків. Графіки, для яких не буде встановлено зв'язку, будуть приховані при виконанні або доступні для користувацького обрання у випадку наявності переліку обраних параметрів у атрибуті "Вибір: параметри доступні для обрання" (формат переліку описано у діалозі обрання параметрів).

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

Використання — виконання
У режимі виконання відображаються графіки, для яких встановлено зв'язки. Керування параметрами з елементів групи графіків детально описано у розділі віджету "Елемент групи графіків (ElViewGraph)". Додатково можна керувати властивостями відображення графіків, для чого автоматично з цією сторінкою відкривається панель управління графіком, або необхідно лівою клавішею миші натиснути у область графіку.

Кадр наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківської сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

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

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
name | Ім'я | Рядок (переклад) | Постійна |  | Ім'я групи
allowSelLst | Вибір: параметри дозволені для обрання | Текст | Немає |  | Помістіть сюди параметри для обрання користувачем, переліком DAQ-шляхів до них (детальніше дивіться у діалозі "Вибір параметру графіку"):
    /LogicLev/proc/prm_CPU/prm_load
    /LogicLev/proc/prm_MEM/prm_use
    /LogicLev/proc/prm_CPU/prm_T
perUserSel | Обрання: зберігати обрання за користувачем | Логічний | Немає |  | Встановіть для збереження користувацького вибору окремо
Елемент {n} від 1 до 8(10)
el{n} | Перелік пов'язаних атрибутів відповідає переліку віджету "Елемент групи графіків (ElViewGraph)"

#### 3.1.1 Елемент групи графіків (ElViewGraph) | 1.5 | GPLv2 | * | en, uk, ru | Роман Савоченко | 2000 мс

Елемент-віджет, представлений на рисунку 3.1.1, слугує для створення груп графіків. Віджет містить інформацію про параметр, режим регулятору, якщо параметр є таким, одиницю виміру аналогового параметру, а також колір, що відповідає параметру тренда. Віджет загалом використовує та представляє представницьку структуру DAQ-шаблонів "Аналоговий сигнал" та "Дискретний блок".

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

Використання — розробка
Хоча даний віджет не призначено для самостійного використання у відриві від групи графіків, використовувати його можна, наприклад, помістивши на мнемосхему та встановивши зв'язок з параметром джерела даних.

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

Окрім безпосередньо доступних візуальних даних, надається низка елементів контролю:

- "Виділення" — за натиском лівою клавішею миші у області віджету, праворуч з'явиться панель управління параметром, а вибір даного віджету буде відображено блимаючою рамкою.
- "Приховати/Показати" — за подвійним натиском у області віджету відбувається перемикання показу-приховування графіку даного елементу.
- "Функції контекстного меню" — за посередництвом контекстного меню надається низка функцій:
  - "Паспорт" — отримання паспорту параметра, у якому буде представлено всі його властивості.
  - "Приховати/Показати" — перемикання показу або приховування графіку даного елементу, аналогічно до подвійного кліку.
  - "Показати один" — одиночний показ графіку обраного параметру у його рідній шкалі, шляхом приховування решти елементів у групі.
  - "Показати все" — показ всіх графіків параметрів у групі.
  - "Обчислення" — виклик діалогу обчислення над видимими даними обраного параметру.
  - "Обрати" — виклик діалогу обрання параметру з переліку доступних для обрання — атрибут "Вибір: параметри дозволені для обрання" кадру-власника. Цей пункт доступний тільки у випадку наявності переліку обрання. З діалогу користувач також може очистити параметр, і що для статично перед-встановлених параметрів передбачає повернення до статичного параметру.

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

Віджет наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківського віджету/сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

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

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
name | Ім'я | Рядок (переклад) | Вхідний зв'язок | Parametr|NAME | Ім'я-шифр параметру, для відображення у полі назви.
dscr | Опис | Текст (переклад) | Вхідний зв'язок | Parameter|DESCR | Ім'я параметру, для розташування до tooltip та statusbar.
addr | Адреса | Адреса | Вхідний зв'язок | Parameter|var | Адреса до атрибуту значення параметру для побудови графіку.
color | Колір графіку | Рядок | Немає |  | Робочій колір тренду
colorDef | Типовий колір зі стилю | Рядок | Немає |  | Типовий колір тренду на рівні кадру
Аналогові параметри
ed | Одиниця виміру | Рядок (переклад) | Вхідний зв'язок | Parameter|ed |
prec | Точність | Цілий | Вхідний зв'язок | Parameter|prec | Кількість знаків після точки, для позитивних значень, та точність (знаків загалом), для негативних, для відображення кінцевого реального значення на екрані.
log | Логарифмічна шкала | Логічний | Вхідний зв'язок | Parameter|log |
max | Максимум | Реальний | Вхідний зв'язок | Parameter|max | Верхня межа значення параметру.
min | Мінімум | Реальний | Вхідний зв'язок | Parameter|min | Нижня межа значення параметру.
aMax | Границя верхня аварійна | Реальний | Вхідний зв'язок | Parameter|aMax |
aMin | Границя нижня аварійна | Реальний | Вхідний зв'язок | Parameter|aMin |
wMax | Границя верхня попереджув. | Реальний | Вхідний зв'язок | Parameter|wMax |
wMin | Границя нижня попереджув. | Реальний | Вхідний зв'язок | Parameter|wMin |
pModeA | Режим регулятору: автомат | Логічний | Вхідний зв'язок | Parameter|auto | Режим регулятору "Автомат".
pModeC | Режим регулятору: каскад | Логічний | Вхідний зв'язок | Parameter|casc | Режим регулятору "Каскад".
Дискретні параметри
digComs | Дискретний: команди | Рядок (переклад) | Постійна |  | Найменування та колір кнопок команд у форматі {On}[-color]:{Off}[-color][:{Stop}[-color]]. Кольори по замовченню: зелений, червоний та жовтий.
digStts | Дискретний: стани | Рядок (переклад) | Постійна |  | Найменування та колір надписів станів у форматі {On}[-color]:{Off}[-color]. Кольори по замовченню: зелений та червоний.
digRevers | Дискретний: реверс | Логічний | Постійна |  | Реверс дискретного сигналу.

#### 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 хвилин — для поточного оперативного контролю, що, за потреби, можна змінити безпосередньо відредагувавши відповідне поле віджету діаграми, наприклад, для шаблонної сторінки проекту, щоб воно розповсюдилося на всі кінцеві сторінки.

Використання — виконання
У режимі виконання відображаються контури та графіки, для яких встановлено зв'язки. Управління параметрами з контурів детально описано у розділі панелі "Елемент кадр". На додачу до цього можна керувати властивостями відображення графіків, для чого потрібно лівою клавішею миші натиснути у області графіку та за допомогою панелі управління графіком, що з'явиться, здійснити потрібні дії.

Кадр наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківської сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

Рис.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.

У активному режимі елементу можна отримати паспорт, натиснувши праву клавішу миші на полі віджету. У паспорті будуть представлені всі властивості параметру. За натиском лівої клавіші миші у області панелей з'явиться панель управління параметром, та вибір даного віджету буде відображатися блимаючою рамкою.

Віджет наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківського віджету/сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
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. Віджет "Кадр зведених графіків" у режимі розробки та виконання (зліва праворуч).

Використання — розробка
Хоча даний віджет не призначено для самостійного використання, у відриві від зведених графіків, використовувати його таки можна, наприклад, помістивши на мнемосхему та встановивши зв'язок з параметром джерела даних.

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

Віджет наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківського віджету/сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
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. Кадр "Порушення — стан" у режимі виконання.

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Опис
--- | --- | --- | ---
messCat | Категорія повідомлень | Рядок | Категорія опрацьовуваних повідомлень, типово "al*:*".
messLim | Обмеження повідомлень, кількість | Цілий | Максимальна кількість повідомлень у таблиці, типово 1000.
alArch | Архіватор сигналів, "{ArhMod}.{Arh}" | Рядок | Архіватор з якого брати порушення, порожньо для всіх.
alarms.active | Активний | Логічний | Вимкнути якщо виключено підтвердження, розширення за отримання фокусу та редагування взагалі — суто відображення.
hHdrVis | Показувати заголовок: горизонтальний | Логічний |
vHdrVis | Показувати заголовок: вертикальний | Логічний |
formDtTm | Формат дати та часу (%Y-%m-%d %H.%M.%S[.%MS,%US]) | Рядок | Формат відображення часу порушення та підтвердження.
colms | Стовпчики Перелік поділений ',' з варіантів: atm, qttm, nrmtm, lev, cat, mess, prm, dscr, dscrCust{N}, alrm, cmnt. | Рядок | Визначити у потрібну послідовність та наповнення полів.
highLght | Правила підсвітлення Рядки у формі "{lev}[{slev}]{quitt}{act}:{color}:{font}:{fontColor}". | Текст | Правила підсвітлення, де: lev — основний рівень повідомлення [0...7]; slev — підрівень повідомлення [0...9], опціонально; quitt — ознака підтвердження повідомлення [0|1]; act — ознака активності повідомлення [0|1]; color — колір фону рядка з повідомленням; font — шрифт тексту рядка з повідомленням; fontColor — колір тексту рядка з повідомленням. Наприклад:
    #<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 Звіт (alarmsStReport) | 1.0 | GPLv2 | * | en, uk, ru | Роман Савоченко

Елемент-кадр, представлений на рисунку 3.6.1, реалізує діалог відображення звітного документу, побудованого із переліку отриманих порушень кадру повноформатного представлення історії порушень.

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

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

Рис.3.6.1. Кадр "Порушення — звіт".

Використання — розробка
Цей кадр має бути розташовано у логічному контейнері панелей дерева проекту.

Використання — виконання
Виклик діалогу здійснюється за посередництвом характерної кнопки, нагорі праворуч, кадру повноформатного представлення історії порушень. Діалогом надається текст звітного документу та кнопка, унизу праворуч, для його закриття.

### 3.7 Менеджер користувачів (userManager) | 1.7 | GPLv2 | * | en, uk, ru | Роман Савоченко | -2 мс (вимкнено)

Елемент-кадр, представлений на рисунку 3.7, слугує для надання можливості контролю користувачів з інтерфейсу самого користувача. Тобто, типово ця функція надається програмісту SCADA на рівні конфігурації підсистеми "Безпека", але інколи виникає потреба надання такої можливості з інтерфейсу користувача та із низкою обмежень на контрольованих користувачів та їх групи, що цей кадр здійснює та загалом надає функції:

- формування переліку підконтрольних користувачів;
- можливість ознайомлення та зміни інформації користувачів, щодо: ім'я, повного ім'я, опису, паролю та груп;
- додання нових та видалення діючих користувачів;
- можливість редагування власної інформації та пароля непривілейованого користувача.

- Спонсорування: Вінницька Птахофабрика

Рис.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) | 2.3 | GPLv2 | * | en, uk | Роман Савоченко | -1 мс (предок)

Елемент-кадр, представлений на рисунку 3.8, слугує для контролю складу зі зберігання-керування речами різних класів-категорій. Початково його розроблено та перевірено на класі "Бібліотека". Кадр передбачає прямий доступ до БД за SQL та наразі підтримує лише MySQL/MariaDB.

Протягом реалізації кадру, вигляд "Таблиця" примітиву "FormEl" значним чином розширено на обох візуалізаторах, як і інші частини OpenSCADA:

    - VCAEngine,QTStarter,Vision,WebVision: Доповнено новим типом клітинки 't'-текст, переважно для можливості підтвердження редагування типу 's'-рядок натисканням Enter.
    - VCAEngine,Vision,WebVision: Доповнено опцією "prec" простору стовпчика, рядка та клітинки для контролю точності реальних значень; та реалізацією атрибуту "align" стовпчика та клітинки.
    - WebVision,Vision: Доповнено перемиканням таблиць у запобігання подвійному зберіганню вихідного вмісту за його розміру більш ніж 10000.
    - FIX:Vision: Використання загального делегату таблиці із можливістю багаторядкового редагування.
      - Вдосконалено відображення стовпців, рядків та клітинок при оновлені та загалом:
        - обмеженням візуального розміру вмісту клітинки 300 символами та висоти рядків у 70% від загального розміру таблиці;
        - більш точним вирівнюванням ширини стовпців;
        - підлаштуванням у режимі розробки, а також при видимості вертикального заголовку;
        - щільним заповненням таблиці через врахування розміру видимої смуги вертикального гортання;
        - підлаштуванням лише після цілковитої зміни розміру таблиці, чим також дозволивши ручну зміну стовпців та для надання такого-правильного підлаштування завжди.
      - Реалізовано "легке" опрацювання зміни ширини та оновлення:
        - "легке" редагування без перепідлаштування стовпців за кожного оновлення, лише за: появи першого рядка, зміни кількості стовпців та зміни заголовку стовпця, зміни шрифту та зміни розміру;
        - застосування фіксованої ширини стовпця та вирахування висоти рядків із обмеженнями незалежно від значення загального атрибуту "colsWdthFit";
        - встановлення значення, рання зміна розміру та підлаштування таблиці, перенесено у простір наявності вмісту таблиці та після сортування.
      - Функцію експорту під час виконання доповнено експортом виду Таблиця примітиву "FormEl" у CSV.
    - WebVision:
      - Вдосконалено відображення стовпців, рядків та клітинок при оновлені та загалом:
        - реалізацією режиму не підлаштування (відсутність атрибуту "colsWdthFit"), з використанням режиму автоматичного розміщення таблиці для обчислення фіксованої ширини та наступного перемикання у фіксований режим розміщення таблиці;
        - багаторядковим редагуванням тексту клітинок у повну ширину та висоту клітинки, із застосуванням редагування за Ctrl+Enter;
        - вигляд строкових клітинок обмежено 300 символами;
        - відображення логічних клітинок зображенням стану TRUE;
        - клітинки таблиці, у режимі редагування, дозволено до виклику контекстного меню системи-браузеру.
      - Реалізовано "легке" опрацювання зміни ширини та оновлення:
        - виявляння змін таблиці та оновлення перемкнуто у режим не зберігання вихідного вмісту двічі;
        - попереджено від цілковитого оновлення за модифікації атрибуту "value".
      - Доповнено підтримкою сортування за стовпцями. Встановлення у сортування за першим видимим стовпчиком при ввімкнені сортування.

    - VCAEngine: Доповнення надсиланням неопрацьованих повідомлень до сторінки, яка відкрила вихідну сторінку.
    - JavaLikeCalc: Реалізація оператору "var" щодо обробки правильної області видимості, тобто визначення нових змінних у функціях із оператором і використання глобальних без нього.

Кадр надає наразі, та надасть у майбутньому, наступні властивості:

- Режим редагування класів: споглядання, створення та редагування класів складу із функцією збереження даних при зміні типу поля.
- Режим споглядання та редагування основних даних:
  - споглядання основних даних обраного або фіксованого класу складу у великій таблиці із можливістю сортування та фільтрування до п'ятьма стовпчиками;
  - редагування вмісту клітинок таблиці у режимі редагування;
  - додання, копіювання та видалення записів-рядків таблиці у режимі редагування;
  - генерація звітної документації до обраного елементу, готової до друку та зручної для повного огляду;
  - генерація звітної документації до основної таблиці з урахуванням налаштувань фільтру та природним відображенням специфічних полів;
  - деталізована панель-форма керування обраним елементом зі специфічними полями.
  - швидкий контроль і доступ до даних складних полів через динамічну Панель Керування, засновану на Термінальному кадрі.

Класи складів зберігаються у таблиці "classes" із фіксованою структурою таблиці "CLASS, ID, NAME, TP , TBL, FILTER", де:

- CLASS [varchar(20)] — ІД класу;
- ID [varchar(20)] — ІД специфічного поля класу;
- NAME [text] — локалізована назва специфічного поля класу, де перший рядок для типового значення та наступні рядки формуються у вигляді {2СимвольнаМова}:{ЛокалізованийТекст};
- TP [varchar(100)] — тип специфічного поля класу, який прямо відповідає типам БД MySQL і деяким специфічним:

  - "file[:{max}[:{storage}[:{MIME}[:{OverViewSz}]]]]" — прикріплення файлів із параметрами:
    - max — максимум файлів дозволених до прикріплення;
    - storage — сховок файлів на Файловій Системі за визначеним шляхом, і порожнє для збереження прямо у полі БД типу LONGTEXT;
    - MIME — тип файлів, дозволених до прикріплення-завантаження, де порожньо для будь якого і на кшталт "image/*" лише для зображень;
    - OverViewSz — увімкнути поле перегляду файлів зображень на формі елементу із визначеним розміром у пікселях.

- TBL [varchar(100)] — властивості представлення даних специфічного поля у таблиці, має формат {вирівнювання}:{ширина}:{позиція}, де:

  - вирівнювання — вирівнювання стовпчика, підтримуються значення: "left", "center", "right"; де значення "left" по замовченню для рядків та "center" для інших;
  - ширина — примусова ширина стовпчика, у відсотках за символу "%" у кінці або у пікселях;
  - позиція — позиція стовпчика у вигляді рядка, тож ви можете записати це на кшталт "005" для правильного сортування.

- FILTER [text] — властивості специфічного поля щодо приготування фільтрації та індексування списків для обрання у фільтрі, щодо варіантів: index і list{СимволПоділювача}, де:

  - index — значення стовпчика враховується цілком при індексуванні;
  - list{СимволПоділювача} — значення стовпчика вважається переліком елементів для індексування, поділено символом СимволПоділювача.
  Починаючи із другого рядка ви можете визначити правила підсвітлення у вигляді "{ID}:{FLGS}:{color}:{font}", де:
  - ID — індексоване або перелічене значення у клітинці;
  - FLGS — перелік прапорців [0|1], наразі це лише "Підсвітити [Клітинка|Рядок]";
  - color — колір тла;
  - font — шрифт тексту.

- PROC [text] — процедура обчислення значення клітинки на внутрішній мові JavaLikeCalc.JavaScript OpenSCADA, стовпчик стає логічним; клітинки логічних стовпців не доступні до редагування вручну; всі клітинки запису-рядка доступні у процедурі за їх ІД, включно із обчислювальною, яку ви маєте визначити якимось значенням; можете також використати цю властивість як тимчасову, тобто встановити процедуру для обчислення і потім її очистити;

  Встановлення тут процедури очищуватиме (встановлюватиме у NULL) всі клітинки стовпця!

Дані складу відповідного класу зберігаються у окремій таблиці із назвою "sh_{CLASS}" та структурою "ID, NAME, DSCR, SP_{ID}1, ..., SP_{ID}N", де:

- ID [INT] — автоматичний індекс таблиці, дозволено до зміни видимості;
- NAME [varchar(200)] — назва елементу, дозволено до зміни типу;
- DSCR [text] — опис елементу;
- SP_{ID}X — специфічне поле класу відповідно до ID класу таблиці.

Зі спеціальним сенсом у таблиці "classes" зарезервовано та примусово створювано поля "*TITLE" для загальної локалізованої назви складу та "*NAME", "*DSCR" із контролем відповідних фіксованих полей.

Рис.3.8a. Кадр "Склад" у режимі розробки.

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

Для увімкнення звітності ви маєте розташувати кадр звітності порушень до логічного контейнеру панелей у дереві проєкту.

Використання — виконання
У режимі виконання ви побачити одну велику таблицю для редагування класів (Рис.3.8b) і представлення даних (Рис.3.8c) із редагуванням даних безпосередньо у таблиці, на панелі керування або у формі редагування елементу (Рис.3.8d).

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

У режимі редагування основних даних класу, користувачі, допущені до редагування, можуть додавати, копіювати, видаляти рядки/записи та редагувати поля.

У режимі редагування класу, користувачі, допущені до редагування, можуть додавати нові та видаляти представлені (після видалення останнього елементу) класи; та додавати, видаляти специфічні поля класу і редагувати властивості цих полів.

Для обмеження доступу користувачів наразі надається лише механізм включення користувачів, дозволених для редагування класу та даних, до групи "ITW".

Для генерації окремого звіту користувач може клацнути характерну іконку у правому верхньому куту.

Кадр наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківської сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

Рис.3.8b. Кадр "Склад" у режимі виконання на представлені класу.
Рис.3.8c. Кадр "Склад" у режимі виконання на представлені даних із панеллю контролю.
Fig.3.8d. Кадр "Склад" у режимі виконання на формі редагування елементу.

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Опис
--- | --- | --- | ---
class | Клас: поточний | Рядок | Примусовий/ініціюючий клас першого відкриття.
classEditable (Стала) | Клас: редагований | Логічний | Прапорець дозволу редагування класу.
classFix (Стала) | Клас: фіксований | Рядок | Фіксований клас для якого кадр лише виконується, забороняючи доступ до інших класів.
dataEditable (Стала) | Дані: редаговане | Логічний | Прапорець дозволу редагування основних даних.
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.

Кожна дія на цій панелі управління (зміна завдання ПІД-регулятору, зміна стану дискретного параметру, ...) реєструється у журналі (протоколі) втручань згідно до структури повідомлень дій оператору.

Для кожного відображуваного або керованого параметру можна отримати паспорт, шляхом натискання правої клавіші миші на поле контуру. У паспорті буде представлено всі властивості параметру.

Кадр наразі підтримує функціювання із дуже великим значенням "Період опрацювання" та це значення наразі встановлено для спадкування від батьківської сторінки/сеансу (значення -1). Це можливе завдяки механізму раннього опрацювання подій та можливості контролю періодичності опрацювання із процедури.

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

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
prmId | Параметр: ідентифікатор | Рядок | Вхідний зв'язок | <page>|SHIFR | Ідентифікатор параметру, використовується лише для визначення відповідної сторінки контролю ПІД.
prmShifr | Параметр: шифр | Рядок (переклад) | Вхідний зв'язок | <page>|NAME | Коротка назва параметру — шифр, для розміщення під фреймом та до дій користувача-оператору.
prmDescr | Параметр: опис | Рядок (переклад) | Вхідний зв'язок | <page>|DESCR | Опис параметру, для розміщення до дій користувача-оператору.
prmColor | Параметр: колір границі | Рядок | Вхідний зв'язок | <page>|color | Встановлює колір рамки контуру.
Властивості аналогових пристроїв
prmDemention | Параметр: одиниця виміру | Рядок (переклад) | Вхідний зв'язок | <page>|ed |
prmPrec | Параметр: точність (знаків) | Цілий | Вхідний зв'язок | <page>|prec | Кількість знаків після коми значення параметру та крок зміни ручного вводу значення, а також завдання та виходу ПІД регулятору.
prmVar | Параметр: змінна | Реальний | Повний зв'язок | <page>|var | Безпосереднє значення аналогового параметру.
max | Параметр: максимум | Реальний | Вхідний зв'язок | <page>|max | Максимальна границя значення параметру.
min | Параметр: мінімум | Реальний | Вхідний зв'язок | <page>|min | Мінімальна границя значення параметру.
prmAMax | Параметр: границя верхня аварійна | Реальний | Вхідний зв'язок | <page>|aMax |
prmAMin | Параметр: границя нижня аварійна | Реальний | Вхідний зв'язок | <page>|aMin |
prmWMax | Параметр: границя верхня попереджув. | Реальний | Вхідний зв'язок | <page>|wMax |
prmWMin | Параметр: границя нижня попереджув. | Реальний | Вхідний зв'язок | <page>|wMin |
Ручний аналоговий ввід
prmVarIn | Параметр: ввід змінної | Реальний | Повний зв'язок | <page>|varIn | Вихід ручного вводу значення аналогового параметру. Наявність цього параметру є ознакою того, що параметр визначається як "Ручний аналоговий ввід".
ПІД-регулятор
prmAnalog | Параметр: аналоговий регулятор | Логічний | Вхідний зв'язок | <page>|analog | Ознака аналогового регулятору, за відсутності якого регулятор рахується імпульсним.
prmAuto | Параметр: автомат | Логічний | Повний зв'язок | <page>|auto | Режим регулятору "Автомат".
prmCasc | Параметр: каскад | Логічний | Повний зв'язок | <page>|casc | Режим регулятору "Каскад".
prmSp | Параметр: завдання | Реальний | Повний зв'язок | <page>|sp | Завдання ПІД-регулятору, яке може бути встановлено користувачем.
prmImpQdwnTm | Параметр: імпульсний вихід вниз | Логічний | Вхідний зв'язок | <page>|impQdwn | Вихід "Донизу" імпульсного регулятору.
prmImpQupTm | Параметр: імпульсний вихід вгору | Логічний | Вхідний зв'язок | <page>|impQup | Вихід "Догори" імпульсного регулятору.
prmOut | Параметр: вихід | Реальний | Повний зв'язок | <page>|out | Вихід аналогового ПІД-регулятору для відображення та ручного вводу значення виходу ПІД, у ручному режимі.
prmManIn | Параметр: ручний ввід | Реальний | Повний зв'язок | Parameter|manIn | Ручний ввід нового значення виходу ПІД-регулятору у ручному режимі.
prmNotPID | Параметр: Примусово вимкнути ПІД | Логічний | Вхідний зв'язок | <page>|notPID | Використати за бажання вимкнути представлення ПІД для параметрів із завданням.
Властивості дискретних пристроїв
prmCom | Параметр: команда - "Відкрити" | Логічний | Повний зв'язок | <page>|com |
prmClose | Параметр: команда - "Закрити" | Логічний | Повний зв'язок | <page>|close |
prmStop | Параметр: команда - "Стоп" | Логічний | Повний зв'язок | <page>|stop |
prmComText | Параметр: текст команди | Рядок | Повний зв'язок | Parameter|com_text | Текст команди прямо, отриманий з digComs при формуванні комбобоксу обрання.
digComs | Параметр: дискр. команди | Рядок (переклад) | Вхідний зв'язок | <page>|digComs | Конфігурація команд параметру зі структурою {openLabel}-{color};{closeLabel}-{color};{stopLabel}-{color}, для дискретного блоку, та {com1Label}-{color};{com2Label}-{color};...;{comNLabel}-{color}, для статусу за кодом. Кольори по замовченню для дискретного блоку: "зелений", "червоний" та "жовтий".
prmOpenSt | Параметр: стан - "Відкрито" | Логічний | Вхідний зв'язок | <page>|st_open |
prmCloseSt | Параметр: стан - "Закрито" | Логічний | Вхідний зв'язок | <page>|st_close |
prmStText | Параметр: текст статусу | Рядок | Вхідний зв'язок | <page>|st_text | Текст статусу прямо.
digStts | Параметр: дискр. стани | Рядок (переклад) | Вхідний зв'язок | <page>|digStts | Конфігурація статусів параметру зі структурою {openedLabel}-{color};{closedLabel}-{color}, для дискретного блоку. Кольори по замовченню: "зелений" та "червоний".

### 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".

Використання — виконання
За допомогою панелі користувач має можливість:

- обрати режим відображення графіків діаграми: "Графік", "Спектр частот", "XY";
- обрати час формування діаграми;
- здійснити навігацію за діаграмою на пів або п'ять розмірів області графіку або встановлення часу генерації діаграми у поточний час та час курсору;
- отримати інформацію про час або частоту у поточному положенні курсору;
- обрати розмір (глибину) формування графіку або встановити час початку, також у час курсору;
- обрати архів, що використовується для побудови графіків, з правами доступу "root:ITW";
- керувати вертикальною та горизонтальною шкалою відображення: збільшення та зменшення масштабу, зсуву шкали нагору та додолу, повернення масштабу до початкового значення;
- перемикати режим масштабування шляхом обрамлення вікном, мишею.

Властивості зв'язування та конфігурації

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
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/uk - GFDL | May 2026 | OpenSCADA 0.9.9