hmi

Матеріали курсу Людино-машинні інтерфейси

До лабораторної роботи 4

Додаток 4.1. Базові можливості налаштування тривогової підсистеми Citect

Д4.1.1. Загальні відомості

У SCADA Citect функціями тривожної сигналізації (окрім функцій HMI) займається сервер тривог (Alarm Server). Усі тривоги (окрім системних) означуються розробником через тег тривоги (тег аларма, alarm tag), у якому задаються всі налаштування, що відповідають за виявлення тривоги та її поведінку.

У SCADA Citect для тегу тривоги реалізований стандартний автомат станів, який показаний на рис.Д4.1.2, в тому числі підтримує блоковані тривоги. Усі блоковані тривоги в Citect називаються Disabled, хоч у деяких місцях для відтермінованих тривог використовується термін Shelved. У будь-якому випадку, внутрішні механізми організації усіх блокованих тривог однакові з описаними в стандарті ISA-18.2. Для реалізації проектно-блокованих тривог використовуються Cicode функції блокування (AlarmDisable, AlarmDisableREC) та розблокування (AlarmEnable, AlarmEnableREC).

img

Рис.Д4.1.2 Автомат станів тривог

На відміну від підсистем тривог деяких SCADA, у даного продукту немає тривог, що не потребують підтвердження. Тому для реалізації такого типу тривог необхідно робити механізми само-підтвердження.

Більшість тегів тривог оброблюються з періодом [Alarm]ScanTime (задається в Citect.ini).

Тривоги записуються в журнали та виводяться на сторінки:

Для зведення тривог підтримується ведення журналу. Усі системні події та тривоги з активними опціями журналювання записуються в спеціальний журнал Sequence of Events (SOE).

Для тегів тривоги означено ряд атрибутів, які задаються в редакторі (рис.Д4.1.3). Перелік атрибутів залежить від типу тривоги, але деякі з них спільні для всіх. Кожний тег повинен мати ім’я, яке як і тег введення/виведення повинно бути унікальним у межах проекту. Для детального описування тегу можна використовувати коментар (Comment; в рос. лок. “Примечание”). Окрім імені, для тегу задається назва тривоги (Alarm Name) – змістовний опис тривоги, наприклад, ім’я, що включає фізичний пристрій, пов’язаний з тривогою. На відміну від імені тегу тривоги та коментаря, які стосуються розробника проекту SCADA/HMI і не потрібні користувачеві, назва тривоги використовується для відображення на дисплеях.

Рис. Д4.1.3. Приклад налаштування тривог у Citect (вказані вибіркові поля).

Для детального представлення операторові використовується опис тривоги (Alarm Description, в рос. лок. “Описание тревоги”). Цей опис використовується для відображення на дисплеї і записах у журналах і допускає включення в нього змінної частини. Наприклад, якщо в описі тривоги записане значення:

“Тривога поломки лінії при швидкості {LineSpeed1}”

то при формуванні запису замість {LineSpeed1} буде виведене значення тегу LineSpeed1. У фігурних дужках можна вставляти Cicode вирази.

Окрім детального опису тривоги, Citect підтримує також використання сторінки допомоги для тривог, назву яких можна вказати в атрибуті Help (в рос. лок. “Справка”). У цьому випадку при виклику функції AlarmHelp() для виділеної тривоги відкриється сторінка допомоги.

Усі теги тривоги мають атрибут Delay (в рос. лок. “Задержка”), яка вказує на затримку спрацювання тривоги і задається у форматі HH:MM:SS.

Для означення поведінки тривоги на дисплеях (сторінках) тривоги класифікуються через категорії (див. нижче). Тривоги створюються відповідно до вибраного типу.

У стандарті ISA-18.2 одним із атрибутів є група тривог, за якою можна групувати тривоги по відношенню їх до певної частини просу чи устатковання. У SCADA Citect для цього використовується устатковання (Equipment), частиною якого може бути тег тривоги (буде розглядатися у іншій лабораторній роботі).

Д4.1.2. Типи тривог

У SCADA Citect поняття типу тривог збігається зі стандартним (ISA-18.2). Тим не менше, у Citect усі типи розділяються на дві групи:

Короткий опис типів тривог наведений у табл.6.7.

