From OpenSCADAWiki
Jump to: navigation, search
This page is a translated version of the page Libs/Documents and the translation is 100% complete.

Other languages:
English • ‎mRussian • ‎Українська
Назва Версія Ліцензія Джерело Мови Автор Іконка Опис
Бібліотека звітів та документів 2.0, 2.1 GPLv2

OscadaLibs.db (SQL, GZip) > DAQ.JavaLikeCalc.doc
vcaBase.db (SQL, GZip) > VCA.wlb_doc

en, uk, ru Роман Савоченко LibDocuments.png Надає комбіновану бібліотеку звітів, документів та пов'язаних функцій загальної та промислової автоматизації.
- розширити документ "Річний звіт місячних значень" опрацюванням переповнень лічильників введених вручну;
- розширити функцію документів "Діаграма" підтримкою смужкового графіку (гістограм).

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

Назви елементів та їх параметрів доступні на мовах: Англійська, Українська та mRussian. Їх вихідний код написано у мово(людська)-незалежному режимі з викликом функції перекладу tr() та переклад цих повідомлень також доступний Англійською, Українською та mRussian.

1 Документи

Містить елементи-кадри документів шаблонного та кінцевого типів, що призначені для розташування у розділі "Документи" (вид відображення) дерева сторінок проекту, побудованого за концепцією об'єктів сигналізації кореневої сторінки "RootPgSo". Однак, вони можуть бути розташовані як окремі сутності або у складі власної концепції керування сторінками, але тут треба враховувати, що кадри часто посилаються та викликають панель документів!

Для підключення частини бібліотеки до проекту станції 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.1 Документ - архівний (doc)

1.2 GPLv2 * en, uk, ru Роман Савоченко

Кадр, представлений на рисунку 1.1, є шаблоном документу архівного типу, він надається як приклад та для побудови власних архівних документів на його основі. Основною специфікою документу цього типу є періодична генерація на рівні СВУ-сеансу (у фоні) та розміщення фінальних та готових документів у архіві, таблиця БД сеансу СВУ-проекту "prj_{ProjID}_ses".

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

At.png Відтак, документи такого типу доцільні до використання на стаціонарних АРМ оператору, навіть якщо це відтворення із серверу візуалізації, та малокорисні у WEB-інтерфейсі!

Рис.1.1. Кадр "Документ - архівний" у режимі розробки.

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


1.1.1 Добовий звіт середніх за годину значень (docRepDay)

3.2 GPLv2 * en, uk, ru Роман Савоченко -1 мс (предок)

Документ, представлений на рисунку 1.1.1, слугує для генерації добового звіту середніх за годину значень у вигляді діаграми трендів та таблиці даних. Документ початково архівного типу, та з часом він зроблений і динамічним, відтак, залежно від режиму виконання, ви можете або обирати готові документи із архіву або визначити час та глибину даних. Документ загалом використовує та представляє представницьку структуру DAQ-шаблону "Аналоговий сигнал". У якості джерела даних документу виступають архіви значень DAQ-параметрів.

Робота у первинному архівному режимі відбувається із періодом 5 хвилин, коли протягом години формується один запис-рядок. Останній запис-рядок закривається на п'ятій хвилині нової години (наприклад, 14:05) та розпочинається новий запис-рядок. Весь та завершений документ архівується на третій хвилині "Звітного часу (repHour)" наступного дня (наприклад, 09:03).

  • Спонсоровано щодо динамізації: ТОВ BLUE STAR GROUP і Вінницька Птахофабрика
Рис.1.1.1. Документ "Добовий звіт середніх за годину значень" у режимі виконання.

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

At.png Для кожного документу можна встановити:

  • атрибут "Розмір архіву (n)" у потрібне значення розміру архіву документу або у 0 для динамічного режиму;
  • атрибут "Архіватор (arch)" у потрібний архіватор, що обслуговує визначені параметри; ви не маєте використовувати архіватори із якістю гірше за одну хвилину;
  • атрибут "Звітний час (repHour)" у годину звітності документу — годину початку доби;
  • атрибут "Ввімкнути графік (enGraph)" для ввімкнення/вимкнення графіку;
  • атрибут "Заголовок (title)" у специфічний заголовок документу.

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

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

