Матеріали курсу Людино-машинні інтерфейси
Людино-машинні інтерфейси Автор і лектор: Олександр Пупена доц. кафедри АКСТУ НУХТ
Тема. Розробка бази даних реального часу SCADA/HMI.
Тривалість: 8 акад. годин (4 пари).
Мета: ознайомлення з основними можливостями середовища розробки Citect, та опанування роботи зі змінними.
Завдання для виконання роботи
Цілі.
Навчитися створювати, видаляти, архівувати та відновлювати проект Citect.
Навчитися налаштовувати підсистему збору та обробки даних реального часу SCADA Citect.
Навчитися створювати, редагувати та налагоджувати базові елементи SCADA/HMI Citect.
Навчитися створювати та редагувати змінні теги Citect використовуючи вбудовані редактори.
Створити частину проекту зі змінними тегів.
Лабораторна установка
Апаратне забезпечення: ПК.
Програмне забезпечення: UNITY PRO V>=7.0 або Control Expert, Citect 2016 (або новіше)
Примітки щодо відео: представлені в роботі відеоматеріали є студентською інтерпретацією лабораторної роботи, носять ознайомчий характер і можуть містити помилки!
Перед виконанням роботи ознайомтеся з усіма додатками до лабораторної роботи:
Увага! Опис завдання для виконання на лабораторних роботах з дисципліни людино-машинні інтерфейси для Citect є документом, за яким виконуються усі лабораторні роботи по Citect!
Рис.2.1. Запуск середовища розробки Citect Studio
Проконтролюйте відкриття двох редакторів: “Citect Studio” (надалі Провідник ) та “Графический редактор” (надалі графічний редактор).
У провіднику створіть новий проект (рис.2.2):
HMIPupena
. Зверніть увагу, що назва проекту не повинна містити кириличних літер, пробілів і починатися з літери.Рис.2.2 Створення нового проекту
Рис.2.3 Вибір активного проекту для редагування
Завдяки виставленій опції створення проекту на базі початкового автоматично будуть створені: кластер, сервери, пристрої вводу/виводу, основні сторінки, меню, роль Адміністратора, файл Cicode.
Internal
відповідає за внутрішні теги серверу (які не зв’язані з зовнішнім джерелом даних), а Cicode
- для розрахункових тегів.Рис.2.4 Топологія новоствореного проекту
Рис.2.5 Меню та сторінки новоствореного проекту
Рис.2.6 Налаштування відображення прихованих сторінок
Також за замовченням створюються деякі інші об’єкти, які будуть розглянуті у інших лабораторних роботах.
Рис.2.7 Компілювання активного проекту
Компілювання повинно пройти успішно. Для перегляду помилок компілювання можна відкрити спеціально призначене для цього вікно (“Компилировать сообщения”).
Якщо проект скомпілювався, перейдіть до виконання наступного пункту, якщо ні – за допомогою викладача виправте помилки.
Перед тим, як запустити новий проект необхідно налаштувати середовище виконання. Для цього використовується майстер, який Ви запускали на минулій лабораторній роботі.
Рис.2.8 Запуск майстра установки.
Навіть в новоствореному проекті є готові сторінки для перегляду.
Детально ознайомтеся з розділом “7. Вимоги до системи SCADA/HMI. Вимоги до комунікаційного обміну” Завдання.
Для налаштування комунікаційного зв’язку через пристрій вводу/виводу запустіть майстер
Рис.2.9 Запуск майстра налаштування пристрою вводу/виводу
(1) у стартовому вікні натисніть “Далее”;
Рис.2.10. Вікна помічника налаштування комунікацій
(2) у вікні створення серверу залиште “IOServer” – назва серверу вводу/виводу, який буде використовуватися для роботи з пристроями вводу/виводу; зверніть увагу, що у Вашому проекті повинен бути тільки один сервер вводу виводу, оскільки він вже існує – просто виберіть його зі списку;
(3) у вікні створення пристрою вводу/виводу введіть назву пристрою, наприклад “PLCM340”; зверніть увагу, що назва повинна містити тільки літери латинського алфавіту, починатися з літери, не містити пробілів і також інших службових символів (може містити “_”);
(4) у вікні вибору типу пристрою вкажіть “внешние устройства I/O”, так як створені в його межах змінні Citect мають за джерело даних змінні зовнішнього пристрою вводу/виводу;
(5) у вікні вибору моделі пристрою та протоколу вкажіть у розділі “Schneider Electric” -> “М340” -> “Modbus/TCP (Ethernet)”;
(6) у вікні налаштування параметрів TCP/IP вкажіть IP адресу М340, або комп’ютера на якому знаходиться імітатор Unity PRO; якщо імітатор Unity PRO виконується на тому самому ПК що і виконавча система Citect, тут необхідно вписати 127.0.0.1;
(7) вікно означення зовнішньої БД тегів дає можливість підключити або імпортувати зовнішній файл, в якому знаходиться база даних змінних тегів вводу/виводу, що у багатьох випадках скорочує час створення та налагодження проекту; механізми імпорту/експорту на даному етапі використовуватися не будуть, тому у цьому вікні нічого не вказуйте, просто натисніть “Далее”;
(8) у вікні завершення майстра передивіться перелік того, що він буде створювати і натисніть “Готово”.
Зверніть увагу, що для зміни налаштувань існуючих пристроїв вводу/виводу майстер налаштування запускати не потрібно, бо кожного разу у результаті запуску будуть створюватися нові записи в базі даних проекту!
Перевірте результати роботи майстра, переглянувши наступні розділи проекту через провідник(рис.2.11):
Порты
Модулі -> порти -> пристрої вводу/виводу
Рис.2.11. Налаштування пристроїв
У нових програмах Citect (починаючи з версії 2016), є табличні редактори, які можна налаштувати під свої потреби.
Рис.2.12. Налаштування табличного редактору тегів
Имя тега | Тип данных | Устройства | Адрес | Комментарий | Абс.мин.знач | Абс.макс.знач | Мин.знач в ед.изм | Макс.знач в ед.изм | Ед. изм | Формат |
---|---|---|---|---|---|---|---|---|---|---|
T1_LT1 | INT | PLCM340 | %MW100 | Рівень T1 | 0 | 10000 | 0 | 100 | % | ##.# |
D1_LSH | DIGITAL | PLCM340 | %M0 | Сигналізатор верхнього рівня D1 |
Рис.2.13. Створення змінних
Натисніть “Сохранить”
Скомпілюйте проект. Перевірте наявність помилок та попереджень, якщо таких не виявлено – перейдіть до наступного пункту, інакше – виправте помилки.
Рис.2.14. Відкриття сторінки Startup
Рис.2.15 Зміна фону сторінки
Рис.2.16 Налаштування прив’язки до тегів
T1_LT1
та D1_LSH
.Рис.2.17. Зовнішній вигляд сторінки у режимі розробки
Текстові поля створюються з використанням елементу “Текст”, що вибирається з палітри інструментів (рис.2.18) або з меню графічного редактору “Объекты” -> “Текст”. Зверніть увагу, що перед розміщенням на сторінці текстового елементу в ньому необхідно набрати текст.
Для відображення та зміни значення числової змінної скористуйтесь джином “Parameter2” з бібліотеки “keyentry”. Джин – це графічний бібліотечний елемент з вбудованою анімацією. Для прив’язки змінної до анімації, після вставки джина з’явиться вікно прив’язки, куди треба буде вказати змінну. Для відображення та зміни значення дискретної змінної, скористуйтесь джином “On_off_toogle2” з бібліотеки “keyentry”.
Рис.2.18 Створення графічних елементів
З деталями налаштування основних графічних можливостей Citect Ви ознайометесь у наступних лабораторних роботах.
Рис.2.19 Створення користувача
Увага! Якщо користувач не зареєстрований, замість кириличного тексту може з’явитися нечитабельні шрифти. Це пов’язано з тим що за замовченням не виставлена правильна кодова сторінка. Щоб цього позбутися необхідно зареєструватися в системі з вибором криличної мови, у даному випадку Russian. Іншим способом є встановлення в Citect.ini кириличної кодової сторінки за замовченням, що буде розглядатися пізніше в даній лабораторній роботі.
Рис.2.20 Реєстрація користувача в системі
Перевірте чи відображаються значення змінних в середовищі виконання. Якщо замість них відображаються написи “BAD” чи “COM” – це значить, що є проблеми у зв’язку з контролером (або імітатором Unity PRO) і необхідно їх вирішувати за допомогою викладача. У іншому випадку – переходьте до наступного пункту.
T1_LT1
(AIFRC[0]
) та сигналізатора D1_LSH
(DIFRC[12]
) на операторському екрану Screens. Деталі режимів форсування описані у файлі Завдання та перевірялися на початку лабораторної роботі.T1_LT1
. Якщо усі зміни відбуваються коректно – переходьте до наступного пункту.Необхідно періодично робити резервні копії. Це дасть можливість у випадку непередбачуваних змін в проекті відновити стару версію. Також це є самим простим і безпечним механізмом перенесення проекту з одного комп’ютера на інший.
Рис.2.21 Створення резервної копії проекту
Відновлення проекту можна робити і в існуючий проект, але тоді файли існуючого проекту будуть замінені файлами резервної копії. Необхідно дуже уважно ставитися до процедури створення та відновлення резервної копії проекту.
Рис.2.22 Відновлення резервної копії проекту
Увага! Кожного разу по завершенню заняття створюйте резервні копії та забирайте їх з собою, для збереження проекту!
Табличний редактор Citect дозволяє вставляти дані в табличному вигляді скопійовані з інших редакторів, наприклад Excel. Це зручно при підготовці даних і значно прискорює процес розроблення.
Рис.2.23 Вставлення даних в таблицю тегів
При створенні проекту автоматично створюються сторінки для перевірки та модифікації тегів.
Tags -> All Variable Tags
За замовченням сторінка не дає можливості змінювати значення змінної. Для того, щоб активувати таку можливість необхідно налаштувати для неї привілеї, якими повинен володіти користувач.
Рис.2.24 Відкриття сторінки з тегами
Рис.2.25 Зміна налаштувань сторінки з тегами
Рис.2.26 Зміна значення тегу
Рис.2.27. Налаштування змінної масиву
Збережіть і скомпілюйте проект. При вдалому результаті компілювання переходьте далі.
DIFRC
та AIFRC
з таблиці 2 файлу Завдання. Скомпілюйте проект. При вдалому результаті компілювання переходьте далі.Рис.2.28. Налаштування дискретних змінних масиву
Цей пункт треба виконувати, якщо за замовченням в середовищі виконання не відображаються кириличні шрифти.
Рис.2.29 Запуск редактора настройки
Редактор настройки дає можливість змінювати параметри в Citect.ini.
Language
для пошуку параметрів пов’язаних з мовою. Натисніть значок Пошуку. У вікні результатів пошуку виберіть Language Parameters
Рис.2.30 Вікно пошуку параметрів
Рис.2.31 Налаштування кодової сторінки
Для перевірки працездатності змінних тегів можна скористуватися спеціалізованою функцією Citect “TagDebug”, яка викликає вікно перегляду та зміни значення вибраних змінних.
TagDebug()
.Рис.2.32 Налаштування кнопки для виклику вікна перевірки змінних
Запустіть або перезапустіть проект на виконання.
Рис.2.33 Вікно читання/запису змінної, що викликається функцією TagDebug()
У проект необхідно добавити структурні змінні що вказані в таблиці 3 з файлу Завдання. Враховуючи, що назва змінних не може містити крапку “.”, у якості розділового знаку варто використовувати символ нижнього підкреслення “_”. Надалі назва тегів буде мати вирішальне значення для автоматизації розробки людино-машинного інтерфейсу, тому ми рекомендуємо Вам використовувати імена з таблиці 2.1
Таблиця 2.1. Рекомендовані назви змінних тегів відповідно до полів структури
Назва змінної в ПЛК | Рекомендована назва в SCADA Citect | Призначення |
---|---|---|
Dozator1.CV | D1_LC_CV | плинна кількість доз D1 |
Dozator1.PV | D1_LC_PV | задана кількість доз D1 |
Dozator1.START | D1_LC_START | запуск дозування D1 |
Dozator2.CV | D2_LC_CV | плинна кількість доз D2 |
Dozator2.PV | D2_LC_PV | задана кількість доз D2 |
Dozator2.START | D2_LC_START | запуск дозування D2 |
TC1_PARA.pv_inf | HEA_TC1_PVINF | обмеження по мінімуму вхідної величини завдання TC1 |
TC1_PARA.pv_sup | HEA_TC1_PVSUP | обмеження по максимуму вхідної величини завдання TC1 |
TC1_PARA.out_inf | HEA_TC1_OUTINF | обмеження по мінімуму вихідної величини блоку TC1 |
TC1_PARA.out_sup | HEA_TC1_OUTSUP | обмеження по максимуму вихідної величини блоку TC1 |
TC1_PARA.kp | HEA_TC1_KP | Коефіцієнт пропорційності TC1 |
TC1_PARA.ti | HEA_TC1_TI | Час інтегрування TC1 |
TC1_PARA.dband | HEA_TC1_DBAND | Зона нечутливості TC1 |
TC1_PARA.outbias | HEA_TC1_OUTBIAS | зміщення виходу регулятора в П-режимі функціонування (при ti=0s) TC1 |
TC1s_PARA.pv_inf | HEA_TC1s_PVINF | обмеження по мінімуму вхідної величини завдання TC1s |
TC1s_PARA .pv_sup | HEA_TC1s_PVSUP | обмеження по максимуму вхідної величини завдання TC1s |
TC1s_PARA .out_inf | HEA_TC1s_OUTINF | обмеження по мінімуму вихідної величини блоку TC1s |
TC1s_PARA .out_sup | HEA_TC1s_OUTSUP | обмеження по максимуму вихідної величини блоку TC1s |
TC1s_PARA .kp | HEA_TC1s_KP | Коефіцієнт пропорційності TC1s |
TC1s_PARA .ti | HEA_TC1s_TI | Час інтегрування TC1s |
TC1s_PARA .dband | HEA_TC1s_DBAND | Зона нечутливості TC1s |
TC1s_PARA .outbias | HEA_TC1s_OUTBIAS | зміщення виходу регулятора в П-режимі функціонування (при ti=0s) TC1s |
Recipe1.D1Count | T1_KS_D1CNT_SP | рецепт Т1: кількість доз з дозатору D1 |
Recipe1.D2Count | T1_KS_D2CNT_SP | рецепт Т1: кількість доз з дозатору D2 |
Recipe1.T_SP | T1_KS_TT1_SP | рецепт Т1: значення температури нагрівання |
Recipe1.Delay | T1_KS_DEL_SP | рецепт Т1: заданий час витримки |
Recipe2.D1Count | T2_KS_D1CNT_SP | рецепт Т2: кількість доз з дозатору D1 |
Recipe2.D2Count | T2_KS_D2CNT_SP | рецепт Т2: кількість доз з дозатору D2 |
Recipe2.T_SP | T2_KS_TT1_SP | рецепт Т2: значення температури нагрівання |
Recipe2.Delay | T2_KS_DEL_SP | рецепт Т2: заданий час витримки |
Уважно прочитайте додаток 2.2 щоб вірно налаштувати ці змінні. Необхідно врахувати:
необхідність приведення типу TIME до формату Citect (LONG), та правильне їх масштабування (с -> мс)
Address on bad boundary
. Дізнайтеся що це за помилка та виправте її, як описано в додатку 2.2Рис.2.34 Помилки компілювання
За допомогою вікна TagDebug перевірте відповідність значень полів типу TIME структурних змінних ПЛК до змінних Citect (наприклад HEA_TC1_TI
).
За необхідності модифікуйте проект так, щоб всі змінні були налаштовані згідно завдання.