Таблиця Д4.1.1. Типи тривог у SCADA Citect

Назва Citect (укр./англ./рос.лок Умова спрацювання та налаштування
Апаратні тривоги /Hardware alarms/Аппаратные алармы Апаратні тривоги можуть виникати, наприклад, через помилки: комунікаційних; доступу чи роботи серверів; роботи Cicode-функцій. Не конфігуруються розробником, є наперед означеними
Дискретні тривоги/Digital Alarm/Цифровые алармы Спрацьовують залежно від стану 2-х дискретних змінних тегів. Дискретна тривога виникає тоді, коли вирази в полі тег А та тег В будуть дорівнювати TRUE. Якщо поле “Variable Tag B” порожнє, то перевіряється тільки тег А. У поля можна також вставляти перед тегами оператор “NOT” для інверсії умови
Мульти-дискретні тривоги /Multi-Digital Alarm/Многоразрядные алармы Спрацьовують залежно від комбінації станів 3-х дискретних змінних тегів, які вказуються в полях тегів A, B та C (рис. Д4.1.4), мають додаткові налаштування; для кожної з 8-ми комбінацій станів задається опис тривоги (в рос. лок. “Состояние”) та активації тривоги (в рос. лок. “Триггер”: 1 – задіяти, 0 – не задіяти); тобто “Состояние 00A” = “@(SM-A1)” – означає, що при спрацюванні тільки тегу А буде відображатися “SM-A1”; поле “Повторный аларм” задає, чи треба генерувати нову тривогу при переході з одного стану активної тривоги в інший стан також активної тривоги; для переходу між станами тривоги можна задати функції, які будуть викликатися; підтримується взаємне програмне блокування тривог у межах однії групи, яка задається атрибутом Suppression (в рос. лок. “Блокировка”): тривоги з меншим рівнем блокування (Level, в рос. лок. “Уровень”) будуть блокувати тривоги з більшим рівнем у межах тієї самої групи
Аналогові тривоги/ Analog Alarm/ Аналоговые алармы Спрацьовують при виході значення аналогової змінної за одну або декілька заданих меж; у налаштуванні тривоги вказується тег (або Cicode-вираз), значення якого буде перевірятися (рис. Д4.1.5); можна задати Deadband (“Зона нечуствит.”), що відповідає однойменному в стандарті – повернення до норми тільки після проходження цієї зони
та сама Підтримується тривога відхилення (deviation alarm), коли значення відхиляється від значення, заздалегідь означеного в атрибуті “Уставка” (Setpoint) на величину, вказану в атрибуті Deviation (в рос. лок. “Отклонение”); окрім значення, також можна задати затримку на спрацювання
та сама Підтримується тривога швидкості зміни (rate of change alarm), коли значення змінної змінюється дуже швидко; у полі Rate (в рос. лок. “Скорость”) можна задати значення, яке буде використовуватися в якості максимально-дозволеної зміни за період, що задається в параметрі [Alarm]Period; у моменти сканування тривоги (задається параметром [Alarm]ScanTime) перевіряється значення тегу, якщо швидкість його зміни перевищує максимальну – спрацьовує сигнал про швидкість зміни.
Розширені тривоги/Advanced Alarm / Расширенные алармы Спрацьовують, коли результат Cicode виразу, заданого в атрибуті Expression (в рос. лок.”Выражение”), повертає TRUE
Тривоги з відміткою часу/Time Stamped Alarm/ Алармы с меткой времени Подібні до дискретної тривоги, за винятком того, що відмітка часу спрацювання береться з окремої змінної-лічильника, що задається в атрибутом Timer Expr. (в рос.лок.”Выражение таймера”); детальніше див. довідник
Дискретні тривоги з відміткою часу/Time Stamped Digital Alarm/Цифровые алармы с меткой времени Подібні до дискретної тривоги, за винятком того, що дискретні теги тривоги оновлюються за підпискою від сервера введення/виведення; відмітка часу береться зі змінного тегу
Аналогові тривоги з відміткою часу/Time Stamped Analog Alarm/Аналоговые алармы с меткой времени Подібні до аналогової тривоги, за винятком того, що аналогові теги тривоги оновлюються за підпискою від сервера введення/виведення; відмітка часу береться зі змінного тегу

Рис. Д4.1.4. Приклад додаткових налаштувань мультидискретної тривоги

Рис. Д4.1.5. Приклад додаткових налаштувань аналогової тривоги

Д4.1.3. Категорія тривог (Alarm Category)

Для означення поведінки тривоги в налаштуваннях тегу тривоги вказують категорію тривоги (Alarm Category, в рос. лок.”Категория алармов”), в якій задають (рис. Д4.1.6):

Рис. Д4.1.6. Налаштування категорії тривоги

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

Кожна категорія має свій номер, який вказується в атрибуті “категорія” тегу тривоги, щоб віднести її до цієї категорії. Якщо номер категорії в тегу не вказується, то вважається, що це категорія 0. У SCADA Citect деякі номери категорій зарезервовані:

0 – категорія за замовченням, тобто якщо в налаштуваннях тривоги не вказується номер категорії, вважається 0;

254 – для зведення тривог (Alarm Summary);

255 – для апаратних тривог (Hardware Alarm).

Якщо в проекті не створені категорії із зарезервованими номерами, для них використовуються властивості за замовченням. Користуватися номерами не дуже зручно, тому рекомендується використовувати ярлики (Label), які замінюють числа на текстові осмислені повідомлення (застосовуються для будь-яких полів, а не тільки для тривог).

Пріоритет тривоги задає послідовність відображення активних тривог у списку, що відповідає стандарту ISA-18.2. Пріоритет 0 – це найвищий пріоритет, 255 – найнижчий. За замовченням використовується пріоритет 0.

Для категорії можна вказати, чи необхідно виводити дану тривогу на сторінці активних тривог (Show on Active; в рос. лок. “Показывать на активном”) та зведених тривог (Show on Summary; в рос. лок. “Показывать на сводка”).

Для записування подій тривог у файл журналу (текстовий файл, принтер, базу даних) у вигляді зведення, в полі Summary Device (в рос. лок. “Устройство регистрации сводки”) вказується назва системного пристрою, куди треба вести записування. Якщо необхідно вести журнал у вигляді списку, заповнюється поле Log Device (в рос. лок. “Устройство регистрации”). Які саме події необхідно записувати в журнал, вказується вибором TRUE в полях ON, OFF та ACK відповідно. Слід зазначити, що сучасні версії та нові шаблони Citect (від версій 7.5 до 8.1) не потребують означення цих журналів для їх відображення в шаблонних сторінках SOE та Summary. Ці журнали можуть знадобитися для ведення історії в текстових файлах або базах даних для перегляду в сторонніх програмах (див. нижче).

Для означення формату відображення на сторінці активних тривог зведення тривог та SOE використовуються відповідно поля Alarm Format (рос. лок. “Формат аларма”), Summary Format (рос. лок. “Формат сводки”) та SOE Format (рос. лок. “Формат SOE”). Однак формат для кожної категорії окремо підтримується тільки деякими шаблонами. Для шаблонів Tab_Style та StruxureWare формат означується першим зі списку:

При означенні формату у фігурних дужках вказуються поля, кількість літер для відображення та вирівнювання (L (Left), R (Right) або N (None)):

{<ім’я поля>, [кількість літер[, вирівнювання]]}

Між полями можна вказувати знак табуляції “^t”. Для сторінки тривог та SOE дозволяється використовувати поля, неповний перелік яких подано в табл.Д4.1.2.

Таблиця Д4.1.2. Деякі поля для сторінок активних тривог та 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} Стан тривоги (для лог-журналу)

