Contents
[hide]- 1 Примітиви віджетів
- 1.1 Елементарна графічна фігура (ElFigure)
- 1.2 Елемент форми (FormEl)
- 1.3 Елемент тексту (Text)
- 1.4 Елемент відображення медіа-матеріалів (Media)
- 1.5 Елемент побудови діаграм (Diagram)
- 1.6 Елемент побудови протоколів на основі архівів повідомлень (Protocol)
- 1.7 Елемент формування звітної документації (Document)
- 1.8 Контейнер (Box)
1 Примітиви віджетів
Будь-який наново створюваний віджет засновується на одному з декількох примітивів — кінцевому елементі візуалізації, шляхом встановлення родинних зв'язків як прямо на примітив, так і посередництвом декільком проміжних користувацьких віджетів. Кожний з примітивів містить механізм моделі даних. Екземпляр віджету зберігає значення властивостей власної конфігурації примітиву.
До завдань інтерфейсу візуалізації входить підтримка та робота з моделлю даних примітивів віджетів. Примітиви віджетів повинні бути ретельно опрацьовані та уніфіковані, з метою охопити як можна більше можливостей у як можна меншій кількості слабко пов'язаних один з одним, по призначенню, примітивів.
Таблиця. Бібліотека примітивів віджетів — базові елементи відображення
Ідентифікатор | Найменування | Функція |
---|---|---|
ElFigure | Елементарна графічна фігура |
Примітив є основою відмальовки елементарних графічних фігур зі всілякими комбінаціями їх у одному об'єкті. Передбачається підтримка наступних елементарних фігур:
Для всіх фігур, що містяться у віджеті, встановлюються єдині властивості товщини, кольору та інше, також, передбачається можливість указання вищеперелічених атрибутів для кожної фігури окремо та їх динамізація. |
FormEl | Елемент форми |
Включає підтримку стандартних компонентів форми:
|
Text | Текст | Елемент тексту-мітка. Характеризується типом шрифту, кольором, орієнтацією та вирівнюванням. Передбачається підтримка аргументів. |
Media | Медіа | Елемент відображення растрових та векторних зображень різних форматів, програвання анімованих зображень, програвання аудіо-фрагментів та перегляд відео-фрагментів. |
Diagram | Діаграма | Елемент діаграми з підтримкою можливості відображення декількох потоків у реальному часі для: трендів (часових графіків), частотного спектру, XY діаграм. |
Protocol | Протокол | Елемент протоколу — візуалізатор повідомлень програми, з підтримкою декількох режимів роботи. |
Document | Документ | Елемент формування звітів, журналів та іншої документації на основі доступних даних. |
Box | Контейнер | Містить механізм розташування-включення інших віджетів для формування нових, більш складних, віджетів та сторінок кінцевої візуалізації. |
Function, у планах | Функція API об'єктної моделі OpenSCADA | Невізуальний віджет, на боці виконання, що дозволяє включати обчислювальні функції об'єктної моделі OpenSCADA до СВУ. |
Таблиця. Загальний набір властивостей/атрибутів віджету
Ідентифікатор | Ім'я | Номер | Значення |
---|---|---|---|
id | Ідентифікатор | - | Ідентифікатор елементу. Атрибут тільки для читання, прикликаний надати інформацію про ідентифікатор елементу. |
path | Путь | - | Шлях до цього віджету. Атрибут тільки для читання та надання вичерпної інформації про розташування елементу. |
parent | Батько | - | Шлях до батьківського віджету. Атрибут тільки для читання та надання інформації про розташування предку від якого успадковано віджет. |
owner | Власник | - | Власник та групи віджету, у вигляді "{власник}:{группа[,группа2,группаN]}", по замовченню "root:UI". |
perm | Доступ | - |
Права доступу до віджету, у вигляді "{користувач}{групи}{інші}" плюс ознака наслідування, що вмикає наслідування власника та його прав від вищестоящого віджету.
По замовченню 01000 — наслідування. |
root | Корінь | 1 | Ідентифікатор віджету-примітиву (базового елементу), який лежить у основі образу візуалізації віджету. |
name | Ім'я | - | Ім'я елементу. Доступне до модифікації ім'я елементу. |
dscr | Опис | - | Опис елементу. Текстове поле короткого опису. |
en | Ввімкнено | 5 | Стан "Ввімкнено" елементу. Вимкнений елемент не відображається при виконані. |
active | Активний | 6 | Стан "Активний" елементу. Активний елемент може отримувати фокус при виконанні, тобто — отримувати клавіатурні та інші події з подальшою їх обробкою. |
geomX | Геометрія: x | 7 | Геометрія, координата 'x' положення елементу. |
geomY | Геометрія: y | 8 | Геометрія, координата 'y' положення елементу. |
geomW | Геометрія: ширина | 9 | Геометрія, ширина елементу. |
geomH | Геометрія: висота | 10 | Геометрія, висота елементу. |
geomXsc | Геометрія: x масштаб | 13 | Масштаб елемента по горизонталі. |
geomYsc | Геометрія: y масштаб | 14 | Масштаб елемента по вертикалі. |
geomZ | Геометрія: z | 11 | Геометрія, координата 'z' (рівень) елемента на кадрі. Також визначає порядок передачі фокусу між активними елементами. |
geomMargin | Геометрія: відступ | 12 | Геометрія, поля-відступи елементу. |
tipTool | Допомога: підказка | 15 | Текст короткої допомоги або підказки по даному елементу. Типово реалізується як спливаюча підказка, при утримані курсору миші над елементом. |
tipStatus | Допомога: стан | 16 |
Текст інформації про стан елементу або рекомендації до дії над елементом. Типово реалізується у вигляді повідомлення у рядку статусу, при утримувані курсору миші над елементом.
|
contextMenu | Контекстне меню | 17 |
Контекстне меню у вигляді переліку рядків: "{ItName}:{Signal}".
|
evProc | Обробка подій | - |
Атрибут зберігання сценарію обробки подій безпосереднього управління користувацьким інтерфейсом. Сценарій представляє собою перелік команд інтерфейсу візуалізації, що генеруються при надходженні події (атрибут event). Пряма обробка подій для управління сторінками у вигляді: "{event}:{evSrc}:{com}:{prm}". Де:
Приклади:
|
Додаткові атрибути елементів, поміщених до проєкту у ролі сторінки. | |||
pgOpen | Сторінка: відкрита | - |
Ознака "Сторінка відкрита".
|
pgNoOpenProc | Сторінка: обробляти закритою | - | Ознака "Виконувати сторінку навіть якщо вона закрита". |
pgOpenSrc | Сторінка: джерело відкриття | 3 |
Повня адреса сторінки, що відкрила дану.
|
pgGrp | Сторінка: група | 4 | Група сторінок. ПОРОЖНЯ та "main" група передбачають використання цієї сторінки як Кореневу-основну сторінку, тож така буде замінювати інші Кореневі-головні сторінки; група "fl" призначена для використання у зовнішніх вікнах, які передбачено для багаторазового одночасного відкриття та які не мають відстежуватися на дублікати; решта передбачено для включення у контейнери-бокси або одноразового одночасного відкриття, тож вони примусово перевіряються на дублікати, коли останнє відкривається, а попередні закриваються. |
Додаткові атрибути режиму виконання — сеансу. (Віртуальні атрибути не доступні у процедурі віджету) | |||
event | Події | - | Спеціальний атрибут збору подій віджету у переліку, поділеному новим рядком. Доступ до атрибуту захищено критичною секцією для запобігання втрати подій. Атрибут завжди доступний у процедурі віджету. |
load | Завантаження | -1 | Віртуальна команда групового завантаження даних. |
focus | Фокус | -2 | Спеціальний атрибут індикації факту отримання фокусу, активним віджетом. Атрибут цього віджету та вкладених віджетів доступний у процедурах віджету. |
perm | Доступ | -3 | Віртуальний атрибут прав активного користувача на перегляд та контроль над віджетом. |
- * — Спеціальна функція атрибуту віджета, виконувана у сеансі проєкту при користувацькій модифікації.
Рушій середовища візуалізації передбачає активацію атрибутів, специфічних до візуалізатору. Процес активації здійснюється при відкритті сеансу візуалізації проєкту та передбачає, у цьому проєкті: створення специфічного атрибуту з вказаними властивостями, якщо він відсутній, та активацію відстеження його модифікації рушієм середовища візуалізації, як для атрибутів формування образів примітивів. Для безпосереднього визначення такого атрибута можна також використовувати префікс ідентифікатору атрибуту "vs_", що швидше і виключає стадію активації. З переліком специфічних до візуалізатора атрибутів можна ознайомитися у документації відповідного візуалізатора.
1.1 Елементарна графічна фігура (ElFigure)
Примітив є основою відмальовки елементарних графічних фігур з різноманітною їх комбінацією у одному об'єкті. Враховуючи широкий спектр можливих фігур, які повинен підтримувати примітив, та, у цей-же час, бути достатньо простим у використанні та, по можливості, у реалізації, було вирішено обмежити перелік базових фігур, використаних для побудови результуючих графічних об'єктів, до таких: лінія, дуга, крива Без'є та заливка замкнених контурів. Ґрунтуючись вже на цих базових фігурах, можна будувати довільні фігури, комбінуючи базові. У рамках примітиву існує можливість завдання прозорості кольору у діапазоні [0...255], де '0' — повна прозорість.
Таблиця. Набір додаткових властивостей/атрибутів примітиву "Елементарна фігура (ElFigure)"
1.2 Елемент форми (FormEl)
Примітив, призначений для надання, у розпорядження користувача, стандартних елементів форми. Загальний перелік атрибутів залежить від типу елементу.
Таблиця. Набір додаткових властивостей/атрибутів примітиву "Елемент форми (FormEl)"
Ідентифікатор | Ім'я | Номер | Значення |
---|---|---|---|
elType | Тип елементу | 20 | Тип елементу, від значення якого залежить перелік додаткових атрибутів:
|
Рядок редагування: | |||
value | Значення | 21 | Вміст рядку. |
view | Вид | 22 | Вид рядка редагування:
|
cfg | Конфігурація | 23 |
Конфігурація рядку. Формат значення даного поля для різних видів рядка:
|
confirm | Підтверджувати | 24 | Включення режиму підтвердження. |
font | Шрифт | 25 |
Ім'я шрифту у вигляді "{family} {size} {bold} {italic} {underline} {strike}", де:
Приклади:
|
Редактор тексту: | |||
value | Значення | 21 | Вміст редактору. |
wordWrap | Перенесення слів | 22 | Автоматичний перенесення тексту за словами. |
confirm | Підтверджувати | 24 | Включення режиму підтвердження. |
font | Шрифт | 25 | Ім'я шрифту у вигляді "{family} {size} {bold} {italic} {underline} {strike}" (деталі вище). |
Прапорець: | |||
name | Ім'я | 26 | Ім'я/мітка прапорця. |
value | Значення | 21 | Значення прапорця. |
font | Шрифт | 25 | Ім'я шрифту у вигляді "{family} {size} {bold} {italic} {underline} {strike}" (деталі вище). |
Кнопка: | |||
name | Ім'я | 26 | Ім'я-надпис на кнопці. Допустимі символи '\n' для можливості вводу багаторядних надписів. |
value | Значення | 21 |
Значення, відрізняється для різних режимів:
|
img | Зображення | 22 |
Зображення на кнопці. Ім'я зображення у вигляді "[{src}:]{name}", де:
Приклади:
|
color | Колір | 23 |
Колір кнопки. Ім'я кольору у вигляді "{color}[-{alpha}]", де:
Приклади:
|
colorText | Колір: текст | 27 | Колір тексту (деталі вище). |
mode | Режим | 24 |
Режим роботи кнопки:
|
font | Шрифт | 25 | Ім'я шрифту у вигляді "{family} {size} {bold} {italic} {underline} {strike}" (деталі вище). |
Список: | |||
value | Значення | 21 | Поточне значення списку. |
items | Елементи | 22 | Перелік елементів списку. |
font | Шрифт | 25 | Ім'я шрифту у вигляді "{family} {size} {bold} {italic} {underline} {strike}" (деталі вище). |
mult | Множинний вибір | 23 | Дозволяти вибір множини елементів списку. |
Вибір зі списку, Дерево: | |||
value | Значення | 21 | Поточне значення переліку. |
items | Елементи | 22 | Перелік елементів списку або ієрархічних елементів дерева у вигляді шляху "/{КАТ}/{КАТ}/{ЕЛЕМ}". |
font | Шрифт | 25 | Ім'я шрифту у вигляді "{family} {size} {bold} {italic} {underline} {strike}" (деталі вище). |
Таблиця: | |||
set | Значення встановлення | 23 | Значення редагування клітинки таблиці з адресою у події "ws_TableEdit_{colN}_{rowN}". |
value | Значення | 21 |
Адреса обраного елементу. Зміна супроводжується подією "ws_TableChangeSel". Формат адреси залежить від режиму обрання таблиці:
|
items | Елементи | 22 |
Структура та вміст таблиці у вигляді XML: <tbl>
<h><s>{Заголовок1}</s><s>{Заголовок2}</s></h>
<r><s>{Рядок1Стовпчик1Рядок}</s><i>{Рядок1Стовпчик2Ціле}</i></r>
<r><b>{Рядок2Стовпчик1Логічне}</b><r>{Рядок2Стовпчик2Реальне}</r></r>
</tbl>
Теги:
|
font | Шрифт | 25 | Ім'я шрифту у вигляді "{family} {size} {bold} {italic} {underline} {strike}" (деталі вище). |
Слайдер та стрічка гортання: | |||
value | Значення | 21 | Положення слайдеру. |
cfg | Конфігурація | 22 |
Конфігурація слайдеру у форматі: "{ВертОрієнт}:{Мінімум}:{Максимум}:{ОдинКрок}:{СторКрок}".
|
1.3 Елемент тексту (Text)
Даний примітив призначено для виводу простого та HTML тексту, що використовується у ролі міток та різних підписів. З метою створення декоративних оформлень, примітив підтримує обведення тексту рамкою.
Таблиця. Набір додаткових властивостей/атрибутів примітиву "Елемент тексту (Text)"
Ідентифікатор | Ім'я | Номер | Значення |
---|---|---|---|
backColor | Фон: колір | 20 |
Фоновий колір. Ім'я кольору у виді "{color}[-{alpha}]", де:
Приклади:
|
backImg | Фон: зображення | 21 |
Фонове зображення. Ім'я зображення у виді "[{src}:]{name}", де:
Приклади:
|
bordWidth | Границя: ширина | 22 | Ширина бордюру. |
bordColor | Границя: колір | 23 | Колір бордюру (детальніше у атрибуті 20). |
bordStyle | Границя: стиль | 24 | Стиль бордюру: "Немає" (0), "Точковий" (1), "Пунктирний" (2), "Суцільний" (3), "Подвійний" (4), "Канавка" (5), "Кромка" (6), "Втиснутий" (7), "Виступаючий" (8). |
font | Шрифт | 25 |
Ім'я шрифту у виді "{family} {size} {bold} {italic} {underline} {strike}", де:
Приклади:
|
color | Колір | 26 | Колір тексту (детальніше у атрибуті 20). |
orient | Кут повороту | 27 | Орієнтація тексту, кут повороту. |
wordWrap | Перенесення слів | 28 | Автоматичне перенесення тексту за словами. |
alignment | Вирівнювання | 29 | Вирівнювання тексту: "Зверху ліворуч" (0), "Зверху праворуч" (1), "Зверху у центрі" (2), "Зверху по ширині" (3), "Знизу ліворуч" (4), "Знизу праворуч" (5), "Знизу у центрі" (6), "Знизу по ширині" (7), "У центрі ліворуч" (8), "У центрі праворуч" (9), "У центрі" (10), "У центрі по ширині" (11). |
inHtml | В HTML | 31 | Відображення та підтримка вмісту аргументу text у HTML. |
text | Текст | 30 | Значення тексту. Використовуйте "%{x}" для розташування значення аргументу "x" (від 1). |
numbArg | Кількість аргументів | 40 | Кількість аргументів. |
Атрибути аргументів | |||
arg{x}val | Аргумент {x}: значення | 50+10*x | Значення аргументу x. |
arg{x}tp | Аргумент {x}: тип | 50+10*x+1 | Тип аргументу x: "Цілий" (0), "Реальний" (1), "Рядок" (2). |
arg{x}cfg | Аргумент {x}: конфігурація | 50+10*x+2 |
Конфігурація аргументу x:
|
1.4 Елемент відображення медіа-матеріалів (Media)
Даний примітив призначено для програвання різних медіа-матеріалів, починаючи від простих зображень та закінчуючи повноцінними аудіо та відео потоками.
Таблиця. Набір додаткових властивостей/атрибутів примітиву "Елемент відображення медіа-матеріалів (Media)"
Ідентифікатор | Ім'я | Номер | Значення |
---|---|---|---|
backColor | Фон: колір | 20 |
Фоновий колір. Ім'я кольору у виді "{color}[-{alpha}]", де:
Приклади:
|
backImg | Фон: зображення | 21 |
Фонове зображення. Ім'я зображення у виді "[{src}:]{name}", де:
Приклади:
|
bordWidth | Границя: ширина | 22 | Ширина бордюру. |
bordColor | Границя: колір | 23 | Колір бордюру (детальніше у атрибуті 20). |
bordStyle | Границя: стиль | 24 | Стиль бордюру: "Немає", "Точковий", "Пунктирний", "Суцільний", "Подвійний", "Канавка", "Кромка", "Втиснутий", "Виступаючий". |
src | Джерело | 25 |
Ім'я джерела медіа у виді "[{src}:]{name}", де:
Приклади:
|
type | Тип | 27 |
Тип медіа:
|
areas | Області карти | 28 | Кількість активних областей. |
Атрибути зображення (Image) | |||
fit | Заповнювати віджет | 26 | Ознака вписування вмісту у розмір віджету. |
keepAspect | Зберігати співвідношення за вписування | 35 | Ознака збереження співвідношення сторін зображення при вписувані у повні розміри віджету. |
Атрибути анімації-відеоролику (Animation) | |||
fit | Заповнювати віджет | 26 | Ознака вписування вмісту у розмір віджету. |
speed | Швидкість програвання | 29 | Швидкість програвання, у відсотках від оригінальної швидкості. Якщо значення менше або дорівнює 1% то програвання припиняється. |
Атрибути повноформатного відео (Full video) | |||
play | Грати | 29 | Відео/аудіо — "Грати". |
roll | Завертати програвання | 30 | Повторення програвання по завершенню. |
pause | Пауза | 31 | Призупиняти програвання. |
size | Розмір | 32 | Загальний розмір відео, у мілісекундах. |
seek | Положення | 33 | Позиція програвання відео, у мілісекундах. |
volume | Гучність | 34 | Гучність звуку [0...100]. |
Активні області | |||
area{x}shp | Область {x}: образ | 40+3*x | Вид області x: "Квадрат", "Полілінія", "Коло". |
area{x}coord | Область {x}: координати | 40+3*x+1 | Координати області x, через кому йдуть координати: "x1,y1,x2,y2,xN,yN". |
area{x}title | Область {x}: заголовок | 40+3*x+2 | Заголовок області x. |
1.5 Елемент побудови діаграм (Diagram)
Цей примітив призначено для побудови різних діаграм у часі, включаючи графіки-тренди відображення поточного процесу та архівних даних. Реалізовано наступні типи діаграм:
- "Графік-тренд" — будує графік значень параметру у часі.
- "Спектр" — будує частотний спектр із значень параметрів. Вікно даних частотного спектру формується виходячи із розміру віджету по горизонталі, у пікселях, та доступних даних параметрів, накладених на ґратку горизонтального розміру. У зв'язку з цим, мінімальна виділювана частота визначається значенням атрибуту "tSize" — "1/tSize", а максимальна, половинною шириною графіка у пікселях помноженою на мінімальну частоту "width/(2*tSize)".
- "XY" — будує двомірний графік значень параметрів, парами на графік, де парні по осі Y (0,2,4...) та непарні по осі X (1,3,5...). Вказаний діапазон часу даних використовується у отримані значень параметрів осі X та Y, з подальшим зображенням.
Для всіх типів діаграм можливе визначення, у якості джерела даних:
- параметру підсистеми "Збір Даних";
- архіву значень;
- прямого блоку даних користувача.
Підтримується режим слідкування за поточними значеннями та значеннями з архіву, а також, можлива побудова графіків параметрів, що не мають архіву значень, шляхом накопичення поточних значень у буфері діаграми та тільки на момент активного відображення цієї діаграми.
Процес доступу до архівних даних оптимізовано шляхом введення проміжного буферу відображення, а також, упаковки трафіку даних при запиті, шляхом приведення даних до якості достатньої для відображення.
Таблиця. Набір додаткових властивостей/атрибутів примітиву "Елемент побудови діаграм (Diagram)"
Ідентифікатор | Ім'я | Номер | Значення |
---|---|---|---|
backColor | Фон: колір | 20 |
Фоновий колір. Ім'я кольору у виді "{color}[-{alpha}]", де:
Приклади:
|
backImg | Фон: зображення | 21 |
Фонове зображення. Ім'я зображення у виді "[{src}:]{name}", де:
Приклади:
|
bordWidth | Границя: ширина | 22 | Ширина бордюру. |
bordColor | Границя: колір | 23 | Колір бордюру (детальніше у атрибуті 20). |
bordStyle | Границя: стиль | 24 | Стиль бордюру: "Немає", "Точковий", "Пунктирний", "Суцільний", "Подвійний", "Канавка", "Кромка", "Втиснутий", "Виступаючий". |
trcPer | Період стеження, секунд | 25 | Режим та періодичність стеження. |
type | Тип | 26 | Тип діаграми: "Графік", "Спектр", "XY". |
Атрибути, загальні для всіх типів | |||
tSek | Час: секунди | 27 | Поточний час, секунд. |
tUSek | Час: мікросекунди | 28 | Поточний час, мікросекунди. |
tSize | Розмір, секунди | 29 | Розмір даних, секунди. |
curSek | Курсор: секунди | 30 | Положення курсору, секунди. |
curUSek | Курсор: мікросекунди | 31 | Положення курсору, мікросекунди. |
curColor | Курсор: колір | 32 | Колір курсору. |
sclColor | Шкала: колір | 33 | Колір шкали-решітки (детальніше у атрибуті 20). |
sclHor | Шкала: горизонтальна | 34 | Режим горизонтальної шкали-решітки: "Не зображувати", "Ґратка", "Маркери", "Ґратка та маркери", "Ґратка (лог)", "Маркери (лог)", "Ґратка та маркери (лог)". |
sclHorScl | Шкала: гориз. масштаб (%) | 44 | Горизонтальний масштаб графіку у відсотках, виключно для типу "XY". |
sclHorSclOff | Шкала: зміщ. гориз. масштабу (%) | 45 | Зміщення горизонтального масштабу у відсотках, виключно для типу "XY". |
sclVer | Шкала: вертикальна | 35 | Режим вертикальної шкали-решітки: "Не зображувати", "Ґратка", "Маркери", "Ґратка та маркери", "Ґратка (лог)", "Маркери (лог)", "Ґратка та маркери (лог)". |
sclVerScl | Шкала: верт. масштаб (%) | 40 | Вертикальний масштаб графіку у відсотках. |
sclVerSclOff | Шкала: зміщ. верт. масштабу (%) | 41 | Зміщення вертикального масштабу у відсотках. |
sclMarkColor | Шкала: Маркери: колір | 36 | Колір маркерів шкали-решітки (детальніше у атрибуті 20). |
sclMarkFont | Шкала: Маркери: шрифт | 37 |
Шрифт маркерів шкали-решітки. Ім'я шрифту у виді "{family} {size} {bold} {italic} {underline} {strike}", де:
Приклади:
|
valArch | Архіватор значень | 38 | Архіватор значень у вигляді "{МодульАрхівів}.{IdАрхіватору}". |
valsForPix | Значень на піксель | 42 | Кількість значень на піксель. Збільшити для розширення точності експорту на великих інтервалах часу. |
parNum | Кількість параметрів | 39 | Кількість параметрів, що відображаються на одному тренді. |
Атрибути типу: "Графік" | |||
sclHorPer | Шкала: розмір гор. ґратки, секунди | 43 | Фіксований період ґратки горизонтальної шкали — вимикає автоматичне обчислення періоду ґратки. Активується якщо кількість періодів на загальний розмір більш двох та розмір одного періоду не менше 15 пікселів. |
Індивідуальні атрибути параметрів | |||
prm{X}addr | Параметр {X}: адреса | 50+10*{X} |
Повна адреса до атрибуту параметру X DAQ або архіву.
Приклад:
|
prm{X}bordL | Параметр {X}: границя відображ.: нижня | 50+10*{X}+1 | Нижня границя значень параметру X. |
prm{X}bordU | Параметр {X}: границя відображ.: верхня | 50+10*{X}+2 | Верхня границя значень параметру X. |
prm{X}color | Параметр {X}: колір | 50+10*{X}+3 | Колір відображення графіку параметру X (детальніше у атрибуті 20). |
prm{X}width | Параметр {X}: ширина | 50+10*{X}+6 | Ширина лінії графіку параметра X, у пікселях. |
prm{X}scl | Параметр {X}: шкала | 50+10*{X}+5 | Режим окремої вертикальної шкали параметру X: "Глобально", "Маркери", "Ґратка та маркери", "Маркери (лог)", "Ґратка та маркери (лог)". |
prm{X}val | Параметр {X}: значення | 50+10*{X}+4 | Значення параметру X під курсором, або на поточний час, для типа "XY". |
prm{X}prop | Параметр {X}: властивості | 50+10*{X}+7 | Властивості реального архіву у вигляді "{BegArh}:{EndArh}:{DataPeriod}", де "BegArh", "EndArh", "DataPeriod" — початок, кінець та період даних архіву, у секундах, у реальному представлені, безпосередньо до мікросекунд (1e-6). |
1.6 Елемент побудови протоколів на основі архівів повідомлень (Protocol)
Цей примітив призначено для візуалізації даних архіву повідомлень шляхом формування протоколів з різними способами візуалізації, починаючи від статичного сканувального перегляду та закінчуючи динамічним стеженням.
Таблиця. Набір додаткових властивостей/атрибутів примітиву "Елемент побудови протоколів на основі архівів повідомлень (Protocol)"
Ідентифікатор | Ім'я | Номер | Значення |
---|---|---|---|
backColor | Фон: колір | 20 |
Фоновий колір. Ім'я кольору у виді "{color}[-{alpha}]", де:
Приклади:
|
backImg | Фон: зображення | 21 |
Фонове зображення. Ім'я зображення у виді "[{src}:]{name}", де:
Приклади:
|
font | Шрифт | 22 |
Ім'я шрифту у виді "{family} {size} {bold} {italic} {underline} {strike}", де:
Приклади:
|
headVis | Заголовок видимий | 23 | Видимість заголовку таблиці. |
time | Час, секунди | 24 | Поточний час, секунди. |
tSize | Розмір, секунди | 25 | Розмір запиту даних, секунди. Встановіть значення у '0' для отримання всіх порушень, для "lev" < 0. |
trcPer | Період стеження, секунди | 26 | Режим та періодичність стеження. |
arch | Архіватор | 27 | Архіватор повідомлень у вигляді "{МодульАрхівів}.{IdАрхіватору}". |
tmpl | Шаблон | 28 |
Шаблон категорії або регулярний вираз "/{re}/". Для шаблона зарезервовано символи:
|
lev | Рівень | 29 | Рівень повідомлень. Встановіть значення < 0 для отримання поточних порушень. |
viewOrd | Порядок відображення | 30 | Порядок відображення: "За часом", "За рівнем", "За категорією", "За повідомленням", "За часом (обернений)", "За рівнем (обернений)", "За категорією (обернений)", "За повідомленням (обернений)". |
col | Показати стовпчики | 31 |
Перелік видимих та порядок стовпчиків, поділених символом ';'. Передбачаються стовпчики:
|
itProp | Властивості елементу | 32 | Кількість властивостей елементу. |
Індивідуальні атрибути властивостей елемента | |||
it{X}lev | Елемент {X}: рівень | 40+5*{X} | Критерій: рівень елементу X більш або дорівнює вказаному. |
it{X}tmpl | Елемент {X}: шаблону | 40+5*{X}+1 | Критерій: шаблон категорії елементу X (детальніше у атрибуті 28). |
it{X}fnt | Елемент {X}: шрифт | 40+5*{X}+2 | Шрифт елементу X (детальніше у атрибуті 22). |
it{X}сolor | Елемент {X}: кольору | 40+5*{X}+3 | Колір елементу X (детальніше у атрибуті 20). |
1.7 Елемент формування звітної документації (Document)
Примітив призначено для формування звітної, оперативної та іншої документації на основі шаблонів документів.
Таблиця. Набір додаткових властивостей/атрибутів примітиву "Елемент формування звітної документації (Document)"
Ідентифікатор | Ім'я | Номер | Значення |
---|---|---|---|
style | CSS | 20 | Правила CSS в рядках, виду "body { background-color:#818181; }". |
tmpl | Шаблон | 21 |
Шаблон документу у XHTML, починаючи з тегу "body" та включаючи процедурні вставки: <body docProcLang="JavaLikeCalc.JavaScript">
<h1>Значення<?dp return wCod+1.314;?></h1>
</body>
|
doc | Документ | 22 | Фінальний документ у XHTML, починається з тегу "body". |
font | Шрифт | 26 |
Базовий шрифт тексту документа. Ім'я шрифту у виді "{family} {size} {bold} {italic} {underline} {strike}", де:
Приклади:
|
bTime | Час: початок | 24 | Час початку документу, секунди. |
time | Час: поточне | 23 | Час генерації документу, секунди. Записати час для генерації документа від цієї точки або нуль для перегенерації. |
process | У процесі | 27 | Ознака процесу формування документу окремим потоком. |
n | Розмір архіву | 25 | Кількість документів або глибина архіву. |
Атрибути увімкненого режиму архівування | |||
aCur | Архів: курсор: поточний | - | Позиція поточного документу у архіві. Запис значення <0 здійснює архівацію поточного документу. |
vCur | Архів: курсор: вид | - |
Поточний візуалізований документ архіву. Запис значення:
|
aDoc | Архів: поточний документ | - | Поточний документ архіву у XHTML, починається з тегу "body". |
aSize | Архів: розмір | - | Реальний розмір архіву документу. |
Можливості примітиву "Документ":
- Гнучке формування структури документу на основі мови гіпертекстової розмітки, що надає підтримку широких можливостей форматування документів.
- Формування документів за командою або розкладом, що необхідно для формування звітної документації до архіву, з подальшим переглядом архіву.
- Формування документів у режимі реального часу, для надання їх повністю динамічно та на основі архівів за вказаний час.
- Використання атрибутів віджету для передачі у документ значень та адрес на архіви, що дозволяє використовувати віджет документу як шаблон, при формуванні звітів з іншими вхідними даними.
У основі будь-якого документу лежить XHTML-шаблон. XHTML-шаблон це тег "body" WEB-сторінки, що містить статику документу у стандарті XHTML 1.0 та елементи виконувальних інструкцій на мові користувацького програмування OpenSCADA, у вигляді <?dp {procedure} ?>. Результуючий документ формується шляхом виконання процедур та вставки їх результату у документ.
Джерелом значень виконуваних інструкцій є атрибути віджету цього примітиву, а також всі механізми мови користувацького програмування OpenSCADA. Атрибути можуть додаватися користувачем та лінкуватися на реальні атрибути параметрів або-ж бути автономними, значення яких будуть формуватися у процедурі віджету. У випадку зі злінкованими атрибутами, значення можуть вийматися з архіву-історії.
На рисунку зображено структурну схему віджету примітива "Документ". Згідно цієї структури, "Документ" містить: XHTML-шаблон, результатні документи та процедуру обробки даних. Джерелом даних процедури та результатних документів є атрибути віджету.
Передбачено роботу віджету у двох режимах: "Динамічний" та "Архівний". Відмінністю архівного режиму є наявність архіву визначеної глибини та атрибутів, що дозволяють керувати процесом архівування та перегляду вказаного документу у архіві.
Генерація документу завжди здійснюється у момент встановлення атрибуту часу time відносно встановленого раніш початкового часу документу у атрибуті bTime. При вимкненому архіві, результатний документ поміщається безпосередньо у атрибут doc. При увімкненому архіві, результатний документ поміщається до клітинки під курсором, атрибут aCur, а також у doc, якщо значення курсору архіву aCur та курсору візуалізованого документу vCur збігаються. Атрибути архівних курсорів передбачають декілька командних значень:
- "aCur < 0" — переміщує курсор архіватору на наступну позицію, тим самим залишаючи попередній документ у архіві та очищаючи документ під курсором, якщо кільцевий архів замкнувся.
- "vCur == -1" — вибір наступного документу для відображення, обраний документ копіюється до атрибуту doc.
- "vCur == -2" — вибір попереднього документу для відображення, обраний документ копіюється до атрибуту doc.
Як було вказано вище, динаміка шаблону документа визначається вставками виконуваних інструкцій виду "<?dp {procedure} ?>". У процедурах можуть використовуватися однойменні атрибути віджету та функції користувацького інтерфейсу програмування OpenSCADA. Крім атрибутів віджету, зарезервовано спеціальні атрибути, дивись таблицю.
Таблиця. Спеціальні та зарезервовані елементи шаблону.
Ім'я | Призначення |
---|---|
Атрибути | |
rez | Атрибут результату виконання процедури, вміст якого поміщається у дерево документа. |
lTime | Час останнього формування. Якщо документ формується вперше то lTime дорівнює bTime. |
rTime | Містить час перебируваних значень, секунди, визначається всередині тегів з атрибутом "docRept". |
rTimeU | Містить час перебируваних значень, мікросекунди, визначається всередині тегів з атрибутом "docRept". |
rPer | Містить період перебору значень, атрибут "docRept". |
mTime, mTimeU, mLev, mCat, mVal |
Визначаються всередині тегів з атрибутом "docAMess" при розборі повідомлень архіву повідомлень:
|
Спеціальні теги | |
Спеціальні атрибути стандартних тегів | |
body.docProcLang | Мова виконуваних процедур документу, по замовченню це "JavaLikeCalc.JavaScript". |
*.docRept="1s" | Тег з указаним атрибутом розмножується, при формуванні, шляхом зсуву часу у атрибуті "rTime" на значення, вказане у даному атрибуті. |
*.docAMess="1:PLC*" | Вказує на необхідність розмноження тегу з атрибутом, повідомленнями з архіву повідомлень за вказаний інтервал часу, згідно рівня "1" та шаблону запиту "PLC*", за категорією повідомлення. У шаблоні запиту можуть вказуватися регулярні вирази у вигляді "/{re}/". Для даного тегу, у процесі розмноження, визначаються атрибути: "mTime", "mTimeU", "mLev", "mCat" и "mVal". |
*.docAMessArchs="ArchMod0.Archivator0[;ArchModN.ArchivatorN]" | Доповнює атрибут "*.docAMess" переліком архіваторів для читання повідомлень. |
*.docRevers="1" | Вказує на інвертування порядку розмноження — останній нагорі. |
*.docAppend="1" | Ознака необхідності додання результату виконання процедури до тегу процедури. Інакше результат виконання заміняє вміст тегу. |
body.docTime | Час формування документу, використовується для встановлення атрибуту lTime при наступному формуванні документа. Не встановлюється користувачем! |
table.export="1" | Ввімкнення можливості експорту вмісту вказаної таблиці у CSV-файл або інші табличні формати. |
1.8 Контейнер (Box)
Примітив контейнеру, використовується для формування складених віджетів та/або сторінок користувацького інтерфейсу.
Таблиця. Набір додаткових властивостей/атрибутів примітиву "Контейнер (Box)"
Ідентифікатор | Ім'я | Номер | Значення |
---|---|---|---|
pgOpenSrc | Сторінка: джерело відкриття | 3 | Повна адреса сторінки, яка включена усередину даного контейнеру. |
pgGrp | Сторінка: група | 4 | Група контейнеру включених сторінок. Лише сторінки у такій групі включатимуться до цього боксу як контейнеру. |
backColor | Фон: колір | 20 |
Фоновий колір. Ім'я кольору у виді "{color}[-{alpha}]", де:
Приклади:
|
backImg | Фон: зображення | 21 |
Фонове зображення. Ім'я зображення у виді "[{src}:]{name}", де:
Приклади:
|
bordWidth | Границя: ширина | 22 | Ширина бордюру. |
bordColor | Границя: колір | 23 | Колір бордюру (детальніше у атрибуті 20). |
bordStyle | Границя: стиль | 24 | Стиль бордюру: "Немає", "Точковий", "Пунктирний", "Суцільний", "Подвійний", "Канавка", "Кромка", "Втиснутий", "Виступаючий". |