строїв введення виведення). Відомості про несправності надаються оператору автоматично. Ця функція є повністю інтегрованою в Citect і не вимагає ніякої настройки. Апаратні аларми відображаються на спеціальній сторінці (Hardware Alarm Page).
б) конфігуровані аларми. На відміну від апаратних, для сповіщення оператора про виниклі нештатних ситуаціях (наприклад, при надмірному рівні матеріалу в резервуарі або перегрів двигуна) їх необхідно конфігурувати.
Для обробки аларм необхідно розробити окремі графічні сторінки, на які буде виводитися вся інформація про кожного алармами (а також опис дій, які повинен вжити оператор для виправлення ситуації). Ці сторінки можна відображати на екрані як автоматично, при виникненні АЛАРМ так і але спеціальним запитом оператора, після видачі команди виведення відомостей про алармами.
Атрибути аларм можна використовувати так само, як і звичайні змінні і теги. Зокрема, зміна кольору зафарбовування об'єкта може бути поставлено в залежність від поточного стану АЛАРМ [1].
2.3 Cicode - вбудовану мову програмування
Вбудовані мови програмування - потужний засіб SCADA систем, що надає розробнику гнучкий інструмент для розробки складних додатків. Перші версії SCADA систем або не мали подібних мов, або ці мови реалізовували небагатий набір функцій. У сучасних версіях SCADA систем функціональні можливості мов стають значно багатшими.
У кожній мові допускається розширення набору функцій. У мовах, орієнтованих на технологів, це розширення досягається за допомогою додаткових інструментальних засобів. Розробка додаткових функцій виконується зазвичай програмістами-професіоналами [1].
Розробка нових функцій при другому підході виконується зазвичай розробниками додатків (як і в традиційних мовах програмування).
Повнота використання можливостей вбудованих мов (особливо при другому підході) вимагає відповідного рівня кваліфікації розробника, якщо, звичайно, в цьому є необхідність. Вимоги завдання можуть бути не настільки високими, щоб застосовувати всю «могутність» вбудованої мови.
У додатку, що розробляється створюються програмні фрагменти, що складаються з операторів і функцій мови, які виконують деяку послідовність дій. Ці програмні фрагменти зв'язуються з різноманітними подіями в додатку, такими, як натискання кнопки, відкриття вікна, виконання логічного умови (а + b gt; с). Кожне з подій асоціюється з графічним об'єктом, вікном, таймером, відкриттям/закриттям програми. Коли додаток містить сотні вікон,
тисячі різних графічних об'єктів (а з кожним з них пов'язано кілька подій), у додатку може працювати величезна кількість окремих програмних фрагментів. Велика ймовірність їх одночасної активізації [1].
Кожна з функцій у вбудованому мовою виконується в синхронному або асинхронному режимі. У синхронному режимі виконання наступної функції не починається до тих пір, поки не завершилося виконання попередньої. При запуску асинхронної функції управління переходить наступній, не чекаючи завершення виконання попередньої функції.
У зв'язку з цим виникають кілька запитань: з яким пріоритетом виконується кожний з фрагментів? чи допускається рекурсія при обробці подій і якщо так, то який рівень вкладеності? У SCADA системах рівень вкладеності поки не стандартизований, але обмовляється особливо в рамках кожної з них.- вбудовану мову програмування системи Citect, створений спеціально для моніторингу та управління додатками. Це структурована мова, схожий на Visual Basic або С. Застосування Cicode надає користувачеві доступ до даних проекту в режимі реального часу, а також до всіх змінним, алармами, трендам, звітам і т. Д. Cicode підтримує багатозадачність і віддалений виклик процедур.
Для управління системою Citect і технологічним процесом використовуються команди. Кожна команда має механізм запуску. Команди можуть бути викликані вручну, коли оператор натисне деяку послідовність клавіш або кнопку на графічній сторінці.
Можна призвести конфігурування команд для автоматичного виконання [1]:
- при реєстрації оператора для входу чи виходу з середовища виконання;
- при відкритті і закритті графічних сторінок;
- при спрацьовуванні аларм;
- при спрацьовуванні подій;
- при видачі звітів. вираження є базовими елементами мови Cicode. У виразах можуть бути константи, значення змінних або результати складних обчислень. Вирази можна використовувати для виводу на екран або реєстрації даних для моніторингу та аналізу, для запуску різних станів системи, таких, .як аларми, події, звіти.