Для сторінки зведення дозволяється використовувати поля, які показані в табл.6.9.

Таблиця Д4.1.3. Деякі поля для сторінок зведення тривог (повний перелік див. в довідниковій системі)

Поле Опис
{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} Коментар, який вводить оператор у режимі виконання

Для ряду тривог можна в полі “Зона” задати номер області (зони, area) процесу, до якого відноситься тривога. Тільки оператор, що має доступ до цієї області буде мати можливість бачити та підтверджувати ці тривоги. Поле “Привилегии” задає номер привілеї, яку повинен мати оператор, щоб могти підтвердити або заблокувати тривоги.

Д4.1.4. Використання властивостей тривог як тегів

У Citect є можливість використовувати властивості тегів тривог в анімації та Cicode функціях. Для цього в якості імені вказується назва тегу тривоги та через крапку властивість, до якої необхідно звернутися. Наприклад, якщо необхідно дізнатися про спрацювання тривоги з ім’ям “CV110_ERROR”, необхідно звернутися до властивості “On”. Тобто:

CV110_ERROR.On

Перелік властивостей даний в табл. Д4.1.4.

Таблиця Д4.1.4. Деякі властивості тегів тривог (повний перелік див. у довідниковій системі)

Власти­вість Опис Доступ Примітка
.On =1 – Тривога активна читання  
.Ack =1 – Тривога підтверджена читання/ записування  
.Disabled =1 – Тривога заблокована читання/ записування  
.Name Ім’я тривоги читання аналогічне полю налаштування тривоги
.State Стан тривоги читання числове значення
.Desc Опис тривоги читання аналогічне полю налаштування аналогових тривог
.Tag Ім’я тегу тривоги читання аналогічне полю налаштування тривоги
.DVL =1 – активна тривога відхилення (вниз) читання тільки для аналогових тривог
.DVH =1 – активна тривога відхилення (вверх) читання тільки для аналогових тривог
.R =1 – активна тривога швидкої зміни значення читання тільки для аналогових тривог
.L =1 – активна тривога низького значення читання тільки для аналогових тривог
.H =1 – активна тривога високого значення читання тільки для аналогових тривог
.LL =1 – активна тривога критично низького значення читання тільки для аналогових тривог
.HH =1 – активна тривога кри­тично високого значення читання тільки для аналогових тривог
.Value значення змінного тега для тривоги читання тільки для аналогових тривог
.DeadBand налаштування зони нечутливості читання/ записування аналогічне полю налаштування аналогових тривог
.Deviation налаштування значення відхилення читання/ записування аналогічне полю налаштування аналогових тривог
.HighHigh налаштування критично високого значення читання/ записування аналогічне полю налаштування аналогових тривог
.High налаштування високого значення читання/ записування аналогічне полю налаштування аналогових тривог
.LowLow налаштування критично низького значення читання/ записування аналогічне полю налаштування аналогових тривог
.Low налаштування низького значення читання/ записування аналогічне полю налаштування аналогових тривог
.HHDelay,.HDelay, .LDelay, .LLDelay налаштування затримок спрацювання читання/ записування аналогічне полю налаштування аналогових тривог
.Rate налаштування швидкості зміни читання/ записування аналогічне полю налаштування аналогових тривог
.Setpoint налаштування уставки для тривоги відхилення читання/ записування аналогічне полю налаштування аналогових тривог