Ідентифікатор Ім'я Тип Конфігурація Конфігураційний шаблон Опис
n Розмір архіву, 0 для динамічного режиму Цілий Стала Встановленням розміру архіву у 0 ви перемкнете документ у динамічний режим, по замовченню 100.
repHour Звітний час Цілий Стала Година що вважається стартом звіту — початок дня, по замовченню 9.
Віджет документу (doc)
arch Архіватор Рядок Стала Архіватор значень, по замовченню та найліпше використовувати одно-хвилинний архіватор "FSArch.1m".
title Заголовок Рядок Стала Заголовок звіту
enGraph Ввімкнути графік Логічний Стала Ввімкнено по замовченню.
Параметр {n} від 1 до 10.
p{n}name Параметр {n}: назва Рядок Вхідний зв'язок Parameter{n}|NAME Назва параметру у заголовку таблиці.
p{n}var Параметр {n}: змінна Адреса Вхідний зв'язок Parameter{n}|var Адреса до атрибуту параметру із архівом значень.
p{n}ed Параметр {n}: одиниця виміру Рядок Вхідний зв'язок Parameter{n}|ed
p{n}prec Параметр {n}: точність Цілий Вхідний зв'язок Parameter{n}|prec
p{n}cntr Параметр {n}: це лічильник Логічний Стала Parameter{n}|isCntr Встановлюється для лічильників з метою отримання значень як різницю.
p{n}max Параметр {n}: максимум Адреса Вхідний зв'язок Parameter{n}|max Використано для визначення шкали параметру на графіку.
p{n}min Параметр {n}: мінімум Адреса Вхідний зв'язок Parameter{n}|min Використано для визначення шкали параметру на графіку.


1.1.2 Місячний звіт середніх за добу значень (docRepMonth)

3.2 GPLv2 * en, uk, ru Роман Савоченко -1 мс (предок)

Документ, представлений на рисунку 1.1.2, слугує для генерації місячного звіту середніх за добу значень у вигляді діаграми трендів та таблиці даних. Документ початково архівного типу, та з часом він зроблений і динамічним, відтак, залежно від режиму виконання, ви можете або обирати готові документи із архіву або визначити час та глибину даних. Документ загалом використовує та представляє представницьку структуру DAQ-шаблону "Аналоговий сигнал". У якості джерела даних документу виступають архіви значень DAQ-параметрів.

Робота у первинному архівному режимі відбувається із періодом 5 хвилин, коли протягом доби формується один запис-рядок. Останній запис-рядок закривається на п'ятій хвилині нової доби (наприклад, 05 09:05) та розпочинається новий запис-рядок. Весь та завершений документ архівується на третій хвилині "Звітного часу (repHour)" наступного місяця (наприклад, 05 09:03).

  • Спонсоровано щодо динамізації: ТОВ BLUE STAR GROUP
Рис.1.1.2. Документ "Місячний звіт середніх за добу значень" у режимі виконання.

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

At.png Для кожного документу можна встановити:

  • атрибут "Розмір архіву (n)" у потрібне значення розміру архіву документу або у 0 для динамічного режиму;
  • атрибут "Архіватор (arch)" у потрібний архіватор, що обслуговує визначені параметри; ви не маєте використовувати архіватори із якістю гірше за одну добу;
  • атрибут "Звітний час (repHour)" у годину звітності документу — годину початку доби;
  • атрибут "Ввімкнути графік (enGraph)" для ввімкнення/вимкнення графіку;
  • атрибут "Заголовок (title)" у специфічний заголовок документу.

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

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

Ідентифікатор Ім'я Тип Конфігурація Конфігураційний шаблон Опис
n Розмір архіву, 0 для динамічного режиму Цілий Стала Встановленням розміру архіву у 0 ви перемкнете документ у динамічний режим, по замовченню 100.
repHour Звітний час Цілий Стала Година що вважається стартом звіту — початок дня, по замовченню 9.
Віджет документу (doc)
arch Архіватор Рядок Стала Архіватор значень, по замовченню та найліпше використовувати одно-хвилинний архіватор "FSArch.1m".
title Заголовок Рядок Стала Заголовок звіту
enGraph Ввімкнути графік Логічний Стала Ввімкнено по замовченню.
Параметр {n} від 1 до 10.
p{n}name Параметр {n}: назва Рядок Вхідний зв'язок Parameter{n}|NAME Назва параметру у заголовку таблиці.
p{n}var Параметр {n}: змінна Адреса Вхідний зв'язок Parameter{n}|var Адреса до атрибуту параметру із архівом значень.
p{n}ed Параметр {n}: одиниця виміру Рядок Вхідний зв'язок Parameter{n}|ed
p{n}prec Параметр {n}: точність Цілий Вхідний зв'язок Parameter{n}|prec
p{n}cntr Параметр {n}: це лічильник Логічний Стала Parameter{n}|isCntr Встановлюється для лічильників з метою отримання значень як різницю.
p{n}max Параметр {n}: максимум Адреса Вхідний зв'язок Parameter{n}|max Використано для визначення шкали параметру на графіку.
p{n}min Параметр {n}: мінімум Адреса Вхідний зв'язок Parameter{n}|min Використано для визначення шкали параметру на графіку.


