Бібліотека/Елементи мнемосхем - OpenSCADAWiki

# Бібліотека/Елементи мнемосхем

This page is a translated version of the page Libs/Mnemo elements and the translation is 100% complete.

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

Назва | Версія | Ліцензія | Джерело | Мови | Автор | Іконка | Опис
--- | --- | --- | --- | --- | --- | --- | ---
Бібліотека елементів мнемосхем інтерфейсу користувача | 1.0 | GPLv2 | vcaBase.db (SQL, GZip) > VCA.wlb_mnEls | en, uk, ru | Роман Савоченко Максим Лисенко (2008-2012), Ксенія Яшина (2007) |  | Надає бібліотеку елементів мнемосхем користувацького інтерфейсу промислової автоматизації. Засновано: Вересень 2007 Початково створено: у старій Wiki Використано: моделями АГЛКС та Котел та багатьма проектами

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

### 1.1 Елементи трубопроводів без градієнтного заповнення

Елементи на рисунку 1.1 слугують для побудови трубопроводів будь-якої складності, потрібної ширини та забарвлення. По замовченню їх залито жовтим кольором, кут повороту складає 0° та вимкнено віддзеркалення.

Рис.1.1. Елементи труби без градієнтного заповнення.

Елементи трубопроводів включають, зліва на право:

Ім'я (ідентифікатор) | Версія | Ліцензія | Автор
--- | --- | --- | ---
Труба-хрест (El_Krest) | 1.0 | GPLv2 | Максим Лисенко
Труба пряма горизонтальна (El_Pipe_simple) | 1.0 | GPLv2 | Максим Лисенко
Труба пряма вертикальна (El_Pipe_simple_vert) | 1.0 | GPLv2 | Максим Лисенко
Стріла (El_Strela) | 1.0 | GPLv2 | Максим Лисенко
Стріла зворотня (El_Obr_Strela) | 1.0 | GPLv2 | Максим Лисенко
Труба-кут (El_pipe_1) | 1.0 | GPLv2 | Максим Лисенко
Труба-трійник (El_Troinik) | 1.0 | GPLv2 | Максим Лисенко

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

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

### 1.2 Елементи трубопроводів з об'ємним заповненням

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

Рис.1.2. Елементи трубопроводів з об'ємним заповненням.

Елементи трубопроводів включають, зліва на право та зверху до долу:

