1. Людино-машинні інтерфейси та SCADA
Розроблення підсистеми
трендів
автор і лектор: Олександр Пупена (pupena_san@ukr.net)
зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
25.11.2020 1
3. Загальна інформація
• вимірювання значення даних з об’єкта керування;
• оброблення даних на пристрої збору (наприклад ПЛК);
• зчитування даних з пристрою збору та їх обробка в базі даних реального часу
(БДРЧ);
• зчитування даних з бази даних реального часу та їх обробка в підсистемі
трендів;
• записування даних в архівну базу даних (БД);
• зчитування архівних даних з БД із зазначенням певних критеріїв, їх обробка та
відображення.
4. Збереження даних
Дії:
• сконфігурувати серверний компонент, якщо він виділений як окрема
підсистема: назва, адреса, TCP/UPD порти …;
• вказати базу даних, куди буде записуватися тренд, формати:
• пропрієтарний (власний)
• відкритий
• можливо вказати БД, таблиці, поля
• через сторонню СКБД (ODBC, JDBC, OLE DB, ADO, ADO.NET)
• можливо вказати БД, таблиці, поля
• вказати періодичність або подію, при якій буде відбуватися записування;
• вказати змінну або вираз, значення якого буде використовуватися для
записування;
• означити структуру (перелік полів) запису;
• вказати глибину збереження
• через час максимально старих даних
• через значення максимального об’єму
5. Частота записування: чинники
Звертати увагу при конфігуруванні частоти:
• дані не має сенсу записувати частіше ніж вони зчитуються із джерела;
• одні змінні змінюються в проекті відносно дуже часто, інші дуже рідко;
• значення, як правило, не змінюється, і при періодичному записуванні
вони будуть повторюватися;
• частоти записування впливає на об’єм даних, які необхідно зберігати і
оброблювати;
• для порційних виробництв (Batch) величина змінної має значення тільки
тоді, коли в обладнанні проходить приготування продукту або інша
операція.
6. Частота записування: конфігурування
• періодично (циклічно): запис створюється з указаною періодичністю
незалежно від того, чи відбулися якісь зміни в джерелі даних;
• спорадично, за зміни значення: записування відбувається тільки при зміні
стану змінної:
• зміна якості змінної;
• для дискретних і цілочисельних змінних – це зміна значення;
• для змінних з плаваючою комою – це зміна значення з урахуванням зони
нечутливості;
• за подією: записування відбувається при виникненні події, наприклад, за
виконання певної умови;
• комбіновано: комбінацією наведених вище умов.
7. Що писати
• значення (різні формати), у деяких можна вказувати вираз
• відмітка часу
• як правило формується рівним часу запису -> не відтворює точно час
вимірювання/події
• деякі SCADA/HMI беруть з підсистеми I/O
• деякі рішення можуть брати відмітку часу з ПЛК
• з використанням протоколів телеметрії
• з формуванням архіву прямо в ПЛК (або іншому джерелі)
• OPC UA підтримує доступ до архівних даних на самому пристрої
• якість
• інші поля (можуть конфігуруватися)
8. Відображення
• вигляд:
• графіки залежностей значення від часу
• таблиці, інколи з можливістю зміни
• звіти
• джерело архівних даних: теги, СКБД …
• параметри відображення:
• вісь часу:
• глибина,
• відображення шкали,
• означення відміток;
• вісь значення:
• діапазон значень,
• відображення шкали,
• означення відміток;
• спосіб відображення лінії тренду, наприклад, пунктирну лінію, колір;
• мітки тренду, наприклад, прямокутник чи коло;
• спосіб згладжування між точками (інтерполяція);
• панель інструментів з командами.
9. Можливості переглядачів
Призначення:
• реального часу (автоматична прокрутка, без елемнтів керування)
• ретроспективні
Інструменти налаштування ретроспективних:
• діапазон часу відображення;
• вибирати криві
• показувати/ховати криві;
• прокручувати вісь часу;
• масштабувати;
• курсор зі значенням;
• експорт;
• змінювати вигляд;
• збереження налаштувань
11. Сервери
• трендовий сервер (Trend Server)
• збереження
• запити від клієнтів на читання/запис архівних даних:
• Trend та Process Analyst
• Cicode-функція "TrnGetTable" (отримання даних у вигляді
масиву)
• функції Cicode для експорту даних: у буфер – "TrnExportClip", в
файл CSV – "TrnExportCSV", або у файл DBF – "TrnExportDBF".
• може запускатися окремим процесом на окремому ПК
• конфігурується ім’я, адреса ПК, TCP-порт, кластер
• Historian (Citect Historian, Wonderware Historian) – для систем рівня
MES/MOM
12. Теги трендів
• теги трендів - для конфігурування записів
• джерело: значення з інших тегів, вирази
• трендовий сервер слідкує за оновлення і запис тренду
13. Теги трендів: властивості
• ім'я, кластер
• вираз, наприклад: (LOOP_1_PV + LOOP_2_PV)/2
• інтервал опитування: секунди (напр. 1, або 0.2) або “hh:mm:ss”
• файл: "[data]:loop1pv«, якщо не вказується – з імені тренду
• метод збереження: "Scaled (2-byte samples)" , Floating Point (8 байт)
14. Теги трендів: метод збереження
• Періодичний (тип TRN_PERIODIC)
• із зазначеним періодом
• тригер активує/деактивує ведення
записування
• Подієвий (тип TRN_EVENT)
• тільки в момент зміни значення
тригера з FALSE в TRUE
• між точками запису проводиться
інтерполяція
• Періодично-подієвий (тип
TRN_PERIODIC_EVENT)
• записує дані тільки в момент зміни
значення тригера з FALSE в TRUE
• не робить інтерполяцію між точками
запису
15. Теги трендів: глибина
• кількість файлів
• періодичність: перехід на новий файл
• час: відносно якого часу рахується періодичність
16. Об’єкт "Тренд"
• простий
• потребує мало ресурсів
• тільки інформацію з трендів
тегів
• не має вбудованих засобів
керування
Ширина = "Пикселов на выборку"
x Число выборок данных"
• усі додаткові функції
реалізовуються через Cicode
17. Аналізатор процесів: можливості
• Аналізатор процесів (Process Analyst) – Active X, ставиться разом з Citect
Можливості:
• налаштування всіх параметрів відображення як у середовищі розроблення,
так і в середовищі виконання;
• добавлення і відображення на одному елементі тренду кількох панелей
(умовно незалежних трендових елементів) це дає можливість:
• групувати криві разом за певною ознакою;
• порівнювати тренди;
• здійснювати відносний зсув панелей за часом;
18. Аналізатор процесів: можливості
• відображення на панелі об’єктів:
• трендів у реальному часі зі змінних тегів;
• архівних трендів з трендового серверу;
• зміни стану тривог у часі з тривогового сервера;
• архівних трендів та трендів реального часу з Historian;
• добавлення на тренд (конкретну панель) кривих реального часу та за
архіву:
• числових змінних;
• дискретних змінних;
• стану тривог;
19. Аналізатор процесів: можливості
• відображення кривих (пер, pen) тренду у вигляді:
• ліній різного кольору, товщини та формату: неперервної, штрихової, пунктирної і
т.п.;
• різного типу ліній залежно від якості (достовірності) та наявності даних;
• точок даних у форматі різних фігур;
• відображення та налаштування по осях X та Y для кожної кривої:
• сітки і поділок;
• діапазону, можливості автомасштабування;
• можливості прокручування;
• відображення шкали для вибраної кривої;
20. Аналізатор процесів: можливості
• у режимі виконання використання кнопок перемотування (див. рис. 7.10)
• "<" – на половину інтервалу назад;
• " <<" – на один інтервал назад;
• " >" – на половину інтервалу вперед;
• " >>" – на один інтервал уперед;
• у режимі виконання для кривих
• зціплювати криві разом;
• синхронізувати з плинним часом;
• виведення легенди з можливістю:
• швидкої зміни основних властивостей кривих;
• відображенням числового значення трендів у потрібній точці часу через
курсор;
• збереження відображених даних у форматі XLS або TXT;
• збереження заданих налаштувань (представлення) у файл "*.PAV" з указаним
ім’ям для можливості відкриття налаштувань звичайним вибором;
• керування та налаштування з Cicode функцій та VBA.
23. Загальна інформація
• трендовий сервер доступний як модуль Historian
• пише:
• значення, відмітку часу
• статусні біти (достовірність, причина зміни і т.п.)
• архівні дані можуть бути доступні з :
• Archive revision screen – перегляд та редагування трендового архіву у
вигляді таблиці;
• Extended Trend – перегляд трендового архіву у вигляді графіків
трендів;
• Report Generator – формування звітів за даними трендів;
• Report Viewer – формування простих звітів за даними трендів;
• zenon Analyzer – аналітичний модуль;
• data evacuation – перенесення даних;
• data export – експортування даних
• підтримує архіви RDA (Real Time Data Acquisition) які можуть бути в ПЛК:
• за відсутності постійного зв’язку з ПЛК;
• за необхідності збереження даних в архіві з дуже маленьким
проміжком часу, який неможливо зчитувати із заданою
періодичністю;
• zenon дає змогу зчитувати змінні з періодичністю понад 100 мс (без
урахування обмежень комунікацій).
24. Конфігурування частоти запису
• базові та агреговані архіви
• способи запису:
• циклічний (Cyclical): указаною періодичністю;
• за тригером (Event-triggered): зміна значення тригерної змінної (0->1);
• відмітку часу можна брати зі змінної, що пишеться,
• так і з тригерної змінної;
• за зміною значення (On-change).
25. Формат збереження та глибина
Формат:
• у внутрішньому форматі (arx);
• текстовому (csv);
• dBase (dbf);
• XML-форматі;
• безпосередньо в базі даних SQL
Глибина:
• "Saving cycle" - новий архівний
файл
• "Storage Duration" - глибина
архіву
• старі файли zenon можна
евакуювати, тобто перенести у
вказане місце:
• у формат SQL (у тому
числі для розміщення
в хмарному сервісі MS
Azure)
• XML,
• CSV
• dBase.
26. Archive revision
• Екран Archive revision надає можливість відобразити поля архіву у
вигляді таблиці
• потрібен не так для перегляду тенденції зміни, як для перегляду значень
та статусів змінних
• Статус вказує на причину зміни та якість змінної
• дає оператору можливість замінювати збережене в архіві значення або
вставляти новий запис
• наприклад для запису достовірного значення (пост-фактум)
• обмежити доступ до цієї функції тільки авторизованим
користувачам
• значення статусу для цього запису зміниться на MAN_VAL
28. Extended Trend: можливості
• налаштування всіх параметрів відображення як у
середовищі розроблення, так і в середовищі
виконання;
• відображення даних:
• у реальному часі;
• архівних з трендового архіву;
• з блока RDA;
• добавлення на тренд кривих реального часу та з
архіву:
• числових змінних;
• дискретних змінних;
• відображення кривої (curve) тренду у вигляді:
• ліній різного кольору, товщини та формату:
неперервної, штрихової, пунктирної і т. п.;
• заповненої області (area) із зазначенням
прозорості;
• інтерполяції даних;
• відображення у вигляді діаграми Ганта;
• відображення даних зі зміщенням;
29. Extended Trend: можливості
• відображення та налаштування по осі Y для кожної
кривої:
• сітки і поділок;
• лінійного або логарифмічного вигляду;
• діапазону, можливість автомасштабування;
• переміщення шкали по горизонталі в будь-
якому місці діаграми;
• відображення та налаштування по осі X
• сітки і поділок;
• перемотування вперед/назад;
• масштабування;
30. Extended Trend: можливості
• відображення та керування курсором;
• виведення легенди з можливістю швидкої зміни
основних властивостей кривих;
• збереження заданих налаштувань як профілю із
зазначеним ім’ям для можливості відкриття
налаштувань звичайним вибором;
• задавання необхідного діапазону часу для
відображення:
• абсолютними величинами;
• відносно плинного часу;
• задавання фільтрів для відображення даних за
ім'ям партії (lot).