1.2 Документ - динамічний (docDin)

1.3 GPLv2 * en, uk, ru Роман Савоченко -2 мс (вимкнено)

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

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

At.png Відтак, документи такого типу дозволено до використання на всіх типах інтерфейсів, включно з WEB-інтерфейсами, але деякі документи, засновані на великих архівних даних, потребують не повільних обчислювальних систем!

Рис.1.2. Кадр "Документ - динамічний" у режимі розробки.

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


1.2.1 Звіт миттєвих значень (docRepInstVals)

2.1 GPLv2 * en, uk, ru Роман Савоченко

Документ, представлений на рисунку 1.2.1, слугує для генерації звіту миттєвих значень у вигляді діаграми трендів та таблиці даних. Документ динамічного типу, відтак ви можете визначити час та глибину даних. Документ загалом використовує та представляє представницьку структуру DAQ-шаблону "Аналоговий сигнал". У якості джерела даних документу виступають архіви значень DAQ-параметрів.

Рис.1.2.1. Документ "Звіт миттєвих значень" у режимі виконання.

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

At.png Для кожного документу можна встановити:

  • атрибут "Ввімкнути графік (enGraph)" для ввімкнення/вимкнення графіку;
  • атрибут "Заголовок (title)" у специфічний заголовок документу.

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

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

Ідентифікатор Ім'я Тип Конфігурація Конфігураційний шаблон Опис
Віджет документу (doc)
title Заголовок Рядок Стала Заголовок звіту
enGraph Ввімкнути графік Логічний Стала Ввімкнено по замовченню.
Параметр {n} від 1 до 10.
p{n}name Параметр {n}: назва Рядок Вхідний зв'язок Parameter{n}|NAME Назва параметру у заголовку таблиці.
p{n}var Параметр {n}: змінна Адреса Вхідний зв'язок Parameter{n}|var Адреса до атрибуту параметру із архівом значень.
p{n}ed Параметр {n}: одиниця виміру Рядок Вхідний зв'язок Parameter{n}|ed
p{n}prec Параметр {n}: точність Цілий Вхідний зв'язок Parameter{n}|prec
p{n}max Параметр {n}: максимум Адреса Вхідний зв'язок Parameter{n}|max Використано для визначення шкали параметру на графіку.
p{n}min Параметр {n}: мінімум Адреса Вхідний зв'язок Parameter{n}|min Використано для визначення шкали параметру на графіку.


1.2.2 Протокол порушень (docAlarmsRep)

1.7 GPLv2 * en, uk, ru Роман Савоченко -2 мс (вимкнено)

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

Рис.1.2.2. Документ "Протокол порушень" у режимі виконання.

Використання — розробка
Документ призначено для виконання ролі сторінки-шаблону, а, відповідно, він має безпосередньо розташовуватися у дерево проекту. До кожного документу може бути встановлено власний рівень повідомлень та категорію опрацьовуваних порушень у атрибуті "Категорія повідомлень (messCat)", який по замовченню є загальним "1:al*:*" та може бути спеціалізованим до джерел даних. Типова глибина документу у минуле встановлена у 1 день.

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

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

Ідентифікатор Ім'я Тип Опис
messCat Категорія повідомлень Рядок Запитаний рівень та категорія повідомлень про порушення, типово "1:al*:*".


1.2.3 Протокол втручань (docUsersSet)

1.8 GPLv2 * en, uk, ru Роман Савоченко