Д4.1.5. Ведення журналів тривог і подій та їх відображення на дисплеях (сторінках)

Запис зміни стану тривог в історичні журнал проводиться в трьох варіантах:

Журнал зведення тривог (Alarm summary log) зберігається в пам’яті і з певною періодичністю або за подією записується на диск у папку, що вказана параметром [DATA]. За замовчуванням це проводиться автоматично, і сторінки зведення можуть показувати зміст журналу. Якщо необхідно зведення тривог переглядати в інших програмах, його можна виводити на пристрій системного виведення (див. Д4.2), наприклад, у текстовий файл або в базу даних.

У старих версіях Citect журнал списку тривог (Alarm Log) був єдиним способом ведення історії тривог. Журнал був реалізований через пристрої системного виведення (див.4.2), який давав змогу виводити тривоги в базу даних, принтер або текстовий файл. Зараз стандартним підходом є використання SOE, тому журнал використовується радше для виведення для сторонніх програм або принтер.

Журнал послідовності подій (SOE, Sequence of Events) використовується як єдина база даних тривог та подій. На відміну від журналів, які організовані через пристрої системного введення/виведення, він надає можливість зручного перегляду та керування записами через вбудовані засоби шаблонів сторінок та функції Cicode. Крім того, він фіксує не тільки означені користувачем події, а й системні. У Citect події (Events) вважаються більш загальним поняттям і включають у себе:

Для відображення активних тривог та журналів використовується вбудована в шаблони сторінок анімація та спеціальні сторінки. У табл. Д4.1.5 ці засоби наведені в контексті їх переліку в ISA-18.2.

Таблиця Д4.1.5. Спеціальні шаблони та елементи сторінок

