Матеріали курсу Людино-машинні інтерфейси
Людино-машинні інтерфейси Автор і лектор: Олександр Пупена доц. кафедри АКСТУ НУХТ
Цей матеріал взятий з посібника Розроблення людино-машинних інтерфейсів та систем збирання даних з використанням програмних засобів SCADA/HMI
Citect SCADA включає в себе комплект ПЗ середовища розроблення і комплект середовища виконання. При інсталяції SCADA Citect вибирається, що саме необхідно встановити. На робочій станції оператора та серверах SCADA необхідне тільки ПЗ комплекту середовища виконання, а на інженерній робочій станції потрібні обидва комплекти.
Проект середовища розроблення Citect – це набір різноманітних файлів, які розміщуються в папці проекту. Для їх редагування передбачено кілька окремих редакторів, для версії Citect SCADA 2018 R2 це:
‒ Citect Studio – для створення і налаштовування логічної частини проекту;
‒ Graphics Builder – для створення і редагування графічних сторінок, а також бібліотечних елементів;
‒ Cicode Editor – редактор файлів мов Cicode та VBA;
‒ Computer Setup Editor – редактор файлу з параметрами citect.ini;
‒ Equipment Editor – редактор устатковання.
Таким чином, щоб створювати або редагувати проект в SCADA 2018 R2, необхідно запустити Citect Studio, а він автоматично відкриє реактор Graphics Builder. Додатково також у наявності є помічники (Wizard), які в інтерактивному режимі допомагають створювати чи налаштовувати проектні дані. Основним редактором є Citect Studio, який є навігатором по проектах і дає змогу не тільки редагувати логічну частину проекту, а й переходити на інші розділи проекту та відкривати відповідні редактори.
Середовище виконання представлене одним основним файлом Citect.exe, який виконує стартовий проект, але може виконуватися в кількох екземплярах (процесах) для кожного сервера і клієнтів. Для керування середовищем виконання є Runtime Manger, за допомогою якого запускають, зупиняють і перезапускають проекти.
Практично усі редактори та середовище виконання орієнтуються на параметри проекту та системи Citect. Параметр – це поіменована змінна середовища, за допомогою якої можна змінювати налаштування середовища розроблення та середовища виконання. Параметри можуть бути частиною проекту (Project Database Parameters) або стосуватися конкретного комп’ютера, де запускається Citect (Citect.ini File Parameters). Перші стосуються тільки поведінки конкретного проекту в середовищі виконання і їх конфігурують у відповідному розділі проекту. Параметри, які записані в Citect.ini, стосуються як середовища розроблення, так і виконання, і мають найвищий пріоритет.
Параметр має ім’я та значення і є частиною якоїсь секції. Параметрами можуть користуватися система Citect (умовно називатимемо системні параметри), драйвери введення/виведення Citect (параметри драйверу) або розробник для власних цілей (користувацькі параметри). Системні та драйверні параметри мають наперед визначені імена та набір значень у певних секціях. Якщо їх не задавати, вони матимуть значення за замовчуванням.
Файл Citect.ini є типовим текстовим ini-файлом, який містить розділи, назви та значення параметрів. За замовчуванням він інсталюється в папку “C:\ProgramData\AVEVA\Citect SCADA 2018 R2\Config”. Для його зміни можна користуватися будь-яким текстовим редактором або спеціалізованою утилітою Computer Setup Editor (рос. лок.”Редактор конфигурирования компьютера”), що поставляється разом з Citect. На рис. 2.4 показаний зовнішній вигляд цього редактору. Він дає можливість знайти наперед визначені параметри і за необхідності їх змінити. Якщо параметра у файлі немає, то вважається що він має значення за замовченням.
При запуску Citect Studio він повинен дізнатися про розміщення папок з файлами середовища розроблення. Шлях до папки з проектними даними вказано в параметрі “User” (див. рис. 2.4), за замовченням це “C:\ProgramData\AVEVA\Citect SCADA 2018 R2\User”. Там знаходиться файл MASTER.DBF, який вказує на проекти, що будуть видимі в редакторі. Слід сказати, що проект може знаходитися в папці User, але якщо його немає в MASTER.DBF, він не буде видимий в Citect Studio. Проект може бути підключений або відключений через добавлення/видалення посилання на проект в Citect Studio.
Середовище виконання – це, по суті, виконавчий файл (або файли) Citect.exe, який може виконувати проект, створений та скомпільований у середовищі розроблення Citect. При запуску середовище виконання повинно знати про те, який саме проект необхідно запустити, а також з якими налаштуваннями (наприклад, де зберігати файли для трендів та тривог, якою буде стартова сторінка і т. д.). Назва та розміщення проекту зберігаються в параметрі “RUN” Citect.ini. Параметр “RUN” може змінювати розробник виділивши в Citect Studio потрібний проект для виконання.
Як видно, для налаштування параметрів середовища розроблення і виконання розробник повинен володіти достатньо великою кількістю знань. Для спрощення налаштування основних параметрів виконавчої системи краще користуватися помічником налаштування комп’ютера, Computer Setup Wizard (рос. лок. “Мастер конфигурирования компьютера”). Цей помічник в інтерактивному режимі налаштовує найнеобхідніші параметри для середовища виконання. Редактор параметрів та помічник налаштування комп’ютера доступні як з меню Windows, так і з Citect Studio.
Рис.2.4. Редактор Citect.ini
Роботи в Citect SCADA передбачають такі основні проектні діяльності.
Усе що створюється і конфігурується в середовищі розроблення Citect, зберігається в проекті. Це можуть бути графічні сторінки, теги, тривоги, налаштування комунікацій, скрипти і т.ін. Усі необхідні файли для середовища розроблення зберігаються в одній папці. Після компіляції в цю саму папку переміщуються і файли для виконання. Властивості проекту дають змогу змінювати його версію, що може допомогти при контролі версій.
Інтегроване середовище розроблення Citect Studio дає можливість відкривати та редагувати кілька проектів. Citect передбачає механізм включення одних проектів, відкритих у Citect Studio, в інші. Це механізм, при якому кілька проектів (Included Projects) включаються в один загальний проект. Тобто розроблення кожного проекту ведеться індивідуально, а основний проект може включати ці проекти шляхом посилання на них. При компілюванні основного проекту будуть компілюватися і файли виконання включених проектів, і вони будуть перенесені в папку основного проекту.
Механізм включення проектів дає змогу:
Рис. 2.5. Включення проектів
Окремим типом включених проектів є системні проекти (System Projects). Це проекти, що постачаються разом з Citect, які передбачені для включення в інші проекти для перенесення туди шаблонів та бібліотек відповідно до обраного стилю. Системні проекти за замовченням не відображаються в переліку Citect Studio, щоб розробник випадкового не міг змінити їх. Для активації їх відображення є відповідна опція “Системні проекти”.
При створенні нового проекту вибирається стиль проекту (див. рис. 2.6). Вибір стилю вказує редактору, які саме системні проекти треба включити в новий проект. Розробник також може вибрати два варіанти створення нового проекту в Citect Studio (див. рис. 2.6):
Рис. 2.6. Включення системних проектів при створенні стартового проекту
Наприклад, у результаті вибору стилю SxW_Style_1 в стартовий проект Project1 буде включено два системні проекти (див. рис. 2.6). Ці проекти, у свою чергу, включатимуть у себе інші системні проекти.
Для редагування проекту Citect Studio його необхідно зробити активним. Після створення проекту типово проводиться конфігурування серверів, введення/виведення, добавлення тегів, розроблення графічної частини і т. п. (див. наступні розділи посібника). Усі зміни в проекті приводять до зміни проектних файлів. Для Citect Studio більшість даних зберігається у файлах *.dbf, які можна редагувати в Excel з використанням Excel AddOn, який поставляється разом з дистрибутивом Citect. Видалення записів у редакторі не приводить до їх вилучення з бази даних, а тільки до відповідної помітки в ній. Тому інколи необхідно робити пакування через відповідний пункт меню проекту, яке видалить усі помічені для цього записи.
Для перенесення проекту на інший ПК або збереження плинної версії Citect Studio надає можливість створити резервну архівну копію проекту. Резервна копія – це архів .zip, який включає усі необхідні файли проекту. Створювати та відновлювати резервну копію можна як в Citect Studio, так і через меню Windows, що дає можливість робити ці операції на робочій станції оператора, на якій не встановлено середовище розроблення. У налаштуваннях майстра можна вибрати проект, який необхідно архівувати, місце розміщення архіву, та різноманітні опції (рис. 2.7). Відновлювати проект можна в папку активного проекту або в нову.
Рис. 2.7. Створення резервної копії проекту та відновлення
Для перевірки працездатності проекту його необхідно скомпілювати через відповідний пункт меню. При невдалому компілюванні у відповідному вікні з’являться повідомлення:
В опціях проекту можна задати режим інкрементної компіляції, при якій буде проводитися компіляція тільки змінених файлів.
Компілювання приводить до створення файлів виконання, серед яких є база даних режиму виконання (RDB, runtime databases), на які перетворюються конфігураційні таблиці.
Після компілювання проекту його необхідно запустити на виконання для перевірки та налагодження. Запуск виконання можна проводити як із середовища розроблення Citect Studio, так і з меню програм Windows. У першому випадку попередньо буде зроблено компілювання проекту, якщо в цьому є необхідність, і проект буде вибраний як стартовий. В обох випадках буде запущений стартовий проект (шлях вказаний у параметрі [Ctedit]RUN файлу Citect.ini).
Для керування середовищем виконання в Citect є спеціальний менеджер (Runtime Manager), який дозволяє запускати, зупиняти, контролювати стан та зупиняти процеси середовища виконання (рис. 2.8). Менеджер запускається автоматично при запуску середовища виконання, його вікно можна відкрити через контекстне меню піктограми в панелі статусу. Враховуючи, що Citect може виконуватися в кількох процесах, кожен з них може керуватися окремо.
Рис. 2.8. Вікно менеджера середовища виконання
Для перевірки та зміни тегів в Citect є шаблон DataBrowse, який виводить значення усіх тегів у вигляді таблиці. Крім того, є функції TagDebug та TagDebugForm, які виводять вікна читання/записування значень тегів.
Теги введення/виведення беруть значення з I/O Device, для яких, виставивши властивість Memory (рос.лок “Память”) в значення TRUE, можна вказати на необхідність “відключення” від зовнішнього джерела. Цей механізм можна використовувати при налагодженні для тимчасового відключення від джерела.
Для налагодження необхідно збирати та аналізувати діагностичну інформацію. Ця інформація може бути отримана такими чином:
Цю інформацію можна аналізувати безпосередньо (журнали зберігаються в папці Logs, наприклад, “C:\ProgramData\AVEVA\Citect SCADA 2018 R2\Logs”) або з використанням спеціального інструмента Citect SCADA Kernel. Kernel (надалі “Ядро”) може виконувати низько-рівневу діагностику та налагодження, аналіз середовища виконання. Він може відображати структури даних нижнього рівня, бази даних реального часу, статистику, мережний трафік, трафік введення/виведення тощо. Детальніше про ядро можна прочитати в посібнику.
Файли проекту виконання для Citect задаються в Citect.ini параметром [RUN] (повний шлях [CtEdit]Run). Після компіляції проекту на інженерній робочій станції шлях розміщення автоматично вказує на папку з файлами проекту режиму розроблення. Для встановлення параметру [RUN] на цільовому комп’ютері рекомендується використовувати Computer Setup Wizard (рос. лок. “Мастер конфигурирования компьютера”). Папку проекту виконання [RUN] бажано розміщувати за тим самим шляхом, де розміщуються включені проекти, тобто в [USER]. Перед цим необхідно туди якимось способом переписати файли з інженерної станції. Після компіляції та налагодження проекту на інженерній робочій станції файли середовища виконання можна передати на цільову систему кількома способами:
Перший варіант є класичним для всіх SCADA/HMI, але незручний і може використовуватися тоді, коли інші варіанти недоступні. Альтернативним близьким варіантом є створення резервної копії з опцією включення скомпільованих файлів та відновлення через майстер, який доступний у меню програм Windows. Зрештою, цей варіант має ті самі результати – копіювання файлів з однієї системи в іншу.
Останній варіант передбачає, що папка проекту виконання відкрита для доступу з мережі і файли туди можна переписати. Цей варіант можна використовувати для клієнтських станцій.
Для мережних архітектур можна використовувати функціональність автоматичного копіювання файлів з папки, вказаної параметром [Copy] ([CtEdit]Copy). Якщо цей параметр містить посилання на директорію, середовище виконання Citect періодично перевірятиме її на наявність файлів, відмітка часу для яких не збігається з однойменними файлами в папці [Run] (навіть якщо вони будуть старіші). Якщо такі файли мають місце бути, вони будуть скопійовані в директорію [Run] із заміною попередніх файлів. Таким чином, на одному з ПК в мережі може бути відкрита для мережного доступу папка з найсвіжішим проектом, куди розробник копіюватиме файли виконання. Усі робочі станції із середовищем виконання будуть посилатися на неї через параметр [Copy]. Слід зауважити, що для коректної роботи слід робити мережний доступ до всієї папки [USER] на файловому сервері і завантажувати туди всі необхідні включені проекти. Таким чином, при необхідності додаткових проектів вони також будуть завантажені на цільову станцію автоматично.
Наразі в Citect для пересилання фалів виконання та їх запуску рекомендується використовувати механізм розгортання – поширення проектів з одного місця на всі необхідні робочі станції та перезапуск середовища виконання. Детальніше про розгортання можна прочитати в посібнику.