Документ, представлений на рисунку 1.2.3, слугує для генерації звіту з втручань користувача. Документ динамічного типу, відтак ви можете визначити час та глибину даних. Документ загалом використовує та представляє структуру повідомлень "Дії користувача-оператора". У якості джерела даних документу виступає архів повідомлень.

Рис.1.2.3. Документ "Протокол втручань" у режимі виконання.

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

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

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

Ідентифікатор Ім'я Тип Опис
messCat Категорія повідомлень Рядок Запитаний рівень та категорія повідомлень, типово "2:/(^|.*:)OP*/".


1.2.4 Протокол повідомлень (docMessRep)

1.5 GPLv2 * en, uk, ru Роман Савоченко

Документ, представлений на рисунку 1.2.4, слугує для генерації звіту різного сорту повідомлень разом, включаючи: "Порушення", "Дії користувача-оператора" та "Системні". Документ динамічного типу, відтак ви можете визначити час та глибину даних. Документ загалом використовує та представляє структури повідомлень: "Порушення", "Дії користувача-оператора" та "Системні". У якості джерела даних документу виступає архів повідомлень.

Документ також надає просту фільтрацію за обраним критерієм: "Вимкнено", "Дата та час (dttm)", "Рівень (lev)", "Параметр (prm)", "Опис (dscr)", "Значення (alrm)".

  • Спонсорування: Устьянцев Михайло
Рис.1.2.4. Документ "Протокол повідомлень" у режимі виконання.

Використання — розробка
Документ призначено для виконання ролі сторінки-шаблону, а, відповідно, він має безпосередньо розташовуватися у дерево проекту.

At.png До кожного документу може бути встановлено власний рівень та категорію опрацьовуваних повідомлень у атрибуті "Категорія повідомлень (messCat)", який, по замовченню, є загальним "1:/^(al|OP|/sub_UI/mod_VCAEngine)/" та може бути спеціалізованим під себе. Також ви можете визначити архіватори виключного використання, встановленням атрибуту "Перелік архіваторів (archLs)". Типова глибина документу у минуле встановлена у 1 день.

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

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

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

Ідентифікатор Ім'я Тип Опис
messCat Категорія повідомлень Рядок Запитаний рівень та категорія повідомлень, типово "1:/^(al|OP|/sub_UI/mod_VCAEngine)/".
archLs Перелік архіваторів, "{ArhMod}.{Arh}[;{ArhModN}.{ArhN}]" Рядок Перелік архіваторів повідомлень, лише з яких повідомлення будуть запитуватися, встановіть порожнім для загального доступу.


1.2.5 Звіт двох робочих змін (docRep2WorkSh)

2.0 GPLv2 * en, uk, ru Роман Савоченко

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

Рис.1.2.5. Документ "Звіт двох робочих змін" у режимі виконання.

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

At.png Також ви маєте визначити архіватор одно-годинних значень у атрибуті "Архіватор (arch)", яким обслуговуються вказані параметри, оскільки цей документ потребує таких даних. Якщо початок першої робочої зміни відрізняється від 8 (восьмої) години, то ви маєте потрібну годину вказати у атрибуті "Початкова година (stH)".

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

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

Ідентифікатор Ім'я Тип Конфігурація Конфігураційний шаблон Опис
Віджет документу (doc)
stH Початкова година Цілий Стала Початковий час робочої зміни, від 0 до 11 годин, по замовченню 8.
arch Архіватор Рядок Стала Одно-годинний архіватор, по замовченню "FSArch.1h".
Параметр {n} від 1 до 10.
p{n}_sh Параметр {n}: шифр Рядок Вхідний зв'язок Parameter{n}|NAME Шифр параметру у таблиці.
p{n}_nm Параметр {n}: опис Рядок Вхідний зв'язок Parameter{n}|DESCR Опис параметру у таблиці.
p{n}_val Параметр {n}: значення Адреса Вхідний зв'язок Parameter{n}|var Адреса до атрибуту параметру із архівом значень.
p{n}_ed Параметр {n}: од.виміру Рядок Вхідний зв'язок Parameter{n}|ed
p{n}_prec Параметр {n}: точність Цілий Вхідний зв'язок Parameter{n}|prec
p{n}_flSum Параметр {n}: показник підсумку Логічний Стала Parameter{n}|flSum Ознака обчислення суми значень параметру для робочої зміни.