Засоби Citect (укр./англ./рос.лок Призначення та способи реалізації
Сторінка активних тривог/Active Alarms Page/Активные алармы (рис.Д4.1.7) відображаються усі активні тривоги, тобто які не в стані “норма А”; відображають усю необхідну інформацію про тривоги та надають можливість керувати відображенням та станом тривоги відповідно до вимог ISA-18.2; реалізовуються через шаблони або власні сторінки
Сторінка журналу зведення тривог/Alarm Summary Page/сводка алармов (рис. Д4.1.10) відображаються записи, в яких наведені дата та час всіх подій проходження по автомату станів ; реалізовуються через шаблони або власні сторінки
Банер тривог/ Alarm Banner/Аларм баннер (рис.Д4.1.13) відображається останні тривоги з найвищим пріоритетом та зведення статусу тривог; реалізовуються через шаблони або джини
Сторінка журналу послідовності подій/ Sequence of Events (SOE) Page/Последовательность событий (рис.Д4.1.11) відображаються події, в тому числі системні та тривоги у вигляді хронології подій; реалізовуються через шаблони або власні сторінки
Анімовані елементи на сторінках змінюється візуальне представлення та текст; реалізовуються через використання анімації та джинів з прив’язкою до властивостей тегів тривог
Сторінка апаратних тривог/Hardware Alarms Page/Аппаратные адармы відображаються усі активні апаратні (системні) тривоги; реалізовуються через шаблони або власні сторінки
Сторінка блокованих тривог/ Disabled Alarms Page/Отключенные алармы (рис.Д4.1.12) відображаються усі заблоковані тривоги; реалізовуються через шаблони або власні сторінки

Рис Д4.1.7. Сторінка активних тривог та доступні функції

У SCADA Citect журнал зведення – це своєрідний тип (історичного) журналу тривог, у якому всі події переходу тривоги зі стану до стану записуються в один запис.

На сторінці активних тривог а також частково на сторінці зведення доступні такі функції (див. рис. Д4.1.7):

Як уже було сказано, у стандарті для кожної тривоги можна вказувати групу, до якої вона належить. Групою може бути устатковання або частина технологічного процесу. У SCADA Citect тег тривоги може бути частиною устатковання (Equipment). У цьому випадку для фільтрації записів на сторінці можна використовувати ліву бічну панель, в якій в ієрархічному вигляді представлене устатковання (див. рис. Д4.1.7). Виділивши необхідне устатковання, можна вибрати тільки ті тривоги, що належать до нього. Число праворуч від назви устатковання вказує на кількість активних тривог для нього.

Рис. Д4.1.8. Відтермінування тривог

Рис. Д4.1.9. Вікно налаштування фільтру (ліворуч) та вікно інформації про тривогу (праворуч)

Рис. Д4.1.10. Сторінка зведення тривог

На сторінці SOE доступні всі функції відображення та керування, що вимагаються стандартом ISA-18.2 до дисплеїв журналів тривог. На рис.Д4.1.11 показано тільки частину колонок.

Рис. Д4.1.11. Сторінка послідовності подій SOE

У стандарті ISA-18.2 передбачено три різні способи блокування тривог і відповідно – три окремих дисплеї. У SCADA Citect для цього є тільки одна сторінка, куди виводиться інформація про всі заблоковані тривоги (рис. Д4.1.12). Поле дати часу, до якого діє відтермінування тривоги, може бути пустим; це значить, що це є виведена з обслуговування або проектно-блокована тривога. Якщо необхідно використовувати фільтри, а додаткові поля усі заблоковані, то тривоги можна розподілити на три окремі сторінки. З цієї сторінки необхідні тривоги (або всі) можуть бути розблоковані.

Рис. Д4.1.12. Сторінка заблокованих тривог

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

Рис.Д4.1.13. Банер тривог та індикатори зведення статусу тривог

Дисплей (сторінка) зведення статусу тривог відсутня в наперед визначених шаблонах Citect. Тим не менше, засоби Citect дають можливість реалізувати таку сторінку самостійно. У переліку Cicode-функцій є багато таких, що призначені для роботи саме з тривогами (Alarm Functions). На додаток до цього теги тривог можна використовувати для налаштування та анімації на сторінках.