9 Приклади підсистеми тривожної сигналізації в SCADA Citect і SCADA zenon
1. Людино-машинні інтерфейси та SCADA
Приклади підсистеми
тривожної сигналізації в
SCADA Citect і SCADA zenon
автор і лектор: Олександр Пупена (pupena_san@ukr.net)
зворотній зв’язок по курсу: Інтернет-форум АСУ в Україні (www.asu.in.ua)
13.11.2020 1
3. Загальна інформація
• окремо виділений процес – сервер тривог (Alarm Server)
• усі тривоги, крім системних через теги тривог
• теги тривог оброблюються з періодом [Alarm]ScanTime (Citect.ini)
• підтримує тільки стандартний автомат станів
• можна зробити автопідтвердження (Cicode)
• підтримує блоковані тривоги
Сторінки:
• активних тривог (Active Alarms Page);
• апаратних тривог (Hardware Alarms Page);
• блокованих тривог (Disabled Alarms Page);
• журналу зведення тривог (Alarm Summary
Page);
• журналу послідовності подій (Sequence of
Events (SOE) Page);
• банер тривог (Alarm Banner).
4. Атрибути тегів тривог (загальні)
• ім’я тега (унікальне у межах проекту) –> для розроника
• коментар (Comment, Примечание) –> для розробника
• назва тривоги (Alarm Name) – коротка назва тривоги, наприклад,
ім'я, що включає фізичний пристрій, пов'язаний з тривогою -> для
оператора (використання в режимі виконання)
• опис тривоги (Alarm Description, Описание тревоги) – деталізований
опис тривоги -> для оператора, допускає включення в нього змінної
частини.
"Тривога поломки лінії при швидкості {LineSpeed1}“
• сторінка допомоги (Help, Справка) – для виклику сторінки допомоги
• затримка (Задержка, Delay) – затримка на спрацювання (в стандарті
on-delay)
• категорія (Category)
• устатковання (Equipment)
5. Типи тривог
Типи розділені на дві групи:
• конфігуровані тривоги (Defined alarms) – ці тривоги конфігуруються
розробником проекту самостійно:
• дискретні, мульти-дискретні
• аналогові,
• розширені
• з відміткою часу
• дискретні з відміткою часу, аналогові з відміткою часу
• апаратні тривоги (Hardware alarms, Аппаратные тревоги) – ці
тривоги пов’язані з роботою самої системи Citect і не потребують
конфігурування.
6. Дискретна тривога
спрацьовують залежно від стану 2-х
дискретних змінних тегів:
• тег А & тег В = TRUE
• якщо "Variable Tag B" порожнє, то
перевіряється тільки тег А
• можна вставляти перед тегами
оператор "NOT"
7. Мульти-дискретна тривога
• Спрацьовують залежно від комбінації станів 3-х дискретних змінних тегів A, B та C
• для кожної з 8-ми комбінацій станів задається:
• опис тривоги (Состояние)
• умова активації тривоги (Триггер): 1 – задіяти, 0 – не задіяти
• "Состояние 00A" = "@(SM-A1)" –> при спрацюванні тільки тегу А буде
відображатися "SM-A1";
• "Повторный аларм" задає чи треба генерувати нову тривогу при переході з
одного стану активної тривоги в інший стан також активної тривоги;
• функції, які будуть викликатися;
• взаємне програмне блокування у межах однєї групи (Блокировка): з меншим рівнем
блокування блокують з більшим рівнем у межах тієї самої групи
8. Аналогова тривога
• Спрацьовують при виході значення аналогової змінної за одну або декілька
заданих меж;
• тег або Cicode-вираз, значення якого буде перевірятися ;
• Deadband (Зона нечуствит.)
• high alarm, high high alarm, low alarm, low low alarm
• відхилення (deviation alarm): |tag – setpoint|> deviation
• швидкість зміни: зміна значення /[Alarm]Period > Rate (Скорость)
9. Інші типи тривог
Розширені
тривоги/Advanced
Alarm / Расширенные
алармы
Спрацьовують, коли результат Cicode виразу, заданого в
атрибуті Expression (в рос. лок."Выражение"), повертає
TRUE
Тривоги з відміткою
часу/Time Stamped
Alarm/ Алармы с
меткой времени
Подібні до дискретної тривоги, за винятком того, що
відмітка часу спрацювання береться з окремої змінної-
лічильника, що задається в атрибутом Timer Expr. (в
рос.лок."Выражение таймера"); детальніше див. довідник
Дискретні тривоги з
відміткою часу/Time
Stamped Digital
Alarm/Цифровые
алармы с меткой
времени
Подібні до дискретної тривоги, за винятком того, що
дискретні теги тривоги оновлюються за підпискою від
сервера введення/виведення; відмітка часу береться зі
змінного тегу
Аналогові тривоги з
відміткою часу/Time
Stamped Analog
Alarm/Аналоговые
алармы с меткой
времени
Подібні до аналогової тривоги, за винятком того, що
аналогові теги тривоги оновлюються за підпискою від
сервера введення/виведення; відмітка часу береться зі
змінного тегу
10. Категорія тривог (Alarm Category)
Для означення поведінки, схоже за
призначенням на клас в ISA-18.2 властивості:
• номер категорії (аларм теги прив'язуються по
ньому), якщо для тега не вказати номер –
береться 0:
• 0 – за замовченням
• 254 - для зведення тривог (Alarm
Summary);
• 255 - для апаратних тривог (Hardware
Alarm).
• пріоритет тривоги (0 – найвищий)
• шрифти (розмір, колір, шрифт)
• форматування, яке використовується при
появі тривоги;
• дія (через вираз Cicode)
• журнал
• куди виводити
• в SOE завжди
• що (стани) виводити
11. Формат
Для означення формату відображення:
• Alarm Format (Формат аларма)
• Summary Format (Формат сводки)
• SOE Format (Формат SOE)
• формат для кожної категорії окремо підтримується тільки деякими
шаблонами, для Tab_Style та StruxureWare формат означується першим зі
списку:
• параметрами [Format]Alarm, [Format]Summary і [Format]SOE
відповідно;
• форматом означеним в категорії 0;
• форматом за замовчуванням.
• поля, кількість літер, вирівнювання (L (Left), R (Right) або N (None)):
{<ім’я поля>, [кількість літер[, вирівнювання]]}
• між полями можна вказувати текст, знак табуляції (^t)
12. Поля формату SOE (вибірково)
Поле Опис
{Tag,n} Ім’я аларм тегу
{AlarmType,n} Тип тривоги: наприклад "Digital"
{AlmComment,n} Текст, введений для тривоги в полі коментарю
{Name,n} Текст, введений для тривоги в полі імені тривоги
{Desc,n} Текст, введений для тривоги в полі опису тривоги
{Category,n} Номер категорії
{Area,n} Зона
{Priv,n} Привілеї
{Priority,n} Пріоритет
{Type,n} Стан тривоги: ACKNOWLEDGED, CLEARED, DISABLED,
UNACKNOWLEDGED
{LocalTimeDate,n} Дата та час: "yyyy-mm-dd hh:mm:ss[.ttt]"
{Time,n} Час останньої зміни стану (hh:mm:ss).
{Date,n} Дата останньої зміни стану (dd:mm:yyyy).
{Value,n} Плинне значення для аналогової тривоги
{State,n} Плинний стан аналогової тривоги: DEVIATION, RATE, LOW,
LOWLOW, HIGH, HIGHHIGH, CLEARED
{ErrDesc,n} Інформація про апаратну тривогу
{LogState,n} Стан тривоги (для лог-журналу)
13. Поля формату зведення (вибірково)
Поле Опис
{UserName,n} Ім'я користувача, що проводив певні дії з тривогами
(наприклад підтвердження)
{FullName,n} Повне ім'я користувача, що проводив певні дії з
тривогами (наприклад підтвердження)
{UserDesc,n} Текст пов’язаний з подією, записаний користувачем
{OnDate,n} Дата виникнення тривоги
{OnTime,n} Час виникнення тривоги
{OffDate,n} Дата повернення тривоги до нормального стану
{OffTime,n} Час повернення тривоги до нормального стану
{AckDate,n} Дата підтвердження тривоги
{AckTime,n} Час підтвердження тривоги
{SumState,n} Плинний стан тривоги
{SumDesc,n} Плинний опис тривоги
{SumType,n} Стан тривоги: ACKNOWLEDGED, CLEARED,
DISABLED, UNACKNOWLEDGED
{Comment,n} Коментар, який вводить оператор у режимі виконання
14. Журнали тривог та подій
Запис зміни стану тривог в історичні журнал проводиться в трьох варіантах:
Журнал зведення тривог (Alarm summary log):
• зберігається в пам’яті і з певною періодичністю або за подією записується на
диск (задається [DATA])
• проводиться автоматично,
• можна виводити на пристрій системного виведення
Журнал списку тривог (Alarm Log):
• в старих версіях був єдиним способом ведення історії тривог
• зараз стандартним підходом є використання SOE
• реалізований через пристрої системного виведення
• зараз використовується для виведення для сторонніх програм або принтер.
Журнал послідовності подій (SOE, Sequence of Events):
• використовується як єдина база даних тривог та подій
• зручний перегляд та керування записами через вбудовані засоби шаблонів
сторінок та функції Cicode
• фіксує не тільки означені користувачем події, а й системні
16. Сторінка активних тривог
• підтвердження виділеної тривоги або всієї сторінки;
• отримання інформації про тривогу;
• блокування тривоги або всієї сторінки (Disable);
• відтермінувати тривогу або всю сторінку (Disable for…) та (Disable until…)
впорядкування записів за будь-яким полем (зробивши клік на потрібній колонці);
• добавлення та видалення колонок зі сторінки;
• збереження налаштувань вигляду;
• друк та експорт сторінки;
• фільтрація виведених записів за вказаними в фільтрах критеріями (рис. 6.20);
• фільтрація виведених записів за приналежності до устатковання.
17. Зведення тривог та банер тривог
Банер тривог та індикатори зведення статусу тривог
Сторінка зведення тривог
21. Властивості тривог в анімації
• властивості можна використовувати для анімації
• AlarmServer PublishAlarmProperties=True
Alarm_name Property
AlarmName.H
AlarmName.LL
22. Властивості (приклад)
Властивість Опис Доступ
.On =1 – Тривога активна R
.Ack =1 – Тривога підтверджена R/ W
.Disabled =1 – Тривога заблокована R/ W
.Name Ім’я тривоги R
.State Стан тривоги R
.Desc Опис тривоги R
.Tag Ім’я тегу тривоги R
.DVL =1 – активна тривога відхилення (вниз) R
.DVH =1 – активна тривога відхилення (вверх) R
.R =1 – активна тривога швидкої зміни значення R
.L =1 – активна тривога низького значення R
.H =1 – активна тривога високого значення R
.LL =1 – активна тривога критично низького значення R
.HH =1 – активна тривога критично високого значення R
.Value значення змінного тега для тривоги R
.Deviation налаштування значення відхилення R/ W
.HighHigh налаштування критично високого значення R/ W
.High налаштування високого значення R/ W
.LowLow налаштування критично низького значення R/ W
.Low налаштування низького значення R/ W
27. Загальна інформація
• немає явно виділених тегів тривоги
• налаштування:
• конфігурування змінних
• загальних групових налаштувань тривог та подій
• Означення тривог для змінних може відбуватися двома
взаємовиключними шляхами:
• через добавлення в зміну граничних значень (Limit values) із
зазначенням налаштувань, що належать до тривог та подій;
• через створення матриць реакції, в яких налаштовуються
поведінка тривог та подій з подальшою їх прив’язкою до
змінних
• немає явно виділених типів тривог
• виводиться в:
• кільцевий буфер
• опціонально в журнал тривог (AML)
• опціонально в Chronologic Event List (CEL)
28. Кільцевий буфер
• кільцевий буфер (Ring buffer) – спеціально область
оперативної пам'яті:
• записи для активних тривог, неактивні видаляються
• відмітка часу появи – унікальний ідентифікатор
• у вигляді зведення: час появи, зникнення, квітування
• взаємодія (операції підтвердження)
• зберігається також в "alarm.bin" (при закритті Runtime, або
кожного разу при новому записі)
• виводиться в статусний рядок тривоги (Alarm Status Line)
• може виводитися на екран типу Alarm Message List
• якщо кількість тривог > розміру кільцевого буферу – нові
записи не в буфері не створюються
Властивості проекту
29. Журнал тривог (AML)
• паралельно тривоги записуються у файл журналу тривог
Alarm Message List (AML) з розширенням "*.aml"
• записи у вигляді зведення, записи не видаляються
• синхронізується з кільцевим буфером
• файл створюється автоматично для кожного
календарного дня
• керується за допомогою властивості "Save AML data"
• Ім'я файлу тривоги поєднується з буквою "A", а потім – з
датою у формі "JJMMDD" та розширенням ".aml";
"A100623.aml"
• файли видаляються користувачем вручну або функціями
• може виводитися на екран типу Alarm Message List
30. Автомати станів
Кілька автоматів станів для тривог:
• тривоги без необхідності підтвердження;
• тривоги з необхідністю підтвердження (як в ISA-81.2);
• тривоги з необхідністю двостадійного підтвердження, коли тривога
вилучається зі списку активних вручну, навіть коли вона не активна і
підтверджена.
Способи підтвердження тривог:
• через подвійний правий клік по статусному рядку (alarm status bar) або
переглядачі AML;
• через функцію "Acknowledge alarms";
• спеціальну кнопку в переглядачі AML.
31. Підтвердження (ack)
Опції (можна налаштувати на потребу):
• обов’язкового коментування (Comment Required)
• попереднього вибору причини тривоги (alarm cause)
• візуальне підтвердження (Visual acknowledgment) – через спеціальну
кнопку на екрані
Підтвердження може проходити в три етапи:
• візуальне підтвердження;
• підтвердження;
• підтвердження підтвердженого – видалення з кільцевого буфера (при
двостадійному підтвердженні);
35. Групування тривог
• логічне групування через групи тривог/подій (Alarm/event groups);
• класифікація за пріоритетом для кольорового кодування тривог в AML і подій в CEL
(Alarm/event classes);
• групування за розміщенням на виробничому майданчику (Alarm areas).
альтернатива
Areas
36. налаштування змінної
Налаштування класів
Класи тривог/подій (Alarm/event classes) зазвичай використовуються для
пріоритизації тривог
• задається колір тексту в переглядачах AML/CEL
• символ
• функцію
• булеву змінну статусу ("Status variable")
• для контролю
• для блокування всього класу
• можна використовувати в якості пріоритету
37. Налаштування груп
групи тривог/подій (Alarm/Event Group):
• групування за різним принципом:
• тип устатковання
• призначення
• схоже на клас тривог по ISA-18.2
• такі самі налаштування як у класу, за винятком кольору, який стосується не
тексту повідомлення а тільки спеціального індикатора у відповідній
колонці переглядача AML/CEL
налаштування змінної
38. Налаштування ділянок (Area)
ділянки тривог (Alarm areas) – групування за розміщенням
• для фільтрування відображення тривог у переглядачах AML/CEL
• загальна статистика для тривог по кожному класу окремо:
• статусна змінна (Status variable): байтова змінна, в першому біті якої
вказується 1, якщо є активні тривоги, у другому – якщо є
непідтверджені;
• кількість активних тривог (Number of active alarms);
• кількість непідтверджених тривог (Number of unacknowledged alarms).
39. Налаштування ділянок (продовження)
Приналежність до ділянки може вказуватися двома шляхами:
• статично, прив’язавши змінну безпосередньо до потрібних ділянок
(максимум до чотирьох);
• ієрархічно через модель устатковання (Equipment Modelling).
налаштування змінної
можна налаштувати дві змінні, які
будуть встановлюватися в задане в
полі "Acknowledgement value"
значення:
• "Acknowledgement variable" при
підтвердженні тривоги;
• "Visual acknowledgement
variable" при візуальному
підтверджені тривоги.
40. Блокування
Явної можливості блокувати окремі тривоги немає (8.0):
• немає відтермінованих, проектно-блокованих і виведених з
обслуговування тривог
• є можливість групового блокування тривог:
• за групами "Alarm/event group connection active/inactive"
• за класами
• можна індивідуально відключити опитування змінної в т.ч. перевірку
тривог