1.2.6 Річний звіт місячних значень (docRepYear)

1.3 GPLv2 * en, uk, ru Роман Савоченко -2 мс (вимкнено)

Документ, представлений на рисунку 1.2.6, слугує для генерації добового звіту місячних значень у вигляді діаграми трендів та таблиці даних. Документ динамічного типу. Документ загалом використовує та представляє представницьку структуру DAQ-шаблону "Аналоговий сигнал". У якості джерела даних документу виступають переважно архіви значень DAQ-параметрів.

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

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

КАТЕГОРІЯ: визначає ID джерела SrcID у форматі "val{SrcID}", де:
  • "val*" — типовий шаблон-ознака значення, який може бути безпосередньо використано у фільтрі категорії для визначення суто значень у повідомленнях;
  • SrcID — ідентифікатор джерела, що безпосередньо вводиться постійною у адресі параметру var.
ТЕКСТ: назва Name та значення Value параметру у форматі "{Name}: {Value}".

Архіватор повідомлень модуля FSArch має бути встановлено у наступних атрибутах для здійснення коректної роботи разом із цим документом: встановити "Запобігати дублікатам", "Вважати дублікатами та запобігати, для рівного часу, категорії, рівня" та встановити "Розмір файлів за часом" у 3660 діб. Модуль DBArch має працювати без такого роду специфіки.

Рис.1.2.6. Документ "Річний звіт місячних значень" у режимі виконання.

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

At.png Для кожного документу можна встановити:

  • атрибут "Архіватор (arch)" у потрібний архіватор значень та повідомлень зі значенням у формі {ValArch};{MessArch}, які обслуговують визначені параметри; ви не маєте використовувати архіватори із якістю гірше за одну добу для значень;
  • атрибут "Ввімкнути графік (enGraph)" для ввімкнення/вимкнення графіку;
  • атрибут "Заголовок (title)" у специфічний заголовок документу.

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

За наявності прав ("root" або у групі "ITW") користувач має можливість введення значень параметрів із позначкою ручного введення (isMan) за допомогою елементів форми нагорі, де можна обрати місяць, параметр та значення, яке буде записано одразу після підтвердження та відображено у документі.

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

Ідентифікатор Ім'я Тип Конфігурація Конфігураційний шаблон Опис
Віджет документу (doc)
arch Архіватор, {ValArch};{MessArch} Рядок Стала Архіватор значень та повідомлень зі значенням у формі {ValArch};{MessArch}, по замовченню та найліпше використовувати одно-годинний архіватор "FSArch.1h".
title Заголовок Рядок Стала Заголовок звіту
enGraph Ввімкнути графік Логічний Стала Ввімкнено по замовченню.
depth Глибина для обрання, років Цілий Стала Глибина років для обрання.
showOrigCntr Показати оригінальний лічильник Логічний Стала Показати значення оригінального лічильника поряд із інтервальним значенням.
Параметр {n} від 1 до 10.
p{n}name Параметр {n}: назва Рядок Вхідний зв'язок Parameter{n}|NAME Назва параметру у заголовку таблиці.
p{n}var Параметр {n}: змінна Адреса Вхідний зв'язок Parameter{n}|var Адреса до атрибуту параметру із архівом значень або ідентифікатор параметру (val:{PrmId}) для ручного запису значень із збереженням у архіві повідомлень.
p{n}ed Параметр {n}: одиниця виміру Рядок Вхідний зв'язок Parameter{n}|ed
p{n}prec Параметр {n}: точність Цілий Вхідний зв'язок Parameter{n}|prec
p{n}cntr Параметр {n}: це лічильник Логічний Стала Parameter{n}|isCntr Встановлюється для лічильників з метою отримання значень як різницю.
p{n}max Параметр {n}: максимум Адреса Вхідний зв'язок Parameter{n}|max Використано для визначення шкали параметру на графіку.
p{n}min Параметр {n}: мінімум Адреса Вхідний зв'язок Parameter{n}|min Використано для визначення шкали параметру на графіку.
p{n}isMan Параметр {n}: ручний Логічний Стала Parameter{n}|isMan Позначає параметр як до ручного введення.

2 Сервісні пов'язані функції

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

