Людино-машинні інтерфейси та SCADA
Підсистема керування
збором та обробкою
даних в реальному часі
автор і лектор: Олександр Пупена (pupena_san@ukr.net)
зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
28.09.2020 1
Про БДРЧ
28.09.2020 pupena_san@ukr.net 2
База даних реально часу
28.09.2020 pupena_san@ukr.net 3
База даних реального часу (БДРЧ) – це
сховище тегів (змінних), значення та атрибути
яких постійно оновлюються.
• оновлення диктується необхідністю в
"свіжих" даних для ЛМІ та інших підсистем
• з одного боку - з джерела даних
(наприклад контролера),
• а з іншого – з інших підсистем, які в такому
зв’язку є клієнтами
Сервер вводу/виводу та клієнти можуть
знаходитися як на одному так і на різних
комп’ютерах.
• підсистеми вводу/виводу - драйверами
протоколів або просто драйверами.
• наявність того чи іншого драйверу у
SCADA-програмі може стати визначальним
при її виборі
• уніфікацію інтерфейсу підсистеми
вводу/виводу через технологію OPC
• Сервер вводу/виводу
• підсистеми вводу/виводу
Змінні (Теги)
28.09.2020 pupena_san@ukr.net 4
• БДРЧ вміщує змінні, теги (tag)
• "тег","змінна«, канал, точка в/в
• теги вводу/виводу (змінні
вводу/виводу)
• ідентифікатор або ім'я тегу;
• короткий опис (коментар);
• тип;
• параметри налаштування
вказівки на джерело даних
(наприклад, контролер);
• періодичність оновлення;
• параметри налаштування
масштабування;
• інші параметри • зовнішні ліцензуються
• внутрішні теги, не потребують зв’язку з джерелом; використовуються для
обміну даними між підсистемами SCADA/HMI та збереження проміжних
результатів
• системні теги (наприклад для отримання інформації про дату та час),
математичні, імітаційні чи інші (залежать від SCADA-програми.
Ідентифікація тегів
28.09.2020 pupena_san@ukr.net 5
ім'я тегу – як правило (не завжди) вимоги:
- використовується тільки літери латинського алфавіту, цифри та деякі спец. символи
(не рекомендуємо використовувати кирилицю) ;
- не можуть вміщувати пробілів;
- мають суттєві обмеження на кількість літер
• чітко продумуйте спосіб та правила формування їх імен для конкретного проекту
• Простір імен (перелік найменувань) тегів може мати пласку (flat) або ієрархічну
структуру.
• фільтри у преглядачах
• використання символу "_" в якості розділового знаку (для неструктурних)
Рис.3.1. Використання фільтрів в редакторах
Ієрархічність (Приклад)
28.09.2020 pupena_san@ukr.net 6
• PV: для плинного значення аналогової величини;
• HHSP: для значення уставки верхньої аварійної межі;
• LLSP: для значення уставки нижньої аварійної межі;
• HH: біт, що спрацьовує при перевищенні верхньої аварійної межі;
• LL: біт, що спрацьовує при зниженні за нижню аварійну межу.
Одна змінна TT101: TT101.PV, TT101.HH …
Зв'язок з джерелом даних
28.09.2020 pupena_san@ukr.net 7
необхідно вказати:
• драйвер вводу/виводу, через який
відбувається зв'язок;
• параметри комунікаційних інтерфейсів для
вказаного драйверу та інших драйверів, що
беруть участь в обміні;
• адресу (адреси) пристрою в комунікаційній
системі;
• адресу (адреси) змінних в пристрої;
• Цей перелік може бути доповнений, в
залежності від типу драйверу.
• період опитування може вказуватися в
налаштуваннях драйверу, або безпосередньо в
налаштуваннях тегу.
• У деяких SCADA/HMI період оновлення тегів в
БДРЧ визначається автоматично під час роботи
системи.
Масштабування, діапазони та обмеження на введення
28.09.2020 pupena_san@ukr.net 8
Рис.3.3. Лінійне масштабування.
інженерні одиниці vs одиниці
контролера
• лінійне vs нелінійне масштабування
• вигляд 1 (не дуже зручний)
S = k*R + Sb (3.1)
де S – отримуване масштабоване
значення в інженерних одиницях; R –
вхідне сире немасштабоване значення,
Sb – зміщення; k – коефіцієнт, який
дорівнює тангенсу кута нахилу прямої
масштабування до осі абсцис.
• вигляд 2
• задають макс. та мін. межі для сирого (raw) і масштабованого
(scaled) значення: Rmax та Rmin, а масштабованого як Smax та Smin.
• може використовуватися як нормоване вхідне значення
• може виставлятися обмеження на введення, але деякі SCADA/HMI
дають можливість окремо задавати межі для введення
Одиниці виміру, формат відображення
28.09.2020 pupena_san@ukr.net 9
інженерні одиниці (engineering unit,
EU)
• Величини, що мають дробову
частину, потребують означення
формату відображення.
• після значення будуть
відображатися інженерні одиниці
(EU).
Властивості тегів в режимі виконання
28.09.2020 pupena_san@ukr.net 10
Рис.3.5. Приклади вигляду відображення при
відсутності зв’язку з джерелом даних: ліворуч в
Citect, праворуч в SCADA zenon
Рис.3.6. Вибір бітів статусу тегу в анімації в SCADA zenon
тег в режимі виконання
характеризується :
• плинне значення (Value)
• якість (Quality)
• відмітка часу (Time Stamp)
Типи даних тегів
28.09.2020 pupena_san@ukr.net 11
Рис.3.7. Структурні типи та змінні в SCADA zenon
• тип потрібен для того щоб вірно інтерпретувати для тегу дані на джерелі
(кількість байт, порядок біт, формат)
• при перетворенні (масштабуванні) може потребувати зміни типу.
• Найменування типів в SCADA/HMI може не співпадати з найменуваннями їх в
джерелі даних.
• Останнім часом дані в ПЛК все частіше представляються у вигляді структурних
користувацьких типів (user types).
Пакування бітів в теги
28.09.2020 pupena_san@ukr.net 12
• тег вводу/виводу рахується як ліцензована одиниця
• -> чим більше тегів I/O, тим дорожче буде ліцензія на використання
середовища виконання SCADA/HMI.
• багато типу BOOL.
• прийом: усі значення змінних з типом BOOL пакують в змінні цілого типу
(16-біні INT, UINT, або 32-бітні DINT, UDINT). Тобто в кожен біт цілої змінної
записують значення однієї змінної типу BOOL. Таким чином в упакованому
16-бітному INT можна передати 16 значень BOOL, а 32-бітний – 32.
• в якому стані знаходиться 12-й біт в змінній WPACK типу INT?
WPACK AND 4096 < > 0
4096 <-> 0001_0000_0000_0000.
• записати в 12-й біт 1:
WPACK = WPACK OR 4096
Використання буферів
28.09.2020 pupena_san@ukr.net 13
Використання індексної адресації
28.09.2020 pupena_san@ukr.net 14
Автоматизація створення БДРЧ
28.09.2020 pupena_san@ukr.net 15
• імпортування (import) конфігураційних даних;
• зв’язування (linking, "лінкування") із зовнішньою базою даних.
Автоматизація створення БДРЧ
28.09.2020 pupena_san@ukr.net 16
Citect
28.09.2020 pupena_san@ukr.net 17
Тип
даних
Пояснення Розмір Діапазон
DIGIT
AL
Digital 1 bit або
1 byte
0 or 1
INT Integer 2 bytes -32,768 to 32,767
UINT Unsigned Integer 2 bytes 0 до 65,535
LONG Long Integer 4 bytes -2,147,483,648 до
2,147,483,647
ULON
G
Unsigned Long Integer
(тільки для відображення
на екрані. Не підтримує
арифметичні операції)
4 bytes 0 to 4,294,967,295
REAL Floating Point 4 bytes -3.4E38 до 3.4E38
STRIN
G
String 256
bytes
(maximu
m)
ASCII (null
terminated)
SCADA zenon
28.09.2020 pupena_san@ukr.net 18
SCADA zenon
28.09.2020 pupena_san@ukr.net 19

Підсистема керування збором та обробкою даних в реальному часі

  • 1.
    Людино-машинні інтерфейси таSCADA Підсистема керування збором та обробкою даних в реальному часі автор і лектор: Олександр Пупена (pupena_san@ukr.net) зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua) 28.09.2020 1
  • 2.
  • 3.
    База даних реальночасу 28.09.2020 pupena_san@ukr.net 3 База даних реального часу (БДРЧ) – це сховище тегів (змінних), значення та атрибути яких постійно оновлюються. • оновлення диктується необхідністю в "свіжих" даних для ЛМІ та інших підсистем • з одного боку - з джерела даних (наприклад контролера), • а з іншого – з інших підсистем, які в такому зв’язку є клієнтами Сервер вводу/виводу та клієнти можуть знаходитися як на одному так і на різних комп’ютерах. • підсистеми вводу/виводу - драйверами протоколів або просто драйверами. • наявність того чи іншого драйверу у SCADA-програмі може стати визначальним при її виборі • уніфікацію інтерфейсу підсистеми вводу/виводу через технологію OPC • Сервер вводу/виводу • підсистеми вводу/виводу
  • 4.
    Змінні (Теги) 28.09.2020 pupena_san@ukr.net4 • БДРЧ вміщує змінні, теги (tag) • "тег","змінна«, канал, точка в/в • теги вводу/виводу (змінні вводу/виводу) • ідентифікатор або ім'я тегу; • короткий опис (коментар); • тип; • параметри налаштування вказівки на джерело даних (наприклад, контролер); • періодичність оновлення; • параметри налаштування масштабування; • інші параметри • зовнішні ліцензуються • внутрішні теги, не потребують зв’язку з джерелом; використовуються для обміну даними між підсистемами SCADA/HMI та збереження проміжних результатів • системні теги (наприклад для отримання інформації про дату та час), математичні, імітаційні чи інші (залежать від SCADA-програми.
  • 5.
    Ідентифікація тегів 28.09.2020 pupena_san@ukr.net5 ім'я тегу – як правило (не завжди) вимоги: - використовується тільки літери латинського алфавіту, цифри та деякі спец. символи (не рекомендуємо використовувати кирилицю) ; - не можуть вміщувати пробілів; - мають суттєві обмеження на кількість літер • чітко продумуйте спосіб та правила формування їх імен для конкретного проекту • Простір імен (перелік найменувань) тегів може мати пласку (flat) або ієрархічну структуру. • фільтри у преглядачах • використання символу "_" в якості розділового знаку (для неструктурних) Рис.3.1. Використання фільтрів в редакторах
  • 6.
    Ієрархічність (Приклад) 28.09.2020 pupena_san@ukr.net6 • PV: для плинного значення аналогової величини; • HHSP: для значення уставки верхньої аварійної межі; • LLSP: для значення уставки нижньої аварійної межі; • HH: біт, що спрацьовує при перевищенні верхньої аварійної межі; • LL: біт, що спрацьовує при зниженні за нижню аварійну межу. Одна змінна TT101: TT101.PV, TT101.HH …
  • 7.
    Зв'язок з джереломданих 28.09.2020 pupena_san@ukr.net 7 необхідно вказати: • драйвер вводу/виводу, через який відбувається зв'язок; • параметри комунікаційних інтерфейсів для вказаного драйверу та інших драйверів, що беруть участь в обміні; • адресу (адреси) пристрою в комунікаційній системі; • адресу (адреси) змінних в пристрої; • Цей перелік може бути доповнений, в залежності від типу драйверу. • період опитування може вказуватися в налаштуваннях драйверу, або безпосередньо в налаштуваннях тегу. • У деяких SCADA/HMI період оновлення тегів в БДРЧ визначається автоматично під час роботи системи.
  • 8.
    Масштабування, діапазони таобмеження на введення 28.09.2020 pupena_san@ukr.net 8 Рис.3.3. Лінійне масштабування. інженерні одиниці vs одиниці контролера • лінійне vs нелінійне масштабування • вигляд 1 (не дуже зручний) S = k*R + Sb (3.1) де S – отримуване масштабоване значення в інженерних одиницях; R – вхідне сире немасштабоване значення, Sb – зміщення; k – коефіцієнт, який дорівнює тангенсу кута нахилу прямої масштабування до осі абсцис. • вигляд 2 • задають макс. та мін. межі для сирого (raw) і масштабованого (scaled) значення: Rmax та Rmin, а масштабованого як Smax та Smin. • може використовуватися як нормоване вхідне значення • може виставлятися обмеження на введення, але деякі SCADA/HMI дають можливість окремо задавати межі для введення
  • 9.
    Одиниці виміру, форматвідображення 28.09.2020 pupena_san@ukr.net 9 інженерні одиниці (engineering unit, EU) • Величини, що мають дробову частину, потребують означення формату відображення. • після значення будуть відображатися інженерні одиниці (EU).
  • 10.
    Властивості тегів врежимі виконання 28.09.2020 pupena_san@ukr.net 10 Рис.3.5. Приклади вигляду відображення при відсутності зв’язку з джерелом даних: ліворуч в Citect, праворуч в SCADA zenon Рис.3.6. Вибір бітів статусу тегу в анімації в SCADA zenon тег в режимі виконання характеризується : • плинне значення (Value) • якість (Quality) • відмітка часу (Time Stamp)
  • 11.
    Типи даних тегів 28.09.2020pupena_san@ukr.net 11 Рис.3.7. Структурні типи та змінні в SCADA zenon • тип потрібен для того щоб вірно інтерпретувати для тегу дані на джерелі (кількість байт, порядок біт, формат) • при перетворенні (масштабуванні) може потребувати зміни типу. • Найменування типів в SCADA/HMI може не співпадати з найменуваннями їх в джерелі даних. • Останнім часом дані в ПЛК все частіше представляються у вигляді структурних користувацьких типів (user types).
  • 12.
    Пакування бітів втеги 28.09.2020 pupena_san@ukr.net 12 • тег вводу/виводу рахується як ліцензована одиниця • -> чим більше тегів I/O, тим дорожче буде ліцензія на використання середовища виконання SCADA/HMI. • багато типу BOOL. • прийом: усі значення змінних з типом BOOL пакують в змінні цілого типу (16-біні INT, UINT, або 32-бітні DINT, UDINT). Тобто в кожен біт цілої змінної записують значення однієї змінної типу BOOL. Таким чином в упакованому 16-бітному INT можна передати 16 значень BOOL, а 32-бітний – 32. • в якому стані знаходиться 12-й біт в змінній WPACK типу INT? WPACK AND 4096 < > 0 4096 <-> 0001_0000_0000_0000. • записати в 12-й біт 1: WPACK = WPACK OR 4096
  • 13.
  • 14.
  • 15.
    Автоматизація створення БДРЧ 28.09.2020pupena_san@ukr.net 15 • імпортування (import) конфігураційних даних; • зв’язування (linking, "лінкування") із зовнішньою базою даних.
  • 16.
  • 17.
    Citect 28.09.2020 pupena_san@ukr.net 17 Тип даних ПоясненняРозмір Діапазон DIGIT AL Digital 1 bit або 1 byte 0 or 1 INT Integer 2 bytes -32,768 to 32,767 UINT Unsigned Integer 2 bytes 0 до 65,535 LONG Long Integer 4 bytes -2,147,483,648 до 2,147,483,647 ULON G Unsigned Long Integer (тільки для відображення на екрані. Не підтримує арифметичні операції) 4 bytes 0 to 4,294,967,295 REAL Floating Point 4 bytes -3.4E38 до 3.4E38 STRIN G String 256 bytes (maximu m) ASCII (null terminated)
  • 18.
  • 19.