Ім'я (ідентифікатор) | Версія | Ліцензія | Автор
--- | --- | --- | ---
Труба-хрест, об'ємний (El_Krest_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Труба пряма горизонтальна, об'ємна (El_Pipe_simple_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Труба прямая вертикальная, объёмная (El_Pipe_simple_vert_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
СтрілаГП, об'ємна (El_Strela_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
СтрілаГЛ, об'ємна (El_StrelaHL_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
СтрілаВН, об'ємна (El_StrelaVB_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
СтрілаВВ, об'ємна (El_StrelaVT_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Стріла оберненаГЛ, об'ємна (El_Obr_Strela_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Стріла оберненаГП, об'ємна (El_Obr_StrelaHR_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Стріла оберненаВН, об'ємна (El_Obr_StrelaVB_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Стріла оберненаВР, об'ємна (El_Obr_StrelaVT_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Труба-кутНЛ, об'ємна (El_pipe_1_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Труба-кутНП, об'ємна (El_angleBR_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Труба-кутВЛ, об'ємна (El_angleTL_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Труба-кутВП, об'ємна (El_angleTR_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Труба-трійникВП, об'ємний (El_Troinik_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Труба-трійникГН, об'ємний (El_TroinikHB_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Труба-трійникГВ, об'ємний (El_TroinikHT_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко
Труба-трійникВЛ, об'ємний (El_TroinikVL_gr) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко

Використання — розробка
Ці віджети може бути використано розробником при створені мнемосхем об'ємних трубопроводів. Атрибутом "Заповнення: колір" ви можете змінити колір заповнення елементу. Шляхом масштабування можна встановити потрібну ширину труб, де для прямих ділянок, масштаб за віссю "x" та "y" може бути відмінним, визначаючи відповідно типову ширину труби на мнемосхемі та довжину окремої її ділянки. Для використання потрібно додати обрані віджети на мнемосхему, системно підлаштувати геометрію та відповідним чином візуально поєднати частини трубопроводів, більше дивіться у Додатку 1. З метою систематизації та спрощення роботи ви можете підготувати лише перші елементи, а для інших частин трубопроводу використовувати готові копії цих вже підготовлених та розміщених елементів.

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

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

### 1.3 Різні пасивні елементи

Елементи на рисунку 1.3 слугують для використання у складі, або довкола, трубопроводів.

Рис.1.3. Різні пасивні елементи.

Різні пасивні елементи включають, зліва на право:

Ім'я (ідентифікатор) | Версія | Ліцензія | Автор
--- | --- | --- | ---
Елементи трубопровідних схем
Ручна засувка (El_Armatura) | 1.0 | GPLv2 | Роман Савоченко
Діафрагма (El_d) | 1.0 | GPLv2 | Роман Савоченко
Сепаратор (sep) | 1.0 | GPLv2 | Роман Савоченко
Охолоджувач (cooler) | 1.0 | GPLv2 | Роман Савоченко
Змійовик (Teploobm) | 1.0 | GPLv2 | Максим Лисенко
Частини елементів трубопровідних схем
Вентилятор 2 (cooler2) | 1.0 | GPLv2 | Ксенія Яшина
Скруглений прямокутник (El_round_square) | 1.0 | GPLv2 | Максим Лисенко
Скруглений прямокутник (El_round_square1) | 1.0 | GPLv2 | Максим Лисенко
Скруглений прямокутник, об'ємний (rnd_sq_gr) | 1.0 | GPLv2 | Максим Лисенко
Скруглений прямокутник 1, об'ємний (rnd_sq_gr1) | 1.0 | GPLv2 | Максим Лисенко
Додаткове
Лінія (Line_simple) | 1.0 | GPLv2 | Максим Лисенко
Хвиляста лінія (El_Obriv) | 1.0 | GPLv2 | Максим Лисенко
Шкала (Shkala) | 1.0 | GPLv2 | Роман Савоченко
Лінійка (El_Priamaja) | 1.0 | GPLv2 | Максим Лисенко

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

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

### 1.4 Сигналізація (El_Alarm) | 1.0 | GPLv2 | * | en, uk, ru | Роман Савоченко

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

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

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

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

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

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
NAME | Ім'я | Рядок | Вхідний зв'язок | Parameter|NAME | Коротке найменування параметру, що вставляється у повідомлення про порушення.
st_open | Параметр: статус-відкрито | Логічний | Вхідний зв'язок | Parameter|st_open | Статус параметру "Відкрито" або загальний статус перемикача за відсутності сигналу стану "Закрито".
st_close | Параметр: статус-закрито | Логічний | Вхідний зв'язок | Parameter|st_close | Статус параметру "Закрито".
digStts | Статуси | Рядок | Вхідний зв'язок | Parameter|digStts | Конфігурація статусів параметру зі структурою {openedLabel}-{color};{closedLabel}-{color}, для дискретного блоку.
ntf | Повідомлення "{стан}:{режими}:{Текст мови}" | Рядок | Стала |  | Конфігурація формування повідомлення за статусом (st) [0|1] та режимами-методами повідомлення (modes), як рядок чисел методів, та мовою, якщо вказано такий метод.

### 1.5 Рівень (Level) | 1.0 | GPLv2 | * | en, uk, ru | Максим Лисенко, Роман Савоченко

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

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

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

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

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

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
var | Значення | Реальний | Вхідний зв'язок | Parameter|var | Інженерне реальне значення параметру.
max | Максимум | Реальний | Вхідний зв'язок | Parameter|max | Верхня межа значення параметру.
min | Мінімум | Реальний | Вхідний зв'язок | Parameter|min | Нижня межа значення параметру.
fillColor | Заповнення: колір | Колір | Стала |  |

## 2 Активні елементи, що репрезентують різноманітні технологічні пристрої

### 2.1 Дискретні апарати

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

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

Елементи дискретних апаратів включають, зліва на право:

Ім'я (ідентифікатор) | Версія | Ліцензія | Автор | Період опрацювання
--- | --- | --- | --- | ---
Компресор (Compressor), Компресор 1 (Compressor_1) | 1.2 | GPLv2 | Роман Савоченко, Максим Лисенко | -1 мс (предок)
Кульовий кран (El_Kran_Sh), Засувка (El_Zadvizhka), Засувка (Zadvizhka) | 1.2 | GPLv2 | Максим Лисенко, Роман Савоченко | -1 мс (предок)

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

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

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

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

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

Ідентифікатор | Ім'я | Тип | Конфігурація | Конфігураційний шаблон | Опис
--- | --- | --- | --- | --- | ---
shifr | Параметр: шифр | Рядок | Вхідний зв'язок | Parameter|NAME | Коротке найменування параметру, що вставляється у дії оператору-користувача.
DESCR | Опис | Рядок | Вхідний зв'язок | Parameter|DESCR | Опис або розгорнута назва параметру, що вставляється у дії оператору-користувача.
st_open | Параметр: стан - "Відкрито" | Логічний | Вхідний зв'язок | Parameter|st_open | Статус параметру "Відкрито" або загальний статус перемикача за відсутності сигналу стану "Закрито".
st_close | Параметр: стан - "Закрито" | Логічний | Вхідний зв'язок | Parameter|st_close | Статус параметру "Закрито".
digStts | Статуси | Рядок | Вхідний зв'язок | Parameter|digStts | Конфігурація статусів параметру зі структурою {openedLabel}-{color};{closedLabel}-{color}, для дискретного блоку.
com | Параметр: команда - "Відкрити" | Логічний | Повний зв'язок | Parameter|com | Команда параметру "Відкрити" або загальна команда перемикача за відсутності сигналу команди "Закрити".
close | Параметр: команда - "Закрити" | Логічний | Повний зв'язок | Parameter|close | Команда параметру "Закрити".
stop | Параметр: команда - "Стоп" | Логічний | Повний зв'язок | Parameter|stop | Команда параметру "Зупинити", для кранів.
digComs | Команди | Рядок | Вхідний зв'язок | Parameter|digComs | Конфігурація команд параметру зі структурою {openLabel}-{color};{closeLabel}-{color};{stopLabel}-{color}, для дискретного блоку, та {com1Label}-{color};{com2Label}-{color};...;{comNLabel}-{color}, для статусу за кодом.

### 2.2 Аналогові апарати

Елементи на рисунку 2.2 використовуються для відображення статусу аналогових апаратів та призначені для використання в трубопроводах. Елементи загалом використовують та репрезентують структуру DAQ-шаблону аналогових ПІД-регуляторів у різних візуальних варіантах.

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

Елементи аналогових апаратів включають, зліва на право:

Ім'я (ідентифікатор) | Версія | Ліцензія | Автор | Період опрацювання
--- | --- | --- | --- | ---
Кран з положенням (El_Kran_polozh) | 1.1 | GPLv2 | Максим Лисенко, Роман Савоченко | -1 мс (предок)
Кран трьохпозиційний (Kran_3_pos) | 1.0 | GPLv2 | Максим Лисенко, Роман Савоченко

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

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

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

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

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

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

## 3 Додаток 1: Підлаштування та погодження елементів, побудова цілісних трубопровідних схем

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

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

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

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

1. Вирівнювання елементів за віссю треба здійснювати центруванням, оскільки всіх їх уніфіковано у розмірі 100x100 та за умови їх системного розташування на мнемосхемі за однаковим масштабом, типово 0.2.
2. Ідеального прилягання досягти складніше, оскільки наразі відсутній інструмент притягування одного елемента до ближчої границі іншого, та це можливе лише за окремого обчислення координат. Відтак, рекомендується часткове накладання одного елементу на інший, у масштабі розробки 100%, після попереднього правила та за алгоритмом:
   - підвести другий елемент до першого, кроком у один піксель (утримуючи Shift) до моменту візуального зникнення розриву, тобто максимальна можлива відстань, що там залишилась складе 1 піксель;
   - компенсуємо цей залишок ще одним кроком у 1 піксель.

      При розробці у масштабі, що відрізняється від 100%, скажімо 150%, отримаємо максимальний залишок у 1*(150/100)=1.5, тобто кроків компенсації має бути більше ціле — 2.

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

Застосовуючи ці правила можна доволі просто отримати результат на рисунку:

Зразок мнемосхеми з трубопроводами.

Libs/Mnemo_elements/uk - GFDL | May 2026 | OpenSCADA 0.9.9