Для адресації до функцій цієї бібліотеки можна використати статичну адресу виклику DAQ.JavaLikeCalc.lib_doc.{Func}() або динамічну SYS.DAQ.JavaLikeCalc["lib_doc"]["{Func}"].call(), SYS.DAQ.JavaLikeCalc["lib_doc"].{Func}(). Де {Func} — ідентифікатор функції у бібліотеці.

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

  • такий що постачається з готовим та відповідним пакетом дистрибутиву Linux на кшталт "openscada-libdb-main", "openscada-LibDB.Main";
  • найбільш актуальний та безпосередньо отриманий з репозиторію subversion, перетворений у файл БД SQLite шляхом:
wget http://oscada.org/svn/trunk/OpenSCADA/data/LibsDB/OscadaLibs.sql
sqlite3 -init OscadaLibs.sql OscadaLibs.db .exit

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


2.1 Отримання значення з архіву значень (getVal)

1.1 GPLv2 * en, uk, ru Роман Савоченко

Запит значення за визначений час (time:uTime) із пов'язаного архіватору archtor (FSArch.1m) та формування результату із визначеною кількістю знаків prec після коми.

Функція працює із об'єктами атрибутів DAQ-параметрів до яких підключено архів, та адреса addr до нього записується повним шляхом на кшталт "/DAQ/LogicLev/gen/prm_F3/a_var". Для порожнього archtor запит буде здійснюватися загально до усіх із періодичністю буферу архіву.

У процесі отримання значення, час цього значення може відрізнятися від запитаного, якщо архів на цей час відсутній та повертається найближче, запобігти чому можна встановивши strong. Коли-ж таки потрібно контрольовано отримати найближче достовірне значення, наприклад для лічильників, то передбачено аргумент часу tryTo до якого шукати найближче достовірне значення. Час у tryTo може бути як більше, так і менше за час запиту.

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

Параметри

Ідентифікатор Параметр Тип Режим Прихований По замовченню
rez Результат Рядок Повернення false
addr Адреса Рядок Вхід false
time Час, секунд Цілий Вхід false
uTime Час, мікросекунди Цілий Вхід false
prec Знаків після коми Цілий Вхід false 3
archtor Архіватор Рядок Вхід false
strong Точно Логічний Вхід false 0
tryTo Пробувати значення до, мікросекунди Цілий Вхід false 0


2.2 Середнє значення архіву значень (averVal)

1.1 GPLv2 * en, uk, ru Роман Савоченко

Обчислення середнього значення за вказаний період часу [bTime...eTime], для даних архіватору archtor (FSArch.1m) та формування результату із визначеною кількістю знаків prec після коми.

Функція працює із об'єктами атрибутів DAQ-параметрів до яких підключено архів, та адреса addr до нього записується повним шляхом на кшталт "/DAQ/LogicLev/gen/prm_F3/a_var". Для порожнього archtor запит буде здійснюватися загально до усіх із періодичністю буферу архіву.

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

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

Параметри

Ідентифікатор Параметр Тип Режим Прихований По замовченню
rez Результат Рядок Повернення false
addr Адреса Рядок Вхід false
bTime Час початку, секунд Цілий Вхід false
eTime Час кінця, секунд Цілий Вхід false
prec Знаків після коми Цілий Вхід false 3
archtor Архіватор Рядок Вхід false
actPerc Відсоток актуальних значень Реальний Вихід false


2.3 Підсумок значень архіву значень (sumVal)

1.1 GPLv2 * en, uk, ru Роман Савоченко

Обчислення суми значень за вказаний період часу [bTime...eTime], для даних архіватору archtor (FSArch.1m) та формування результату із визначеною кількістю знаків prec після коми.

Функція працює із об'єктами атрибутів DAQ-параметрів до яких підключено архів, та адреса addr до нього записується повним шляхом на кшталт "/DAQ/LogicLev/gen/prm_F3/a_var". Для порожнього archtor запит буде здійснюватися загально до усіх із періодичністю буферу архіву.

У процесі підрахунку здійснюється перевірка даних у архіві на предмет достовірності.

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

Параметри

Ідентифікатор Параметр Тип Режим Прихований По замовченню
rez Результат Рядок Повернення false
addr Адреса Рядок Вхід false
bTime Час початку, секунд Цілий Вхід false
eTime Час кінця, секунд Цілий Вхід false
prec Знаків після коми Цілий Вхід false 3
archtor Архіватор Рядок Вхід false


2.4 Діаграма (diagram)

1.4 GPLv2 * en, uk, ru Роман Савоченко

Побудова діаграми трендів у SVG, яка може надалі вбудовуватися у XHTML-документу, для даних за вказаний період часу [(end-size)...end] та із джерел srcs.

  • Загальна працемісткість: 1.3 ЛД[!]
  • Спонсоровано, початкової імплементації на 1.0 ЛД[!]: Магомед, SAVTECH

Код формування діаграми засновано на коді примітиву "Діаграма" візуалізаторів, та який було доволі просто перенесено із мови C++ на вбудовану мову JavaLikeCalc. Наразі перенесено-реалізовано лише тренди!

Вигляд діаграми визначається її розмірами hsz*vsz та початковим SVG-шаблоном tmpl, низка атрибутів кореневого тегу якого мають особливе значення та які відповідають примітиву "Діаграма":

  • Шкала: Маркери: шрифт (sclMarkFont), по замовченню "Arial 10".
  • Шкала: горизонтальна (sclHor), по замовченню "Маркери (2)" та загалом передбачено: "Не зображувати (0)", "Ґратка (1)", "Маркери (2)", "Ґратка та маркери (3)".
  • Шкала: вертикальна (sclVer), по замовченню "Ґратка та маркери (3)" та загалом передбачено: "Не зображувати (0)", "Ґратка (1)", "Маркери (2)", "Ґратка та маркери (3)", "Ґратка (лог) (5)", "Маркери (лог) (6)", "Ґратка та маркери (лог) (7)".
  • Шкала: колір (sclColor), по замовченню "gray".
  • Шкала: Маркери: колір (sclMarkColor), по замовченню "gray".

У якості джерела даних наразі можуть використовуватися лише архіви значень, прямою адресою до них або через атрибут DAQ-параметру з архівом. Кількість джерел даних прямо не обмежене та вони записуються окремими рядками аргументу srcs із форматом "{addr}:{min}:{max}:{color}[:{scale}[:{width}]]", де:

  • addr — адреса до:
    • архіву значень ("/Archive/va_CPULoad_load") або атрибуту DAQ-параметру ("/DAQ/LogicLev/gen/F3/var");
    • прямі дані у формі "<d s='1' aprox='1' per='1'>{p0}={pV0},{p1}={pV1},...,{pN}={pVN}</d>", встановленням атрибуту "s" можна вказати на період у секундах; "aprox" — апроксимувати перехід від однієї точки до іншої замість підставки попереднього значення у всі точки періодичності від упаковки.
  • min, max — мінімум та максимум шкали, за відсутності шкали (min >= max) вона буде вираховуватися із реальних даних;
  • color — колір кривої тренду;
  • scale — окреме визначення шкали тренду, по замовченню "Глобально (0)" та загалом передбачено: "Глобально (0)", "Маркери (2)", "Ґратка та маркери (3)", "Маркери (лог) (6)", "Ґратка та маркери (лог) (7)".
  • width — ширина кривої тренду, по замовченню 2.
Рис.2.4. Типовий результат функції "Діаграма" у XHTML-документі.

Параметри

Ідентифікатор Параметр Тип Режим Прихований По замовченню
res Результат Текст Повернення false
end Час кінця, секунд Реальний Вхід false 0
size Розмір, секунд Реальний Вхід false 3600
srcs Джерела Текст Вхід false
/DAQ/LogicLev/gen/F3/var:0:100:#ae77c3:2
/Archive/va_CPULoad_load:0:0:darkcyan:2
hsz Горизонтальний розмір, пікселів Цілий Вхід false 600
vsz Вертикальний розмір, пікселів Цілий Вхід false 400
arch Архіватор Рядок Вхід false
tmpl Шаблон Текст Вхід false
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" sclMarkFont="Arial 10" sclHor="2" sclVer="3" sclColor="gray" sclMarkColor="gray">
    <style type="text/css">
	    #scVer rect { stroke: none; }
	    #scVer text { stroke: none; }
	    #scHor rect { stroke: none; }
	    #scHor text { stroke: none; }
	    #drawArea path { fill: none; }
    </style>
    <!--Draw grid and markers-->
    <g id="scVer" />
    <g id="scHor" />
    <!--Curves area -->
    <g id="drawArea" />
</svg>